Live data from Hacker News

Ask HN: Which functional programming language is the popular enterprise choice?

news.ycombinator.com

51–60 of 91 posts

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#51

Why hasn't haskell become popular?

Very steep learning curve. Months to years to become good at it rather than the weeks to months of the Java/C# style enterprise languages. Needs a more "math like" mindset rather than a step-wise stateful mindset like typical imperative programming languages. If you're not good at abstract math you may never get comfortable with Haskell.

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#52

I guess you'd need to define what you mean by functional language. That term gets thrown around a lot, to the point of meaninglessness. If you mean referentially transparent then neither Scala nor F# are referentially transparent.

I've often seen the term "functional first" used, which would describe F# but not Scala.

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#53

Why hasn't haskell become popular?

I think that it's self-reinforcing. Let's have an honest conversation. Haskell is a great programming language. It might be the best. It is not going to get more than a 20% market share in the programming community. It could get 1 percent, which is about 5 times what it has now (measured in available jobs) and 25 times what it had 5 years ago. It could get 5 percent. It might even get 15 percent. Much of our industry…

What I would like to see happen is less use of general purpose programming languages; and more use of domain specific languages. DSLs give less opportunities for people to shoot themselves in the foot and more possibilities for heterogeneous hardware, parallel programming, static analysis etc. Of course, a small percentage of us will have to write these DSLs and Haskell IMHO is currently the best tool for this.

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#54

Why hasn't haskell become popular?

Very steep learning curve. Months to years to become good at it rather than the weeks to months of the Java/C# style enterprise languages. Needs a more "math like" mindset rather than a step-wise stateful mindset like typical imperative programming languages. If you're not good at abstract math you may never get comfortable with Haskell.

Have you seen C++14 or the complexity of Java stacks like Spring? These also take months or years to learn. At least learning some new abstract math is knowledge that will be useful for the rest of your life.

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#55
post #37

Jane Street is using OCAML. That or F# is my preferred choice. Having said that, the tricky part is sticking to pure FP and coordinating data structures. Not impossible, but it's a foreign area for many shops.

Do you know why Jane Street chose OCaml over Haskell? They have similar performance, right?

Correct question would be - why Yaron Minsky chose OCaml. AFAIK Jane Street uses OCaml because they hired Minsky.

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#57
post #33

Earlier quoted context omitted.

I like Scala, but it's still got mutable state, for loops, and lots of other imperative trappings. It's got some functional features, but I don't consider it to be a functional language (IMHO). If Scala is functional, then so are Ruby, JavaScript, and a host of other languages with higher order functions and the ability to be immutable, so long as you make the effort to not mutate anything (though anything is immutab…

I'm not sure how familiar you are with scala if you are equating them in equal 'functional power' to Ruby and Javascript. Have you read Functional Programming in Scala? The fact that the language supports immutable records out of the box, type classes, monadic comprehension all make it much more pleasant to deal with the realities of immutable data. You can write immutable java, but the language doesn't make it easy…

What's Scala's superior alternative to builder patterns? You can have lots of final members in a constructor in Java, too..

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#58
post #47

Scala is getting big in the enterprise. This list http://www.quora.com/What-startups-or-tech-companies-are-usi... gives a small overview

Scala is not a functional programming language, it is OO first and foremost. It has better support for functional programming than Java 8, Python or Smalltalk. And that in itself is great.

Java 8 has lambdas and lots of streaming functional comprehensions like map, filter, fold etc.

That sounds like all the functional stuff Scala has, right? What's it missing? Also, since when does 'functional' mean 'algebraic types'? Aren't those completely different things? Are common LISP and Scheme 'not as functional as scala'?

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#59

If you consider Scala functional, I think it wins the popularity contest: used by startups and established companies (Linkedin, Twitter, Meetup, Verizon, Morgan Stanley, Autodesk, HuffPo, etc, etc...) and is not "we use it in a dark corner where nobody cares" and more like "betting the whole farm on it".

I would "bet the whole farm" on Haskell before Scala. That's not to make a dig at Scala. It's way better than Java. It's also really complicated, and the need for JVM compatibility is a big part of that. Then you have the compile speed issues, the problematic tool chain, and the fact that average Java programmers, given Scala, will create unmaintainable nightmares. I'd use Scala over Haskell when I wanted JVM interop…

[deleted]

Re: Ask HN: Which functional programming language is the popular enterprise choice?

#60
post #57
post #33

Earlier quoted context omitted.

I'm not sure how familiar you are with scala if you are equating them in equal 'functional power' to Ruby and Javascript. Have you read Functional Programming in Scala? The fact that the language supports immutable records out of the box, type classes, monadic comprehension all make it much more pleasant to deal with the realities of immutable data. You can write immutable java, but the language doesn't make it easy…

What's Scala's superior alternative to builder patterns? You can have lots of final members in a constructor in Java, too..

State monad and/or lenses when appropriate, which is made quite pleasant to use with for comprehension's syntactic sugar.
Post reply on HN