4 ms·
Haskell vs Lisp, development time (h): 10 vs 3 This hard fact says more than thousand committee reviews.
by ardz 13y ago
Haskell 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.
- lispm 13y agoAs I said, it does not need to, because it is written in a self-descriptive. Writing documentation for Haskell programs seems to be needed - especially short Haskell programs written by experts tends to be cryptic. There was a second Haskell program. 8 hours to write, still far from 3 hours for Lisp.
- TheCoelacanth 13y agoThere is no 85 line program that needs 465 lines of documentation. The developer was clearly over-zealous. The second Haskell developer was a college student who learned Haskell a week earlier; so obviously they are going to take longer.
- ardz 13y agoHaskell's code is not far away from APL. Lots of Haskell code uses single letters instead of descriptive names. This makes it a lot harder to read and forces lengthy documentation: reverse (PS x s l) = unsafeCreate l $ \p -> withForeignPtr x $ \f -> c_reverse p (f `plusPtr` s) (fromIntegral l) form http://www.haskell.org/ghc/docs/latest/html/libraries/bytestring/src/Data-ByteString.html http://www.haskell.org/ghc/docs/latest/html/libraries/bytest... People who write code like this should be banned. Code should be written in a way to be easily read by people, not a compiler. This is not a coincidence that there are 500 lines of documentation. This is how typical Haskell code looks like.
- FreeFull 13y agoBytestring is a widely used library with very special performance requirements, and not a typical example of good Haskell code.
- lispm 13y agoSince the Lisp developers were using 'Relational Lisp', I would guess that there were quite capable. Relational Lisp is another step up from a typical Lisp.