12 ms·
I believe in advoacy by doing things, and yes, arguments without dollar figures attached are less convincing. Studies on programmer productivity are rare, but
by dons 17y ago
I believe in advoacy by doing things, and yes, arguments without dollar figures attached are less convincing.
Studies on programmer productivity are rare, but a different argument might be found in where Haskell (for example) is used when correctness matters. For example, in hydraulic control of vehicles at Eaton, or secure cryptographic algorithms at Galois. Python isn't going to fly when you need to convince people of correctness, while Haskell (for example) does have tools and approaches that work.
I wrote a post last year on the collective experiences of engineers at Galois after using Haskell for the past decade, which has some nice anecdotes, http://www.galois.com/blog/2009/04/27/engineering-large-projects-in-haskell-a-decade-of-fp-at-galois/ http://www.galois.com/blog/2009/04/27/engineering-large-proj...
The other data point is the way finance has jumped on functional programming -- often because they can see a (huge) dollar figure in (small?) improvements in productivity or correctness. Jane Street, Barclay's, Credit Suisse, ABN Amro, Standard Chartered, JP Morgan and others (http://cufp.org http://cufp.org) don't use FP because it is a fad.
- cageface 17y agoThe correctness argument is interesting, but certainly plenty of critical-to-be-correct software has been written in imperative languages too. I'd like to see something closer to hard numbers on bug counts, man hours etc on similar projects in Haskell or ML vs C++ or Java, for instance. I realize it's hard to find a truly apples to apples comparison here. The uptake of FP in finance is interesting. I'd like to hear more about exactly how FP is being used in these contexts. Is it used in a narrow, specialized domain or broadly? To what extent are the advantages of FP in this domain realizable in others? Is FP only suitable for small, elite teams or can mainstream programmers pick it up with the right training? To what extent does the less mature or less conventional toolchain offset the advantages of the language itself?
- dons 17y agoCheck the experience reports from CUFP for such examples: * http://haskell.org/haskellwiki/Haskell_in_industry#Haskell_in_Industry http://haskell.org/haskellwiki/Haskell_in_industry#Haskell_i... Barclay's Capital has written a journal article on why they use FP (Haskell in this case): http://lambda-the-ultimate.org/node/3331 http://lambda-the-ultimate.org/node/3331
- cageface 17y agoThanks for the links. Looks like some good afternoon reading. It's interesting that the Barclay's article discourages overuse of the point-free style. In my attempts at learning Haskell I've also found heavy use of this style can make Haskell code hard to understand.
- jrockway 17y agoFP is also catching on at BAML; we have a bit of production Haskell, and are starting to hire Scala developers instead of Java developers for new projects. (Java developers are too hard to find. Never thought I'd be saying that...) Of course, most of the code that actually makes us money is Excel spreadsheets :)
- dons 17y agoGreat to know! You should add a small entry to http://haskell.org/haskellwiki/Haskell_in_industry#Haskell_in_Industry http://haskell.org/haskellwiki/Haskell_in_industry#Haskell_i... ...