Wednesday, November 01, 2006

Letter ("Programming Pedigrees") responding to "The Semicolon Wars" -- American Scientist

Resurrected one of my favorite letters, which might be good to follow up on. Viz: :
I read with great interest Brian Hayes's recent column "The Semicolon Wars" on the genealogy of computer languages (Computing Science, July-August). I was struck by the first figure that shows how many well-known languages are related to each other in a tree-like structure. Mr. Hayes carefully compared the development of computer languages to that of spoken languages. This is, of course, quite appropriate. However, another illuminating comparison is to the development and evolution of genomes in biology.
The genome has often been compared to an organism's operating system, and in this sense, its underlying genetic coding is the ultimate computer language. The triplet codons in the literal genetic code have not changed much over time. However, the specific features they encode in different genomes have changed dramatically since life first appeared.
One of the nice things about biology, moreover, is that the main mechanisms underlying this evolution can be studied experimentally. It is believed that the genome evolves through a variety of processes duplicating and copying chunks of DNA, and then further variation happens to these copies. One also sees, most often in bacteria, whole genetic elements horizontally transferred from one organism to another.
The parallels to computer languages in the operation of these mechanisms are quite strong: In a specific lineage of languages (such as that for Algol60, C and Java) one sees the duplication and variation of basic control structures for such items as loops and subroutines, and horizontal transfer of new structures (such as the object-oriented constructions from Simula67).

Citation of Letter:
Programming Pedigrees
Volume 94, Number 6 (November-December 2006)
Mark Gerstein
Yale University
New Haven, CT

Article Commented on:
The Semicolon Wars
Every programmer knows there is one true programming language.
A new one every week
Brian Hayes
American Scientist, July-August 2006
If you want to be a thorough-going world traveler, you need to learn 6,912 ways to say "Where is the toilet, please?" That's the number of languages known to be spoken by the peoples of planet Earth, according to If you want to be the complete polyglot programmer, you also have quite a challenge ahead of you, learning all the ways to say: printf("hello, world\n") ;.....