5 ms·
Next year has always been the year that functional programming will take over the world. It's been like that since I started programming in the early 90s. While
by spiralpolitik 11y ago
Next year has always been the year that functional programming will take over the world. It's been like that since I started programming in the early 90s. While functional concepts have leaked into imperative languages, Haskell is the only pure functional language that so far has come close to breaking out although Lisp has also gotten close a few times.
(see also next year will be the year of Linux on Desktop)
- kedean 11y agoClojure and Scala have gotten close as well. I've seen Scala in use at scale at both universities and corporations. Clojure is being used in production by at least a few well known companies, too. Both have the primary benefit of being backed by the JVM.
- tayo42 11y agoScala seems to have some momentum. I've wondered if the companies that have adopted it are using it like jvm haskell or a just a better java?
- hibikir 11y agoFew people are treating it like jvm haskell in production, although a certain subset of really loud people wish it wasn't otherwise. They all tend to work in the same OSS projects, while the rest of the community does their best to pretend they don't exist. I think that the reality of modern scala is that, while there is in no way a unified use of the language, the way to use Scala is in its own, intermediate location. Libraries have big gains from the most exotic features that make it be closer to FP, like higher kinded types. while business code tends to look more like java with case classes and algebraic data types. The difficult part is the fuzzy middle. Another important part of adoption is that Scala's strengths lie in a few good libraries that underpin some great use cases. For instance, using Scalding or Spark as ways to do big data, or building other kinds of distributed systems on top of Akka. For other uses, like writing simple CRUD services, there are many options, and almost all of them are bad, which is why treating the language as just a better Java just doesn't fly.
- merb 11y agoActually sealed traits and case object/case classes and pattern matching is really useful for http programming.
- RobertKerans 11y agoThis is just one [massive] project, but HMRC are rebuilding in Scala atm, & from talking to the developers working on the project, bit of both: selling it as a better Java with all the associated interop with existing stuff, but individual devs attracted by the functional side. The Guardian seemed to have similar reasoning.
- runT1ME 11y agoVerizon is one of the bigger scala shops (a few hundred scala programmers on a "project") and is much closer to the functional side than a better Java. However, micro services and good library support mean some of the less experienced teams (in FP) use it more of Java++. Both are very pleasant to maintain/work on though.
- aphexairlines 11y agoThird option: like a JVM ML.
- angryasian 11y agoWith the popularity of Apache Spark in big data, Scala is definitely gaining a lot of traction.
- eru 11y ago> While functional concepts have leaked into imperative languages, [...] I predict we'll see more and more of that, but never a great breakthrough: - appreciation of pure functions and immutability - optional typing even in Python - Garbage collection (mainstream since Java) - higher order functions - algebraic data types (in Scala, sort-of possible in C++ boost, and even in protobuf) - etc
- TheWiseOne 11y agoF#? It's used by a few big names (Bayard Rock, Tachyus, Jet.com, BlueMountain Capital, Microsoft Research, etc.) and it looks to be gaining more mainstream acceptance.
- JBReefer 11y agoJet.com does a ton of F# advocacy here in Silicon Alley
- datashaman 11y agoElixir is promising. http://elixir-lang.org/ http://elixir-lang.org/
- markatkinson 11y agoAnd really enjoyable... That's what really counts right?
- datashaman 11y agoCouple that with Phoenix (which looks and acts like most other MVC frameworks [and has good docs]), and we have a win I think. And yes, it's quite fun (and mind-bending at the same time, in a good way).
- FlyingSnake 11y agoClearly you haven't worked with EXRM and the 'no documentation outside hello-world' Ecto query. /s
- datashaman 11y agoSeems comprehensive: http://hexdocs.pm/ecto/Ecto.Query.html http://hexdocs.pm/ecto/Ecto.Query.html Disclaimer: complete Elixir noob
- pjmlp 11y agoPure FP might not have taken over the world. But those that read my Java, C# and C++14 code, better know their way around lambda calculus.