3 ms·
Functional programming and GC are slowly moving up. Looking forward to the (pure) Lisp resurgence of the 2020s.
by geophile 9y ago
Functional programming and GC are slowly moving up. Looking forward to the (pure) Lisp resurgence of the 2020s.
- Sammi 9y agoLisp languages aren't really growing. The most hyped lisp style language is Clojure and even it isn't growing. Here's a Google trends comparison of Clojure, Clojurescript, List, Racket, and Scheme: https://trends.google.com/trends/explore?date=2007-01-01%202017-11-29&q=clojure,clojurescript,%2Fm%2F04kyw,%2Fm%2F0974fb,%2Fm%2F06zrb https://trends.google.com/trends/explore?date=2007-01-01%202... Things aren't looking so hot for ML style languages like F#, Ocaml, and Haskell either: https://trends.google.com/trends/explore?date=all&q=%2Fm%2F03j_q,f%23,%2Fm%2F09wmx https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0... The only functional programming language that is showing any real growth is Scala, but that is also modest compared to the ones that are already much bigger or growing much faster: https://stackoverflow.blog/2017/09/06/incredible-growth-python/ https://stackoverflow.blog/2017/09/06/incredible-growth-pyth... Where functional programming is growing is in existing large OO languages. All of them now have lambdas. Most have mature immutable and composable data structure libraries. And other functional style syntaxes like pattern matching are being introduced in many of them.
- yogthos 9y agoThese trends aren't really all that meaningful in practice.
- mrkgnao 9y agoWhy was there such a spike in Haskell searches in August 2015? https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F03j_q,f%23,%2Fm%2F09wmx https://trends.google.com/trends/explore?date=today%205-y&q=...
- charlysl 9y ago"other functional style syntaxes like pattern matching are being introduced in many of them" The Interpreter and its dual the Visitor GOF pattern have made what amounts to pattern matching possible in OO languages for a few decades now [1]. The whole point of these patterns is to write recursive functions following recursive data types, which is one of the main use cases for pattern matching (ok, more generally these are used to break data structures apart). In particular, if you look at an example of the Visitor pattern, you will see that it has exactly the same structure as a recursive function that separates cases in a FP language [2] Here is a detailed explanation of how to do it [3]; it is the "little language" technique (which I suspect is the reason why it is called the Interpreter). [1] https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions/ https://eli.thegreenplace.net/2016/the-expression-problem-an... [2] http://blog.higher-order.com/blog/2009/08/21/structural-pattern-matching-in-java/ http://blog.higher-order.com/blog/2009/08/21/structural-patt... [3] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-005-elements-of-software-construction-fall-2008/lecture-notes/MIT6_005f08_lec15.pdf https://ocw.mit.edu/courses/electrical-engineering-and-compu...
- deleted 9y ago[deleted]