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.

The Semicolon Wars

94 pointsby causticover 14 years ago

13 comments

milkmandanover 14 years ago
Nicely written up but superficial analysis and trite conclusions. It would be nice if someone took this comparative analysis of programming languages a little more seriously and go beyond the tiresome "should a semicolon be a separator or a terminator" or the naive imperative-functional distinctions.<p>Take for example ML (prototypical high-level functional) vs C (prototypical low-level imperative). What makes them essentially different? In ML you have the common imperative features (assignment, references) and in C you can write functions including higher-order (via pointers). The answer you are looking for is "memory management", automatic in ML versus manual in C. Everything comes out of this distinction, down to the fact that in C you don't have lambdas and currying (because no garbage collection means no closures).<p>What makes ML and Algol 60 different? Both have a strikingly similar set of primitives, imperative and functional. The difference is call-by-value in ML vs. call-by-name in Algol 60, which leads to global effects in ML vs. local effects in Algol 60.<p>What makes Lisp different from Scheme, the misunderstanding of alpha conversion in Lisp versus its correct implementation in Scheme.<p>And so on. It would be fun if someone who actually know programming languages beyond the naive and the trivial took time to write a proper potted history and/or comparative analysis.
评论 #2021525 未加载
lukeschlatherover 14 years ago
This entire piece seems to have a bit of a fallacy running under it, that there exist ideal computer languages, and that we should treat all of them equally.<p>Rather, I'd argue that there are ideal computer languages for specific problems, and most of the holy wars he mocks have their roots in people working on different problems rightly concluding that their language X is ideal and language Y is inferior. The flame wars are peripheral.<p>That said, there are solid reasons for Dijkstra's critiques of BASIC and in lesser degrees Pascal and friends. Almost all the dialects of BASIC deserve to die.
评论 #2021602 未加载
cgrubbover 14 years ago
The programming world isn't as balkanized as natural languages. If Tiobe is to believed, the top 20 programming languages account for 85% of "use". By contrast, the native speakers for the top 20 natural languages only have 50% of the world population. Here's a spreadsheet with the data.<p><pre><code> http://j.mp/hiPGXA </code></pre> Other factors to consider: learning a new programming language requires less than a tenth the effort of learning a natural language (my estimate). That's for people. Getting my laptop to speak a new language is mostly a matter of downloading the interpreter or compiler. Granted the interpreter or compiler has to be initially ported to the architecture or OS. So not only is there less programming language balkanization, but the cost of balkanization is less.
评论 #2020861 未加载
评论 #2021407 未加载
jfbover 14 years ago
I thought this a very nice, even-handed treatment of the various religious wars and the reasons for them over time. Of course, I also prefer Lisp, so I am predisposed to agree with the author.
pjscottover 14 years ago
The picture is an odd programming language family tree. Since when was CLOS a programming language, descended from Common Lisp? The Common Lisp Object System -- that's what CLOS stands for -- is just how Common Lisp does objects. You can make another object system as a library, if you want to. In fact, that's a pretty fun exercise.
评论 #2020258 未加载
bergieover 14 years ago
We almost did our web framework in Scheme back in late 90s, but for some weird reasons settled on PHP instead. Our project, and maybe the state of Open Source CMSs could look different if we had chosen otherwise (Midgard, our framework, was the second free software CMS out there, and the first for PHP).<p>Anyway, this article made me buy the Wizard Book and Land of Lisp just to get back to the language... Last time I read (parts of) the Wizard book was in the student commune some time around 97.
olalondeover 14 years ago
&#62; JavaScript for annoyances such as pop-up windows<p>A bit unfair but I guess vulgarization is more important than correctness in this context.
评论 #2020758 未加载
readymadeover 14 years ago
The premise is the fatal disease. Programming languages are tools of expression. Asking which programming language is "best" is like asking which musical instrument is best. All the centuries of refinement and craftsmanship that go into making a good violin don't invalidate the piano.
评论 #2021395 未加载
burgerbrainover 14 years ago
Curl and Links are web oriented programming languages? As I use and understand them, they are both webbrowsers.... Maybe haven't been keeping up with development..<p>EDIT: apparently both <i>are</i> languages as well. What retarded naming!
评论 #2020472 未加载
评论 #2020619 未加载
julian37over 14 years ago
People, please mark your old articles as such. This one is from the July-August 2006 issue (Volume 94, Number 4).
评论 #2020867 未加载
rwmjover 14 years ago
ML - Miranda - Haskell???<p>Perl to PHP?????<p>Smalltalk with no descendents?<p>That language diagram is crazy.
sabatover 14 years ago
I had assumed by the headline that this was about the (mis-)use of semi-colons in English; so few know how to use them correctly.
评论 #2021306 未加载
raz0rover 14 years ago
No Go? :(