^zhurnaly   -   Random   -   Recent   -   Running   -   Mantra   -   Tarot   -   Help

TuringComplete

Trapped in a cocktail party conversation with computer science geeks? One good tactic: start a debate over "What's the best programming language?" No red- (or green-) -blooded hacker can resist answering, and every answer is equally correct. Some languages are lovely in their crystalline minimalism (e.g., Scheme). Some are utilitarian kitchen-sink down-to-earth jacks-of-all-trades (e.g., Perl). Some get close to the iron of the machine and generate ultra-efficient code (e.g., C). Some have such a history and tradition and code base behind them that, like the mightiest of rivers, they just keep rolling along (e.g., FORTRAN). Some are mathematical visions of perfect thought (e.g., PROLOG). Some are pedagogic whips, designed to enforce discipline and inculcate proper coding style among students (e.g., PASCAL). And on, and on....

But the funny thing is that, in a serious sense, all (nontrivial) computer languages are not merely created equal --- they are equal. Any language powerful enough to be worth the name is "Turing Complete", able to emulate any other language, given enough time and memory. The only difference: which concepts are easier, and which harder, to express.


TopicProgramming - TopicLanguage - Datetag20011010


I've sometimes wondered if a "good" (that is to say perceived powerful and useful, not necessarily elegant) computer language is one that includes more "redundancy" than others. Redundancy allows different ways to express same or similar concepts. Human languages cluster fairly uniformly at around 50% redundancy, for a variety of reasons, but of course have the advantage of fuzziness as well :) -- Bo Leuf


(correlates: BigBadBoxes, 2 Comments on Where Was God, AppropriateUnits, ...)