TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Haskell, Ada, C++: An Experiment in Prototyping Productivity (1994) [pdf]

68 pointsby jxubabout 6 years ago

11 comments

ff_about 6 years ago
This is an interesting paper, and I&#x27;d like a replication today, 25y after: I believe Haskell has matured a lot in all of this time.<p>As an experiment, some months ago we prototyped a new service in Haskell at work. We timeboxed a week for it (two people, proficient in Haskell), and the result is that (1) the Product Owners were really pleased with it, and (2) even if it was really bad Haskell code, we _still_ managed to encode business logic in the types so that it would always hold some important invariants. As a result we had to fix a surprisingly small amount of things before putting it in production.<p>The best thing is that as it happens we couldn&#x27;t properly rewrite the prototype, so today&#x27;s service is still the same codebase, BUT it&#x27;s not a Python blob and it was such a breeze to refactor.<p>EDIT: would anyone be interested in a blog post &quot;Rapid Prototyping in Haskell&quot;?
评论 #19582741 未加载
评论 #19581343 未加载
评论 #19582314 未加载
评论 #19581740 未加载
评论 #19582233 未加载
评论 #19596538 未加载
评论 #19581763 未加载
pishpashabout 6 years ago
Trying to find the most productive language for all tasks seems like a quixotic quest. Each language encodes a set of expressions that are succinct to communicate, at the expense of some others. There are some basic information theoretical and computational complexity reasons for this.<p>There will always be different languages that are best suited to certain tasks, and the goal should be to make it easy (tools, systems) to work with many languages equally well, or to allow switching anywhere like with human languages.
ajxsabout 6 years ago
I believe it was Dr Robert Dewar of AdaCore fame who I first heard remark that ( paraphrased ) every time a bug gets missed at a stage of development ( compile-time to alpha, to beta, to production, etc ) the cost of it&#x27;s resolution increases by an order of magnitude. I&#x27;m certainly by no means dismissing the value of concise languages for expressing ideas fluently, but brevity and expressiveness are only two factors influencing the value of a programming language in a specific domain. It&#x27;s definitely an interesting paper, every time I see it I can&#x27;t help but think that it&#x27;s a little disingenuous to conduct an apples to oranges comparison of languages on these particular merits. It&#x27;s much more difficult to weigh up the relative investment of time necessary to write code that is equally robust, maintainable and fit for purpose.<p>Here&#x27;s the video I got the Dr Dewar quote from: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=0yXwnk8Cr0c" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=0yXwnk8Cr0c</a>
评论 #19581037 未加载
评论 #19580640 未加载
gpapilionabout 6 years ago
This is a paper from 1994. C++ seems very different to me now vs the early 90s.
评论 #19574812 未加载
评论 #19583402 未加载
评论 #19575910 未加载
flukusabout 6 years ago
I love awk within certain domains, but the the overlap between where awk is suitable and something big and complex enough to serve as a good example of programmer productivity is essentially nil.<p>There are some gems in the results section though:<p>&gt; It is interesting to note that the developer originally reported only 101 lines of code, but fully admitted attempting to pack as many statements into each 80-column row as possible! The line count of 250 is based on looking at the actual code in [LBK+94] and estimating a line count based on a more “reasonable” notion of program formatting.
NikkiAabout 6 years ago
Interesting that the lisp prototype took the least amount of time to develop, yet was considered less understable code than the haskell prototype(s).
评论 #19582283 未加载
评论 #19579697 未加载
yakshaving_jgtabout 6 years ago
What this tells me most of all, is that humans will only acknowledge the legitimacy of studies that support their predetermined opinions.<p>The arguments for and against a type system like Haskell&#x27;s have been going on seemingly forever, and the commonly parroted line from <i>e.g.</i>, Clojure or JavaScript enthusiasts (like the curly-haired San Francisco guy) is that there has never been a single study to support the idea that a type system like Haskell&#x27;s is generally a cheaper way to write reasonably robust software. Point them to a study like this, and you&#x27;re met with &quot;Nuh-uh! Not valid! Nope!&quot;<p>My observation is supported by section 7, &quot;Lessons Learned&quot;.<p>&gt; …The reaction from the other participants, however, in particular those not familiar with the advantages of functional programming, was somewhat surprising, and is worth some discussion.…<p>&gt; …In conducting the independent design review at Intermetrics, there was a significance sense of disbelief.<p>&gt; …some observers have simply discounted the results because in their minds the use of higher-order functions to capture regions was just a trick that would probably not be useful in other contexts. One observer described the solution as “cute but not extensible”<p>&gt; We mention these responses because they must be anticipated in the future. If functional languages are to become more widely used, various sociological and psychological barriers must be overcome. As a community we should be aware of these barriers and realize that they will not disappear overnight.<p>They&#x27;re right. These barriers haven&#x27;t disappeared overnight. They haven&#x27;t even disappeared after a quarter of a century. People <i>still</i> come up with stupid reasons why they don&#x27;t like Haskell.
评论 #19582352 未加载
评论 #19580872 未加载
platzabout 6 years ago
As a Haskeller, I am extremely wary of seeing this study linked to over and over again.
axilmarabout 6 years ago
I do not see anything in the problem description or in the analysis of the Haskell advantages that couldn&#x27;t be handled by c++ or coded in c++ in a fairly similar manner to Haskell so as that to have similar advantages.
评论 #19582499 未加载
egbertsabout 6 years ago
Julia is also getting there the fastest, IMHO.
otabdeveloper1about 6 years ago
&gt; Haskell and C++ from 1994<p>What is this, the Guild of Legacy Crap Archeology?