6 ms·
Haskell v Ada v C++ v Awk... An Experiment in Software Prototyping Productivity
- dserban 13y agoThis URL works for me: http://haskell.cs.yale.edu/wp-content/uploads/2011/03/HaskellVsAda-NSWC.pdf http://haskell.cs.yale.edu/wp-content/uploads/2011/03/Haskel...
- agumonkey 13y agoanother source, just in case http://webmail.cs.yale.edu/publications/techreports/tr1049.pdf http://webmail.cs.yale.edu/publications/techreports/tr1049.p...
- dserban 13y agoAbstract (cut-and-pasted from the paper): We describe the results of an experiment in which several conventional programming languages, together with the functional language Haskell, were used to prototype a Naval Surface Warfare Center (NSWC) requirement for a Geometric Region Server. The resulting programs and development metrics were reviewed by a committee chosen by the Navy. The results indicate that the Haskell prototype took significantly less time to develop and was considerably more concise and easier to understand than the corresponding prototypes written in several different imperative languages, including Ada and C++.
- gaius 13y ago... but the Navy went with C++ for the actual system, I'll wager.
- ardz 13y agoHaskell vs Lisp, development time (h): 10 vs 3 This hard fact says more than thousand committee reviews.
- lmm 13y agoOnly once you've measured how buggy the software is, and how much maintenance costs over the full lifecycle.
- ardz 13y agoI have no such problems. Think/hack/try first, code later - this is my advice to you. Pen and paper are my debugging tools, not a type system.
- codingbinary 13y agoAll hail to our coding god. On a serious note: I prefer to trust the typesystem and concentrate on the remaining "real" bugs.
- lmm 13y agoI can do that, and I've used languages and hardware where it was the only option. But I'm much faster and more effective with a type system.
- TheCoelacanth 13y ago> development times usually included documentation time Most likely, the Haskell development time includes the time to write 465 lines of documentation, while the Lisp development time includes the time to write 12 lines of documentation. That makes it pretty obvious where the discrepancy in time comes from.
- lispm 13y agoI would guess that the Lisp version was more descriptive (it had more program lines) and needed thus much less documentation than the Haskell version.
- TheCoelacanth 13y agoI highly doubt that an 85 line Haskell program with 465 lines of documentation had the same amount of time spent on documentation as a 274 line Lisp program with 12 lines of documentation. The Haskell developer clearly put a lot more effort into documentation.
- tempodox 13y agoThat link is dead.
- agumonkey 13y agoThese one are still alive https://news.ycombinator.com/item?id=7029857 https://news.ycombinator.com/item?id=7029857
- tikhonj 13y agoParticularly worth noting is how well a novice Haskeller performed. In particular, the novice's program took the second-least amount of time and was the second shortest. Here's a description: > The Haskell Report was given to a newly hired college graduate, who was then given 8 days to learn Haskell. This new hire received no formal training, but was allowed to ask an experienced Haskell programmer questions as issues came up during the self study. After this training period, the new hire was handed the geo-server specification and asked to write a prototype in Haskell. A college student who had just started learning Haskell eight days ago managed to put out a very credible prototype! Clearly, Haskell is by no means impossible to learn.
- gaius 13y agoBoth Haskell and C++ have come a long way since 1994.