The flow of dominant programming languages has been something like:
Perl -> Java,Ruby(Rails+Gems+APIs) -> Java,Scala,Javascript,Ruby
Not that those are the only ones floating around at our company, but Scala definitely has a leg up.
11–20 of 91 posts
The flow of dominant programming languages has been something like:
Perl -> Java,Ruby(Rails+Gems+APIs) -> Java,Scala,Javascript,Ruby
Not that those are the only ones floating around at our company, but Scala definitely has a leg up.
Scala is probably the larger of the two options - big users notably include Twitter, Linkedin, Morgan Stanley, JP Morgan, Walmart and Reuters.
The use cases for F# tend to be smaller scale and more UI-oriented - internal reporting tools at a hedge fund, for example. That's not to say they are simple CRUD apps, merely that F# apps are not usually massive distributed systems.
I'd guess Scala is the most popular choice, but for nearly every language you'll find a company using it for at least parts of their products.
For that matter, even Clojure has enough imperative parts that I don't consider it to be functional. Maybe I'm just overly strict in my definitions.
Anyway, Elixir qualifies, but isn't heavily used. I hope that changes some day, because it's a beautiful language. It manages to be principled about being functional, while also having an easy learning curve, and rock solid dependability. I want to see Elixir grow, because a language this good deserves to be popular.
According to the Red Monk rankings, Haskell is close to Scala in usage. The learning curve is much higher, but I love writing it. I love the clean, simple code that Haskell pushes me towards, and it usually does the right thing the first time I run it. It seems to be gaining traction lately, and Stack has me excited about the possibility of things ramping up even further.
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.
Scala and F# are probably the most popular enterprise choices. Both connect well to existing infrastructures (JVM, .NET), are relatively easy to train new developers on, and have largish companies backing them. Scala is probably the larger of the two options - big users notably include Twitter, Linkedin, Morgan Stanley, JP Morgan, Walmart and Reuters. The use cases for F# tend to be smaller scale and more UI-oriented…
That's not really true, there's quite a lot of F# use for "big data"/"data science" stuff going on, and one of the other big sells is use for financial analysis (hell, even one of the official tutorials centers around processing raw stock price data).
I would also say that it does appear Clojure is getting some strong uptake in web dev on the JVM, thanks largely to the quality of some of the APIs and libraries for both Clojure and Clojurescript. It's quite possible and even easy to develop your entire web stack in Clojure (I'm currently doing just that at work right now). Heck, if you want to shell out for it, you can even use Datomic and have a database that's built in it ...
Clojure is gaining popularity. Staples uses it (their "SparX" group), and much more notably a Clojure service is used to process every single transaction in Walmart stores.