<div><div class="gmail_msg" style="color:rgb(117,117,117);word-spacing:1px"><div class="gmail_msg" style="color:rgb(49,49,49)">Unfortunately I learned java first before I tried Haskell but I can see why the audience member had to switch thinking processes to understand java and OOP.</div><div class="gmail_msg" style="color:rgb(49,49,49)"><br class="gmail_msg"></div><div class="gmail_msg" style="color:rgb(49,49,49)">Interesting perspective. Maybe I'll try Scala this year as it seems less daunting now (depending on my next role as I may be too busy working with JavaScript and its libraries instead...)</div><div><br></div><div>How about everyone else?</div><div><br></div><div>Jenny (who had to send this once to Tom and then to the Progsoc list. Strange to try to remember to hit Reply All instead of just Reply again)</div><div><br></div></div><div class="gmail_quote"><div>On Sat, 18 Mar 2017 at 4:31 pm, Tomislav Bozic <<a href="mailto:tomchristmas@progsoc.org">tomchristmas@progsoc.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br class="gmail_msg">
<br class="gmail_msg">
Last Tuesday, having developed a nascent desire to broaden my horizons,<br class="gmail_msg">
I attended an introductory talk on Scala. It was an interesting enough<br class="gmail_msg">
talk. The speaker demonstrated how one could become productive with the<br class="gmail_msg">
language almost right away, even if one was not familiar with the<br class="gmail_msg">
functional paradigm, that is to say, one can program in an imperative<br class="gmail_msg">
style in Scala before moving up to its functional features when one is<br class="gmail_msg">
ready to do so. Most of the stuff relating to 'monads' and 'implicits'<br class="gmail_msg">
went largely over my head. Nonetheless, it has provided a springboard<br class="gmail_msg">
for further exploration of Scala.<br class="gmail_msg">
<br class="gmail_msg">
The thing that interested me the most from the meetup, however, was the<br class="gmail_msg">
Q&A session, where an audience member regaled his experience about<br class="gmail_msg">
learning programming languages, which to me was somewhat surprising and<br class="gmail_msg">
unorthodox.<br class="gmail_msg">
<br class="gmail_msg">
For you see, he learned Haskell first(!) during his high school years.<br class="gmail_msg">
Then, when he went to uni, he learned Java, which he found to be a bit<br class="gmail_msg">
of a struggle, since he had to adjust to a totally different way of<br class="gmail_msg">
thinking (sound familiar?). He said something along the lines of: with<br class="gmail_msg">
imperative languages such as Java, the programmer is required to keep<br class="gmail_msg">
track of state (of variables and whathaveyou) in their head, whereas<br class="gmail_msg">
functional languages, which are supposed to be stateless, do not have<br class="gmail_msg">
such a requirement...and that threw him off.<br class="gmail_msg">
<br class="gmail_msg">
 From this, one could conclude that functional languages aren't<br class="gmail_msg">
necessarily harder than imperative languages to learn, they just require<br class="gmail_msg">
you to think differently.<br class="gmail_msg">
<br class="gmail_msg">
So I'm wondering if this rings true to you.<br class="gmail_msg">
<br class="gmail_msg">
Also, has anyone else here learned how to program in a functional<br class="gmail_msg">
language before touching a more 'traditional' imperative language[1]?<br class="gmail_msg">
<br class="gmail_msg">
Tom<br class="gmail_msg">
<br class="gmail_msg">
P.S. I should probably go to more of these meetups, if for no other<br class="gmail_msg">
reason than to come up with things to talk about...<br class="gmail_msg">
<br class="gmail_msg">
---<br class="gmail_msg">
<br class="gmail_msg">
[Subject:] Kudos to anyone who recognises the allusion in the subject of<br class="gmail_msg">
this email.<br class="gmail_msg">
<br class="gmail_msg">
[1] or, as I call it, learning to fly before learning to walk.<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
Progsoc mailing list<br class="gmail_msg">
<a href="mailto:Progsoc@progsoc.org" class="gmail_msg" target="_blank">Progsoc@progsoc.org</a><br class="gmail_msg">
<a href="http://progsoc.org/cgi-bin/mailman/listinfo/progsoc" rel="noreferrer" class="gmail_msg" target="_blank">http://progsoc.org/cgi-bin/mailman/listinfo/progsoc</a><br class="gmail_msg">
</blockquote></div></div>