Live data from Hacker News

Hello Haskell, Goodbye Scala

joshbassett.info

1–10 of 118 posts

Re: Hello Haskell, Goodbye Scala

#3
I enjoyed the read, but I borked at your suggestion that not being purely functional, and the language barking at you if you break that convention stops you learning functional programming.

Take most Lisps (I'll assume scheme, because it's what I'm most familiar with), which give you more than enough side-effecty rope to hang yourself with should you so desire- but you won't get far unless you're coding functionally.

Re: Hello Haskell, Goodbye Scala

#4
I can respect and applaud the man for wanting to learn, When I picked up scala I had the same experience he did. When I went to solve a problem I immediately fell back to the imperative style of programming since that's how my brain has worked for a decade. It has taken real time and effort to _try_ and solve problems in a functional manner. Turns out that's a really good and elegant solution for some problems and a skill that's worth developing. If another language makes that training easier then by all means use it. One of the real benefits of scala is you can be useful in it ( just solving the problem ) while you have all the tooling necessary to make those elegant solutions when you have the requisite skill set to implement them. It would be handy if scalac has a setting like -Werror in C land where non-functional constructs would be flagged in the codebase.

Re: Hello Haskell, Goodbye Scala

#5
I've invested a lot of time in trying to learn Haskell properly.

On one hand, it's incredibly rewarding when a completely new and strange concept finally 'clicks', then you write a few lines to test your understanding and it just works.

On the other hand, it's frustrating to realize that there are still a lot of concepts you don't fully grasp, several libs that are still out of your reach, yet another completely new way of structuring your code that you are yet to unravel. Essentially, that you are (I am) still a newbie.

All in all, I find Scala better suited to learning FP and applying your newly-acquired knowledge to develop mildly useful apps, as quick results usually lead to more motivation. Just IMHO.

(Not to mention there are many libs that aren't yet up to par with their JVM counterparts, but that's another can of worms.)

Re: Hello Haskell, Goodbye Scala

#6
post #3

I enjoyed the read, but I borked at your suggestion that not being purely functional, and the language barking at you if you break that convention stops you learning functional programming. Take most Lisps (I'll assume scheme, because it's what I'm most familiar with), which give you more than enough side-effecty rope to hang yourself with should you so desire- but you won't get far unless you're coding functionally.

All kinds of large Lisp codebases are written in an imperative style. There's no reason it's any more difficult to write that kind of code in Lisp than it is in any imperative language.

Re: Hello Haskell, Goodbye Scala

#7
While i liked his gumption, I personally thought god i don't want to do that.. I have been playing around haskell on and off, in my free time, and have come to a conclusion that while it's a fun and cool language to play around, it may not be useful(as in career) hobby. It might be categorized as pure fun language learning.

Re: Hello Haskell, Goodbye Scala

#8

I find it unconvincing. That Haskell deemed is better for learning functional programming for the sake of learning functional programming does not really say much about general usefulness.

And the OP is talking only about learning FP, not about general usefulness.

Not sure what you are unconvinced about.

Re: Hello Haskell, Goodbye Scala

#9
I learned F# as this guy learned Scala. I too dived into Haskell after a while and learnt a lot of new things.

Having learned some great functional tips, I came back to my regular C#/Ruby and applying LINQ and Ruby's blocks seemed more natural to me. However, monads, monoids, functors still don't matter when you switch over.

I've used Yesod to write a small app. A typical form in Yesod (for model binding) has this signature:

newPostForm :: Html -> MForm Blog Blog (FormResult (Text,Text,Text), Widget)

Even after learning Yesod for a while, I wasn't able to completely reason with that signature. Why bother with all the name of the application, sub site, formresult, widget when all you want is just three simple form fields? Rails gives it to you in params[:form]. It's just too easy in Rails with a lot of gems lying around for every task you decide to do. And when you're stuck, you're just a google away from getting your answer.

So my question is: after learning Haskell, do you intend to stick to it? Did I make a wise decision in ditching Haskell?

Re: Hello Haskell, Goodbye Scala

#10
post #8

I find it unconvincing. That Haskell deemed is better for learning functional programming for the sake of learning functional programming does not really say much about general usefulness.

And the OP is talking only about learning FP, not about general usefulness. Not sure what you are unconvinced about.

The title and the first few paragraphs gave the impression that this was an article about the general utility of the two languages. Only half-way down did the truth out.
Post reply on HN