[HN Gopher] Haskell, Ada, C++, Awk: An Experiment in Prototyping...
       ___________________________________________________________________
        
       Haskell, Ada, C++, Awk: An Experiment in Prototyping Productivity
       (1994) [pdf]
        
       Author : Akronymus
       Score  : 46 points
       Date   : 2022-12-10 20:14 UTC (2 hours ago)
        
 (HTM) web link (www.cs.yale.edu)
 (TXT) w3m dump (www.cs.yale.edu)
        
       | atty wrote:
       | So if I'm parsing the results correctly they only have a single
       | data point per language? Seems like they are testing individual
       | programmers styles/speed just as much as they are testing the
       | languages.
        
         | charcircuit wrote:
         | They have 2 data points for Haskell since the one of the
         | authors wrote a Haskell one which happened to have the fewest
         | lines and highest documentation to code ratio.
        
       | js8 wrote:
       | Are there any more recent studies?
        
       | melling wrote:
       | 30 years ago Haskell was the winner. Conciseness was a major
       | feature.
       | 
       | Has anyone put this to the test on larger projects?
       | 
       | 10,000 lines of Haskell have the same functionality as 100,000
       | lines of C++?
        
         | eddsh1994 wrote:
         | I worked on https://github.com/input-output-hk/cardano-node if
         | you want to see a large haskell code base
        
         | gavinray wrote:
         | I work at one of the largest Haskell-in-production companies in
         | the world
         | 
         | There are issues outside of the actual authorship of code you
         | need to take into account if you want to choose Haskell. I'll
         | leave it at that.
         | 
         | It's a fantastic language undoubtedly.
         | 
         | But if you've never experienced the maintenance and upgrade of
         | a very large Haskell codebase over a period of years,
         | especially if you have a big dependency-tree, and need to
         | interface with external tools (database drivers, etc.) I'd urge
         | you to talk to someone who has for a view into the experience.
         | Also ask about the state of things like profiling and compiler
         | bugs/memory leaks.
         | 
         | EDIT: I want to note that the state the general Haskell
         | ecosystem/tooling has improved at a dramatic pace in the last
         | ~3-4 years, with the advent of HLS and recent GHC releases.
        
         | amelius wrote:
         | Sounds great except it takes 10x as much time to read/write the
         | Haskell code versus C++.
        
           | melling wrote:
           | The chart did indicate that 85 lines of code did take a while
           | to write but the 1100 lines of C++ likely took longer. Many
           | developers claim that Haskell code has fewer bugs. Program
           | correctness counts for something.
           | 
           | Anyway, a modern competition with Python, Swift, Java, Modern
           | C++, Rust, etc would be interesting.
           | 
           | Java 1.0 wasn't even available when this paper was written.
        
           | MaxBarraclough wrote:
           | Page 9 shows Haskell scoring very well for development time
           | when compared against Ada. C++ development time was
           | unfortunately not reported.
        
             | synack wrote:
             | Ada projects tend to start slow, but readability and
             | flexible namespacing make refactoring and maintenance much
             | easier.
        
       | charcircuit wrote:
       | The small sample size and age of the experiment makes it not very
       | relevant to today.
        
       | dang wrote:
       | Related:
       | 
       |  _Haskell, Ada, C++: An Experiment in Prototyping Productivity
       | (1994) [pdf]_ - https://news.ycombinator.com/item?id=19570776 -
       | April 2019 (55 comments)
       | 
       |  _Haskell vs. Ada vs. C++ an Experiment in Software Prototyping
       | Productivity (1994) [pdf]_ -
       | https://news.ycombinator.com/item?id=14267882 - May 2017 (59
       | comments)
       | 
       |  _Haskell vs. Ada vs. C++ vs. Awk vs (1994) [pdf]_ -
       | https://news.ycombinator.com/item?id=13275288 - Dec 2016 (68
       | comments)
       | 
       |  _Haskell, Ada, C++, Awk: An Experiment in Prototyping
       | Productivity (1994) [pdf]_ -
       | https://news.ycombinator.com/item?id=7050892 - Jan 2014 (24
       | comments)
       | 
       |  _Haskell v Ada v C++ v Awk... An Experiment in Software
       | Prototyping Productivity_ -
       | https://news.ycombinator.com/item?id=7029783 - Jan 2014 (23
       | comments)
        
       | tmtvl wrote:
       | I am very impressed that when most languages have a development
       | time in the double digits (including the initial Haskell
       | implementation), the Lisp version was developed in 3 hours.
       | 
       | If the codebases are publicly available it would be interesting
       | to see how understandable they are.
        
         | gleenn wrote:
         | What do you mean by "double digit times"? Your whole statement
         | is almost completely lost because I can't tell if you think
         | Lisp is fast or slow. Generally people say Lisps are good at
         | prototyping and I'd agree, Clojure is super fast.
        
           | tmtvl wrote:
           | I'm talking about the table which shows development time in
           | hours, as well as lines of code and lines of documentation.
           | 
           | Come to think of it, I wonder if they counted docstrings as
           | documentation or code?
        
       ___________________________________________________________________
       (page generated 2022-12-10 23:00 UTC)