3 ms·
If you’re a working programmer using a mainstream language, then I feel that spending some time with an ML-derived language such as Haskell and a Lisp will pay
by pbourke 6y ago
If you’re a working programmer using a mainstream language, then I feel that spending some time with an ML-derived language such as Haskell and a Lisp will pay dividends in your day to day practice.
There are some keen insights about computing that are revealed by these languages - and those insights are transferable to your daily work in JS, C#, Python, Java, etc to some degree.
- xwdv 6y agoCan you give any examples?
- jimbokun 6y agoLooking backwards, I dug pretty deeply into Clojure for a while. When Streams came to Java, I felt like I was already an expert in that paradigm, and was able to adopt it immediately in ways that made my Java code clearer and more concise, and maybe even more performant in some cases. (Streams can allow you to transform a very long sequence of data, without needing to realize the whole sequence in memory first, as one example.) I also use immutable data structures by default wherever possible, unless I know I really need to mutate the data. I try to make the output of a method dependent only on the inputs, wherever possible. You shouldn't take it to extremes, but incorporating paradigms from one language into another can pay big dividends.
- deleted 6y ago[deleted]
- st1x7 6y ago> and those insights are transferable to your daily work Some people say this, others say that it makes your daily work worse because going back to a language that isn't on the cult-approved list is so difficult.