[Haskell-cafe] Investing in languages (Was: What is your favourite Haskell "aha" moment?)

Brett Gilio brettg at posteo.net
Thu Jul 12 06:40:30 UTC 2018


Tony,

I am curious on your attitude towards multi-paradigm and ML-like 
languages. I agree that functional programming is easily the better of 
the bundle in many forms of application logic and elegance (which is why 
I have come to love Scheme and Haskell), but do you see any room for 
those languages like F# or Rust which have large capacities for FP but 
are either functional-first (but not pure) or a hybrid?

Brett Gilio

On 07/12/2018 01:35 AM, Tony Morris wrote:
>   I used to teach undergrad OOP nonsense. I have been teaching FP for 15
> years. [^1]
> 
> The latter is *way* easier. Existing programmers are more difficult than
> children, but still way easier to teach FP than all the other stuff.
> 
> [^1]: Canberra anyone? https://qfpl.io/posts/2018-canberra-intro-to-fp/
> 
> 
> On 07/12/2018 04:23 PM, Joachim Durchholz wrote:
>> Am 11.07.2018 um 16:36 schrieb Damian Nadales:
>>>
>>> I speak only from my own narrow perspective. I'd say programming is
>>> hard, but functional programming is harder.
>>
>> Actually it's pretty much the opposite, I hear from teachers.
>>
>>> Maybe that's why Java replaced Haskell in some universities
>>> curricula
>> The considerations are marketable skills.
>> A considerable fraction of students is looking at the curriculum and
>> at job offers, and if they find that the lists don't match, they will
>> go to another university.
>> Also, industry keeps lobbying for teaching skills that they can use.
>> Industry can give money to universities so this gives them influence
>> on the curriculum (and only if they get time to talk the topic over
>> with the dean). This aspect can vary considerably between countries,
>> depending on how much money the universities tend to acquire from
>> industry.
>>
>>> https://chrisdone.com/posts/dijkstra-haskell-java. For some reason
>>> most programmers I know are not scared of learning OO, but they fear
>>> functional programming.
>>
>> Programmers were *very* scared of OO in the nineties. It took roughly
>> a decade or two (depending on where you put the starting point) to get
>> comfortable with OO.
>>
>>>
>>    I think the reason might be that OO concepts
>>> like inheritance and passing messages between objects are a bit more
>>> concrete and easier to grasp (when you present toy examples at least).
>>
>> OO is about how to deal with having to pack everything into its own
>> class (and how to arrange stuff into classes).
>> Functional is about how to deal with the inability to update. Here,
>> the functional camp actually has the easier job, because you can just
>> tell people to just write code that creates new data objects and get
>> over with it. Performance concerns can be handwaved away by saying
>> that the compiler is hyper-aggressive, and "you can look at the
>> intermediate code if you suspect the compiler is the issue".
>> (Functional is a bit similar to SQL here, but the SQL optimizers are
>> much less competent than GHC at detecting optimization opportunities.)
>>
>>> Then you have design patterns, which have intuitive names and give
>>> some very general guidelines that one can try after reading them (and
>>> add his/her own personal twist). I doubt people can read the Monad
>>> laws and make any sense out of them at the first try.
>>
>> That's true, but much of the misconceptions around monads from the
>> first days have been cleared up.
>> But yes the monad laws are too hard to read. OTOH you won't be able to
>> read the Tree code in the JDK without the explanations either.
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
> 
> 
> 
> 
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
> 


More information about the Haskell-Cafe mailing list