[ProgSoc] Thinking, Functionally and Imperatively

Roland Turner roland at rolandturner.com
Mon Mar 20 18:40:01 AEDT 2017

I experienced learning Miranda after having learned >30 other languages 
of various types (none functional) as a sort of somewhat agreeable 
brain-damage. I can trace my loss of tolerance for gratuitous complexity 
to the moment when I realised that I could turn my formal specification 
for a text editor (expressed in Miranda) into a running text editor with 
the addition of <20 lines of code.

- Raz


On 18/03/17 13:29, Tomislav Bozic wrote:
> Hi!
> Last Tuesday, having developed a nascent desire to broaden my 
> horizons, I attended an introductory talk on Scala. It was an 
> interesting enough talk. The speaker demonstrated how one could become 
> productive with the language almost right away, even if one was not 
> familiar with the functional paradigm, that is to say, one can program 
> in an imperative style in Scala before moving up to its functional 
> features when one is ready to do so. Most of the stuff relating to 
> 'monads' and 'implicits' went largely over my head. Nonetheless, it 
> has provided a springboard for further exploration of Scala.
> The thing that interested me the most from the meetup, however, was 
> the Q&A session, where an audience member regaled his experience about 
> learning programming languages, which to me was somewhat surprising 
> and unorthodox.
> For you see, he learned Haskell first(!) during his high school years. 
> Then, when he went to uni, he learned Java, which he found to be a bit 
> of a struggle, since he had to adjust to a totally different way of 
> thinking (sound familiar?). He said something along the lines of: with 
> imperative languages such as Java, the programmer is required to keep 
> track of state (of variables and whathaveyou) in their head, whereas 
> functional languages, which are supposed to be stateless, do not have 
> such a requirement...and that threw him off.
> From this, one could conclude that functional languages aren't 
> necessarily harder than imperative languages to learn, they just 
> require you to think differently.
> So I'm wondering if this rings true to you.
> Also, has anyone else here learned how to program in a functional 
> language before touching a more 'traditional' imperative language[1]?
> Tom
> P.S. I should probably go to more of these meetups, if for no other 
> reason than to come up with things to talk about...
> ---
> [Subject:] Kudos to anyone who recognises the allusion in the subject 
> of this email.
> [1] or, as I call it, learning to fly before learning to walk.
> _______________________________________________
> Progsoc mailing list
> Progsoc at progsoc.org
> http://progsoc.org/cgi-bin/mailman/listinfo/progsoc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://progsoc.org/pipermail/progsoc/attachments/20170320/40a5dc4f/attachment.html>

More information about the Progsoc mailing list