|
|
|
|
| About | |||||||||
Program Structure Wars (Real)A Silly Verbal Tempest In An Even Sillier Teapot
Date: 1993/02/23 Agree? Disagree? : Have Your Say Buy Books About This Topic At: Amazon UK Amazon US Send This Article To A Friend: Email It Use Telepathy
Controversy swirls around computers like chocolate in a marbled cake. Aficionados battle over different models, operating systems, and applications. It is a universal fact that the vehemence of an argument is in inverse relationship to the importance of the arguers. Perhaps the most violent of these debates center around computer languages. There are two extremist camps in the debate: The acrimonious debate between the two parties is eternal. Unstructured programmers use languages like Fortran and C; structured programmers like Niklaus Wirth's languages, such as Pascal and Oberon. Enormous amounts of time are spent arguing over which language is superior, and over whether structured programming is a blessing or a curse. Truly intelligent people don't belong to either religion. The third group in this melee is that of the Moderates. Moderates completely agree that structuring programs logically into procedures, and using type checking to ensure parameters and results are correctly handled, are Good Things. However, they also know that there are an infinite number of programming situations that a language will have to handle, and that no language designer will be able to foresee them all. Therefore, it is best if a language is loose enough to allow dodging some of its constraints while using others to guard against error; otherwise, limitations that seemed reasonable on the drawing board will become straitjackets, forcing the program code into obscure contortions to accomplish its goal. From this point of view, all languages are fairly even. With enough care, beautifully designed programs can be written in any of them, and there will never be a language in which it will be difficult to write bad programs. But choosing a language carefully means getting the best of both worlds; safety from careless errors and freedom to design elegant systems. |
|
||||||||