Live data from Hacker News

Hello Haskell, Goodbye Scala

joshbassett.info

11–20 of 118 posts

Re: Hello Haskell, Goodbye Scala

#11
For personal projects or for learning the principles of FP, there is nothing wrong with using Haskell.

From personal experience however, I will not be using Haskell again for a larger professional project, because our team ran into too many time consuming issues and problems that have been solved successfully in other languages/environments (especially the JVM) like dependency management or reasoning over runtime characteristics before deploying the application on production systems. Especially memory consumption is very hard to predict.

Of course, the language also has its benefits and even after some years it tickles your brain just the right way.

I like programming in Haskell very much, but in real world projects (you know - when you work in a team not only consisting of PhDs) I prefer Scala or Java, because getting a war file deployed or profiling an application is just so much easier.

YMMV, of course.

Re: Hello Haskell, Goodbye Scala

#12
post #8

Earlier quoted context omitted.

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.

Maybe one shouldn't make general comments about a piece one hasn't read in its entirety.

Especially for an 11 small paragraphs piece.

Re: Hello Haskell, Goodbye Scala

#14
post #12

Earlier quoted context omitted.

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.

Maybe one shouldn't make general comments about a piece one hasn't read in its entirety. Especially for an 11 small paragraphs piece.

I did read it fully. Then I commented that I found it unconvincing, which in my book is one step below misleading.

Re: Hello Haskell, Goodbye Scala

#15
post #11

For personal projects or for learning the principles of FP, there is nothing wrong with using Haskell. From personal experience however, I will not be using Haskell again for a larger professional project, because our team ran into too many time consuming issues and problems that have been solved successfully in other languages/environments (especially the JVM) like dependency management or reasoning over runtime cha…

When did you use Haskell?

The dependency hell situation has vastly improved (and there are plans to make it much better still).

I agree that a downside of Haskell's very high level nature is difficulty to predict some runtime characteristics. This is just an instance of the general trade-off between low-level and high-level languages. Everyone is already comfortable with the loss of easily predictable performance incurred by GC, but people are still not comfortable with the same w.r.t laziness.

I use Haskell for real world projects, and I find it more practical and more suitable than any other language I've ever used. Laziness rarely bites me, and has incredible real-world benefits such as easy refactoring and simpler code.

I think the silliness about PhD's is very very silly. Of the Haskell programmers I know, the majority don't have a first degree...

About profiling -- I have never profiled a Scala/Java application, but how much easier is it compared with: "cabal configure --enable-executable-profiling", and then running the program with "+RTS -p"? It may not be point-and-click, but it really is not hard at all.

Re: Hello Haskell, Goodbye Scala

#16
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.

I haven't seen much functional code in elisp, which is the Lisp I most commonly read.

Some Common Lisp code I saw was also very imperative.

Scheme seems to be a more functional language, but I don't really see why people consider other Lisps any more functional than say, Python.

Re: Hello Haskell, Goodbye Scala

#17
post #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…

I personally find the "universe of knowledge" to attain an attraction, not a repellent.

Re: Hello Haskell, Goodbye Scala

#18
post #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 si…

Why not define a type alias?

  type AppForm a = Html -> MForm Blog Blog (FormResult a, Widget)
And then you get:

  newPostForm :: AppForm (Text, Text, Text)

Re: Hello Haskell, Goodbye Scala

#19
post #15
post #11

For personal projects or for learning the principles of FP, there is nothing wrong with using Haskell. From personal experience however, I will not be using Haskell again for a larger professional project, because our team ran into too many time consuming issues and problems that have been solved successfully in other languages/environments (especially the JVM) like dependency management or reasoning over runtime cha…

When did you use Haskell? The dependency hell situation has vastly improved (and there are plans to make it much better still). I agree that a downside of Haskell's very high level nature is difficulty to predict some runtime characteristics. This is just an instance of the general trade-off between low-level and high-level languages. Everyone is already comfortable with the loss of easily predictable performance inc…

>When did you use Haskell?

Roughly two years ago.

>I think the silliness about PhD's is very very silly.

Of course it is. I just wanted to make a point that the "average programmer" has probably never seen a single line of ML-syntax before.

>About profiling -- I have never profiled a Scala/Java application, but how much easier is it compared with: "cabal configure --enable executable-profiling", and then running the program with "+RTS -p"? It may not be point-and-click, but it really is not hard at all.

I don't remember exactly what we tried, what worked and what didn't; we had no experts on the team, and just came to the conclusion that hooking up jconsole/yourkit/ to a running jvm process and see what's happening in real time on an app server was so much more comfortable.

Re: Hello Haskell, Goodbye Scala

#20
post #11

For personal projects or for learning the principles of FP, there is nothing wrong with using Haskell. From personal experience however, I will not be using Haskell again for a larger professional project, because our team ran into too many time consuming issues and problems that have been solved successfully in other languages/environments (especially the JVM) like dependency management or reasoning over runtime cha…

What is a war file?
Post reply on HN