jliechti1 12 years ago

"Them" refers to the developers using languages other than Haskell:

"We provided them with a copy of P1 without explaining that it was a program, and based on preconceptions from their past experience, they had studied P1 under the assumption that it was a mixture of requirements specification and top level design. They were convinced it was incomplete because it did not address issues such as data structure design and execution order.”

"The other kind of response had more to do with the 'cleverness' of the solution...[one of them] described the Haskell prototype as being 'too cute for its own good'.

These both sound like they could have been written today.

Reminds me of this from the Incomplete and Mostly Wrong History of Programming Languages:

Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that 'a monad is a monoid in the category of endofunctors, what's the problem?'

  • mcguire 12 years ago

    Admittedly, "too cute for its own good" is a pretty fair description of a lot of Haskell.

    • anon_d 12 years ago

      Over-engineering definitely does seem to be a problem in very-expressive programming languages. Probably has more to do with the reasons most people use Haskell rather than with Haskell itself.

cviedmai 12 years ago

There is another really nice paper from 2000 by Lutz Prechelt called ”An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl” (http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt2_advance...)

This paper compared several properties of 80 implementations of a set of requirements. It compared properties such as run time, memory consumption, source text length, time expended developing the solution, comment density, reliability and program structure.

Overall, even though there are some obvious threats to validity, I find this work quite read-worthy.

vinkelhake 12 years ago

Might be a good idea to stick "1994" in the title of this post. This paper is almost 20 years and things have happened since.

  • abdullin 12 years ago

    It would be interesting to see how things have developed since 1994. Could you recommend more recent references on the topic?

    • vinkelhake 12 years ago

      What is the topic? If you're interested in seeing the current state of the languages involved then I think a quick online search will find you all you want.

      If the topic is other experiments like this one, then I don't know. I think the idea is fundamentally flawed. There are just too many variables involved. A good litmus test is to ask yourself if you'd be able to independently reproduce the results of the experiment.

    • Morgawr 12 years ago

      I've been recently studying comparisons of programming languages/programming semantics and I've been reading papers on the subject. While I do not have strictly relevant papers (I swear I had but I can't find them right now, sorry), if you're interested on a broader subject, this could help:

      * What is the Impact of Static Type Systems on Programming Time? (http://ecs.victoria.ac.nz/foswiki/pub/Events/PLATEAU/2009Pro...)

      * Heuristic Evaluation of Programming Language Features: Two Parallel Programming Case Studies (http://ecs.victoria.ac.nz/foswiki/pub/Events/PLATEAU/Program...)

      * Do Programming Languages Affect Productivity? A Case Study Using Data from Open Source Projects (http://sequoia.cs.byu.edu/lab/files/pubs/Delorey2007a.pdf)

      They are all (mostly) recent papers, at least post-2005. Furthermore, the Plateau international workshop might have some more material of interest: https://sites.google.com/site/workshopplateau/

      ps: this Thursday/Friday in Delft (NL - Europe) there will be a conference related on the subject of programming languages, it's free and might interest someone: http://eelcovisser.org/wiki/future-of-programming

      EDIT: fixed second link

      • nbouscal 12 years ago

        You gave the same link for the first two studies you mention. Also, it's pretty easy to detect the author's heavy bias against type systems just from a quick perusal of the first page. The methodology used is extremely questionable, not to mention that he doesn't even consider languages with type inference.

        • Morgawr 12 years ago

          Whoops! Sorry, you're correct. I apologize for the wrong link (fixed now).

          And yeah, I agree that some studies are a bit biased (it's hard to find objective studies with a proper applied method). I just wanted to share some findings that might have been interesting to the reader and let him/her take home his/her own considerations on the matter. Entirely agree with you though.

        • Sssnake 12 years ago

          Not just biased, but also quite ignorant:

          >No-such-method exceptions mainly occur because of null-pointer exceptions (which occur in typed programming languages as well)

          Null is a solved problem. Completely and totally solved. The fact that he didn't know this is pretty amazing.

taeric 12 years ago

I commented on this in another thread where it came up[1]. My main takeaway from this is that they had a ridiculously good lisper handy. Quite literally less than half of the time of the next fastest implementation! That is insane.

[1] https://news.ycombinator.com/item?id=7044797

Marazan 12 years ago

I was taught programming at University with a combination of Ada and Haskell (In the first two years at least, year 3 & 4 used whatever was appropriate for the module)

acconrad 12 years ago

It has "Haskell" in the domain name, it sounds quite biased to favor Haskellers, as well as the fact that the paper is dated.

  • Sssnake 12 years ago

    Good thing you caught on to Yale's conspiracy to trick you into using haskell. Now avert your gaze lest you be corrupted.

jonathansizz 12 years ago

We're now 20 years on, and still hardly anybody uses Haskell. This is just a guess, but maybe it's not going to catch on..

  • thirsteh 12 years ago

    I don't think you're paying very much attention.

    • jonathansizz 12 years ago

      Outside the HN bubble, I mean.

      EDIT: I stand corrected; there is a Haskell job listed at the moment: http://www.indeed.com/q-Haskell-jobs.html

      Have fun in Reston, VA!

      • derefr 12 years ago

        The types of coding work hired out through job boards, and the types of coding work Haskell is good for, are not intersecting sets.

        • platz 12 years ago

          Implying Haskell should only be used in the ivory tower? Just because it can be abstract doesn't mean you can't do CRUD apps with Haskell - why not?

          • derefr 12 years ago

            What a language can do, and what a language is uniquely suited for, are distinct concepts. You can do CRUD apps in Haskell--but writing a CRUD app doesn't suggest Haskell, and so you won't likely hire Haskell people to write you a CRUD app.

            I didn't mean to imply that Haskell's specialty lies anywhere near the ivory tower, either. It seems to me closer to a replacement for Ada in writing provable-yet-optimized software.

LeoNatan25 12 years ago

Tomato vs tomàto vs tomáto vs tomatö