4 ms·
As Evan Czaplicki (creator of Elm) said: “If functional programming is so great, why is it still niche? We have a product that can practically eliminate runtim
by modernerd 9y ago
As Evan Czaplicki (creator of Elm) said:
“If functional programming is so great, why is it still niche? We have a product that can practically eliminate runtime errors, make refactoring much easier, lighten the testing burden, all while being quite delightful to use. What’s the hold up?”
- http://www.elmbark.com/2016/03/16/mainstream-elm-user-focused-design http://www.elmbark.com/2016/03/16/mainstream-elm-user-focuse...
I'm just getting into Clojure and enjoy working with it so much that I don't care if there are job opportunities at the end of it to justify the time investment and mind-reboot. It's the first language that I didn't feel like I was fighting, and Parinfer has made all those “weird parentheses“ a joy: https://shaunlebron.github.io/parinfer/ https://shaunlebron.github.io/parinfer/
That said, there do seem to be more opportunities than last time I looked at Clojure/Scala/Haskell (Functional Works, mentions in HN Who's Hiring) – it feels like people are waking up to FP ideas after React stormed the front-end scene.
- StreamBright 9y agoI am not sure it is niche anymore. Java 8 added many functional features to Java. :)
- allover 9y agoFunctional 'concepts' are not niche, but functional languages still are. If you asked your average Java 8 programmer or JS programmer to write an app in Haskell or Elm, they'd struggle.
- jwdunne 9y agoI'd consider myself an average JS programmer and would love to try writing web apps in Haskell. I've spent some time on Haskell books, fell in love with the type system, got a basic understanding of monads but found it difficult to "move forward". I think the issue for me is I predominantly build web apps. Can you recommend any resources for building modern web apps in Haskell or at least fitting it into my day to day at work?
- ff_ 9y agoTry PureScript! [1] Haskell-like (but taking away some of the pain points), for the frontend, compiles to very readable javascript. [1]: http://www.purescript.org/ http://www.purescript.org/
- hellofunk 9y agoUnfortunately, does not use persistent data structures.
- purescript 9y agoYes it does.
- deleted 9y ago[deleted]
- jwdunne 9y agoThat looks really cool :) does it still depend on Bower?
- ff_ 9y agoThere's no "dependency" per se, but in practice most of the community still uses bower. There's an effort to make something better and on the same vibe as Haskell's `stack`, which is `psc-package` [1]. I switched to it for all new projects, and while it still has some rough edges, I don't really miss bower. [1]: https://github.com/purescript/psc-package https://github.com/purescript/psc-package
- hellofunk 9y agoSo did C++. But you can't program C++ or Java in a functional manner the way you can an actual FP language. Largely due to lack of proper data structures for FP.
- noncoml 9y ago> “If functional programming is so great, why is it still niche? We have a product that can practically eliminate runtime errors, make refactoring much easier, lighten the testing burden, all while being quite delightful to use. What’s the hold up?” I think they are over-estimating how much people care about runtime errors.
- threeseed 9y agoEspecially on the JVM where most exceptions need to be explicitly handled and the ones that aren't can be handled in a way that doesn't impact users.
- noncoml 9y agoelm-lang is a front-end only language compiled to JS(at the moment). JVM doesn’t apply hence.
- hellofunk 9y agoI agree. I've worked in both Elm and ClojureScript. In one, I have to constantly deal with compiler errors. In the other, about as much runtime errors. The net time for error handling is the same. But the net time in actually writing code is in favor of ClojureScript, which requires at least half as many lines as Elm (and often much less than half). Error handling is somewhat over-emphasized in comparison to other things that affect productivity (and maintainability).
- deleted 9y ago[deleted]
- BoiledCabbage 9y ago> “If functional programming is so great, why is it still niche? It's niche because learning a language is the exact opposite of fast iterative process with immediate feedback. The feedback cycle of learning and evaluating a language is 6th months to multiple years, which means it takes a lot to really evaluate one. Then the added issue of network effects (ie needing others to know the language in a team).
- anon335dtzbvc 9y agowhy do we need Parinfer, why not dropping parentheses altogether in favour of itendantion
- erik_seaberg 9y agoIf I type () I have every reason to expect you'll see them, because nobody foolishly writes tools that mangle them.