TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Haskell vs. Ada vs. C++ vs. an Experiment in Prototyping Productivity (1994) [pdf]

73 点作者 mkristiansen5 个月前

17 条评论

dleslie5 个月前
I&#x27;m curious about Relational Lisp. It had the shortest development time, 3h to Haskell&#x27;s 10&#x2F;8; a middling&#x2F;low number of lines of code, at 274; and only 12 lines of documentation.<p>It describes Relational Lisp as being Lisp enhanced with a database-like language for logic programming.<p>I suspect this may be it:<p><a href="https:&#x2F;&#x2F;oceanpark.com&#x2F;ap5.html" rel="nofollow">https:&#x2F;&#x2F;oceanpark.com&#x2F;ap5.html</a><p><a href="https:&#x2F;&#x2F;www.ap5.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ap5.com&#x2F;</a><p>There&#x27;s a C2 entry for it, of course:<p><a href="https:&#x2F;&#x2F;wiki.c2.com&#x2F;?RelationalLispWeenie" rel="nofollow">https:&#x2F;&#x2F;wiki.c2.com&#x2F;?RelationalLispWeenie</a>
denismenace5 个月前
They also assumed Haskell performed so well, because the author was an expert at it. So, they independently hired a college graduate with no prior knowledge of Haskell and gave him 8 days to learn it. Turns out the graduate implemented the second best solution in terms of lines of code and development time.
评论 #42450434 未加载
评论 #42450442 未加载
xvilka5 个月前
Would be nice to redo this experiment with modern languages like Rust, Go, as well as modern &quot;flavors&quot; of Haskell and C++. Maybe throw OCaml in as well.
评论 #42450280 未加载
评论 #42450519 未加载
jasode5 个月前
Previous discussion that includes even more backlinks to additional earlier discussions: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14267882">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14267882</a>
评论 #42453645 未加载
jlouis5 个月前
It&#x27;s interesting that we&#x27;ve known results such as these for 30(+) years, yet 99.999% of all software is still written in outright miserable languages such as Python or Javascript...
评论 #42450083 未加载
评论 #42450566 未加载
评论 #42450285 未加载
评论 #42450703 未加载
评论 #42450081 未加载
评论 #42450075 未加载
AnimalMuppet5 个月前
Interesting. I think it&#x27;s the wrong test, though. (I mean, look, it&#x27;s hard to get data on actual software engineering. They got actual data, and they published it. It&#x27;s more than most people ever do.)<p>I think the real test would be to do the same experiment, but not with a prototype. It would be to write a finished program, <i>and then maintain it for a decade or three</i>. (But of course, nobody&#x27;s ever going to run that experiment - it would be too expensive, plus the time is too long for the &quot;publish or perish&quot; world.)<p>The point is, more matters than just &quot;how fast can I develop&quot;. How fast can I develop code that can be maintained for a long time by other people? How hard is it for them to maintain? How does the choice of language affect that? How does <i>how fast it was developed</i> affect that?<p>In the real world, speed of development is only one variable, and maybe not the most important one. (And, yes, I&#x27;m complaining about the data being inadequate, after noting earlier how rare it was to get data at all...)
评论 #42450870 未加载
评论 #42450714 未加载
nycombinatorm5 个月前
Wow.I read the article when it first came out. Periodically, it gets re-posted. My take on the article now is still what I thought then. When hiring a team of SW engineers to build something, it is critical to choose a language that a large number of potential candidates know - &quot;know&quot; as in have already written tens of thousands of line of; Concurrent Euclid might be a great language (dating me) but the pool of engineers who really know it is vanishing small.
mkristiansen5 个月前
My favorite part of this is the fact that the Haskell solution is considered &quot;too clever&quot;.
评论 #42449996 未加载
评论 #42451163 未加载
James_K5 个月前
What I find interesting is that the Haskell solution was the only one to use higher order functions. Assuming they also count virtual functions in languages like C++ to be higher order, I think a part of the difference here is in design attitude rather than an inherent part of the languages studied.
keyserj5 个月前
I really like the idea of comparing languages in a real-ish scenario of development, written by independent expert-in-language developers! As a web dev, I&#x27;m particularly interested in the idea of this for comparing the various web frameworks (including &quot;no framework&quot;).<p>Some thoughts on the experiment:<p>- To get a better idea of the impact of the language on authors&#x27; thought processes, it&#x27;d probably have to include submissions from more authors in each language. With just one (or so) submission per language, I could see there being variation in expertise.<p>- I&#x27;m curious to see what the documentation looks like here, that there&#x27;s so much written in some of the submissions, and that the paper authors value it so highly. Is it used to explain what the code does, indicating potentially too-complex code, or is it explaining whys?<p>- In the &quot;Lessons Learned&quot; section, it&#x27;s mentioned that other reviewers were not as impressed with Haskell. I&#x27;m curious if their reactions were included in the evaluation - to me, these reactions would reduce the success for the understandability (and learnability?) criterion. The paper authors seem to have written this off as &quot;If functional languages are to become more widely used, various sociological and psychological barriers must be overcome&quot;.
评论 #42450677 未加载
rramadass5 个月前
Under &quot;Lessons Learned&quot; section;<p><i>Haskell appeared to do quite well in the NSWC experiment; even better than we had anticipated! 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. There were two kinds of responses:<p>In conducting the independent design review at Intermetrics, there was a significance sense of disbelief. We quote from [CHJ93]: &quot;It is significant that Mr. Domanski, Mr. Banowetz and Dr. Brosgol were all surprised and suspicious when we told them that Haskell prototype P1 (see appendix B) is a complete tested executable program. 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.&quot;<p>The other kind of response had more to do with the &quot;cleverness&quot; of the solution: it is safe to say that 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 &quot;cute but not extensible&quot; (para-phrasing); this comment slipped its way into an initial draft of the final report, which described the Haskell prototype as being &quot;too cute for its own good&quot; (the phrase was later removed after objection by the first author of this paper).<p>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.</i>
deknos5 个月前
they should redo this and add rust. not because rust is the new hype, but productivity and security also depends on the ecosystem. and all have their different stances, issues and points.
wslh5 个月前
(1994)
medo-bear5 个月前
TLDR: &quot;Haskell vs Ada vs C++&quot; but a lisp wins in development hours by huge margin<p>I wonder if this is the &#x27;relational lisp&#x27; in question<p><a href="https:&#x2F;&#x2F;www.ap5.com&#x2F;ap5-man.html" rel="nofollow">https:&#x2F;&#x2F;www.ap5.com&#x2F;ap5-man.html</a><p>or<p><a href="https:&#x2F;&#x2F;ieeexplore.ieee.org&#x2F;document&#x2F;13081" rel="nofollow">https:&#x2F;&#x2F;ieeexplore.ieee.org&#x2F;document&#x2F;13081</a>
评论 #42460434 未加载
krona5 个月前
(1994)
评论 #42453646 未加载
emmelaich5 个月前
(1994)
评论 #42453648 未加载
davidavidavid5 个月前
coment