📄 nickles.worth
字号:
Article from _Computer Language_ by Bruce Tonkin. Several prominent software companies have caused a stir lately by droppingall development work in Pascal and adopting Microsoft BASIC. When queried allhave declined to comment about this move, but one company insider (code-namedDeep Poke) suggested talking to Niklaus Wirth to get the full story. Speaking from his home in Zurich, Switzerland, Wirth proved to be a farmore genial soul than one might imagine, being the founder of Pascal and all. But the European lifestyle obviously agrees with him, and he was more thanwilling to provide some insights into this strange phenomenon, currently takingplace in the computer industry. In fact, what began as an innocent inquiry eventually revealed a shockingand exclusive piece of information: that the invention of Pascal nearly 20years ago was intended entirely as a joke, an April Fools' prank. Wirth tried to explain. "Every year at the Swiss Federal Institute forTechnology [the university in Zurich where Wirth is a professor of computerscience] I taught the same classes, gave the same tests, told the samejokes," he began. "it was boring. I needed a little humor. So I startedtalking about this crazy language called Pascal. Eventually, the Pascal jokebecame so popular I just kept adding to it, making it more and more elaborate. "But some of the students went to class so seldom that they missed thejoke and thought Pascal was a real language! Imagine the looks on their faceswhen they got out into the world and discovered there was no such thing as alanguage called Pascal. Hoo-boy! They sure learned to pay attention afterthat!" he said, giggling. Several of his better students, he continued, figured they'd make somemoney by fleecing the people who actually believed in Pascal and so wrote asimple Pascal compiler for this purpose. It was actually a kind of prank, muchlike selling elevator passes to high school freshmen. "Yes, yes," Wirth said, "the UCSD operating system started the same way.The same bunch of rascals who did the whole Pascal thing kept pushing the ideauntil it reached the point of complete absurdity. They were hysterical!Especially late at night - they'd come up with some really boffo material.They the next week they'd modify it and it would get even more entertaining." Wirth's best student was Philippe Kahn, who he met while Kahn was astudent. "I used to go to a small bistro called 'Der Blaue Engel' after myclasses, and it happened that Kahn played jazz saxophone there while peopledanced on the tables." Wirth was impressed with Kahn's talent and evident witand encouraged him to end his musical career and enter the lucrative field ofsoftware comedy. Once he explained Pascal's comedic possibilities, Kahn washooked and quickly agreed. Since most of the staff at Apple Computer Inc. was educated at theUniversity of California at San Diego, they were also in on the joke, Wirthsaid. "That's why they kept pushing Pascal. A bunch of fine kids, those Appleguys. Born comedians, most of them. Except this one guy - he had no senseof humor at all. [Editor's hint: not Woz.] "When we finally decided to do a DOS that was even funnier than UCSDPascal, the feeling was that UCSD was already the ultimate. But then one ofthe guys proposed doing a DOS that was written in Pascal but used hieroglyphicsinstead of a written language. What a genius! We were rolling in the aisles.But that one guy, he thought we were serious. What a nerd!" Wirth's list of the funniest features of Pascal begins with the lack of astring data type, no random file access, primitive numeric handling, and theexistential absurdity of the semicolon. "But I'd have to say that my crowning achievement was the lack of inputand output functions. First you can't get anything in too easy. And once it'sin, you can't do much with it. Pascal isn't good with letters and it's notgood at all with numbers. Besides, I made it very picky. You have torecompile, recompile, recompile forever. Ha! And once you've done somethingwith the data, you can't get it out." Wirth started chuckling uncontrollably."Philippe has said C is a write-only language - I made Pascal a read-onlylanguage!" His chuckling turned into hysterical laughter that went on forseveral minutes. "Of course, some didn't get the joke," he finally said when he could speakagain. "They kept trying to make Pascal actually useful. But I stopped them;I made the original Pascal a standard. That meant anyone who made Pascal goodfor anything was nonstandard and out on a limb!" * * * * * How will all this affect the future of Modula-2? Wirths' merry mannerand beaming face suddenly became hard when presented with this question;perhaps this was taboo territory, sacred subject matter. "Modula-2 is a real language," he finally said, his demeanor solemn. "Itrepresents a serious effort on my part to make amends for any damage caused bywell-meaning but unimaginative people teaching and learning Pascal. "But it's so hard! Pascal is a very good joke, yes? But to make a reallygood language from it is not so easy," he sighed. In addition to Pascal, Wirth admitted, three other languages also wereintended as pranks: Forth, PL/I, and True BASIC. "Forth is essentially black humor," Wirth said. "Charles Moore [whocreated the language in the late 1960s] designed it as a native language forpeople whose brains ran backward." Originally, he continued, it was supposedto be the ultimate parody of Hewlett-Packard calculators, which Moore has beencompeting with unsuccessfully for years. As an astronomer, he had used HP'scalculators out of necessity rather than any appreciation for their design.But to his great surprise, he found that there were actually quite a fewpeople whose brains did run in reverse. Eventually, Moore came to see Forthas a boon, especially for backward thinkers. "At least it keeps them of thestreets out of really serious trouble," Wirth said. "Imagine one of themtrying to drive a car or operate heavy machinery!" PL/I originally stood for "Prostituted Language/Interface," Wirthexplained. "The designers were under so much pressure to add features andinclude every possible construction from every other language in existence thatthey eventually gave up and decided to play the whole thing for laughs. Theysaid 'yes' to every request, no matter how absurd, and even added things tothe language no one ever could or would use. The scoured journals foroff-beat syntax and weird symbolic notation; some of their better ideas camefrom early editions of The Mad Reader and other E. C. publications. Besides,several of them were upset with the compiler-writing team and decided to stickit to them with a life-time project." True BASIC is not "True" in the sense most people understand the word,Wirth continued. Rather, "True" is itself an acronym for a "Totally wRecked-UpExample of." The professors who came up with it are amazed that no one hasyet caught on to the joke; they felt sure their insistence on the LET keywordwould be a dead giveaway. "Of course there were other clues, but this was themost clear-cut," Wirth said. "They even called Microsoft BASIC a streetBASIC in hopes that Bill Gates would challenge them and reveal the joke."But Gates refused to play along, and both professors had to all but beg Wirthto tell the world the truth about True BASIC before things went any further. * * * * * Jokes abound in the world of operating systems as well, according toWirth. In addition to the UCSD Pascal operating system, said Wirth, "Tandy,Apple, and Commodore were for a number of years carrying out a private comedicbattle to see who could produce the world's funniest DOS." Tandy's TRS-DOS (Tandy Radio Signal Detection Operating System - areference to the fact that early machines would reboot when any transmittedsignal was detected) was an early front-runner until Apple came out with thevary amusing Control-D command what could enable or disable disk operations.In the end, though, Commodore won the battle. Its DOS was oriented towardrecords exactly the size of punch cards and took over four minutes to boot fromdisk since it read disk data more slowly than most audio tape machines and evensome 300-baud modems. But the funniest joke of all is, in Wirth's estimation, also the mostcommon, and he's amazed so few people have caught on to it yet. "Come on, come on. Surely you can guess," he said, his voice rising inexcitement. "What one thing makes users more livid than any other? What onecomputer product makes you feel sure it was produced by a team of trainedgerbils on mind-altering drugs? Yes, yes, yes! You see it now - manuals!" Wirth considers Gates, who wrote all the BASIC manuals and who was on thestaff of many others, a "comic genius." "Mitch Kapor should get morerecognition - he's far better than Neil Simon. And what's-his-name, the guywho wrote the WordStar manual - he got an award at at dinner we threw forhim a few years back. That manual is a classic in the truest Marxist[brothers] sense of the word! Pure slapstick! But the best of them all is theauthor of the dBase II manual. Now there is a writer for the ages!" As for the IBM manuals, Wirth considers them mere hack work. "Anyone cando stuff like that," he snorted. But perusing a copy of the manual for NEWDOS, he seemed a little moreimpressed. "Hmmmm. Not bad work. Not bad at all," he said. "But it's stillsimple stuff. 'To do this, read page 40. But to know what's on page 40, youhave to read page 65, which refers to page 15, which shows a whole list ofexceptions for page 53.' Entertaining, but hardly in the class of any of themodern masters of the art." But when his attention was brought to the factthat none of the error numbers listed in the NEWDOS manual were ever returnedto the BASIC programmer, and that the most common disk setup (double-density,double-sided) was not on the configuration menu, Wirth admitted that these wereindeed nice touches. Although it is a known fact that most of the early computer manuals(probably even the NEWDOS manual) were written by programmers and thatprogrammers are notoriously poor writers, Wirth would not be deterred from hisopinion that these writings are works of art. "Most people fail to consider that good programmers are very bright.Their thoughts are extremely well organized and most of them have the benefitof higher education. Their brains are not warped by overexposure to TV andtheir attention spans are not short-circuited by overindulgence in sex, drugs,or alcohol. They are not constrained by conventionality. If you want to getpicky, there are a lot more programmers than there ever were writers. Andprogrammers simply work harder than writers. Few writers work 100 hours aweek; almost all programmers do." The result, according to Wirth? "All programmers write at least as wellas Faulkner. Most are as good as Proust, and about a third are as good asDickens. Several hundred are at least as good as Shakespeare. So the manualsyou thought were inferior were simply beyond your poor ability to appreciate.If you were a programmer, you would delight in their verbal virtuosity," hesaid. In fact, Wirth claimed, even the grammatical errors and misspellings inthe manuals were placed there deliberately. Most are elaborate literaryallusions and puns; some are inventive Joycean neologisms. As an example,Wirth discussed the history of the word "kernal." "Everyone, including programmers, knows the word is spelled k-e-r-n-e-l,"he explained. "The deliberate misspelling is an implied criticism of thetypesetter (a writer's bane for years.) Of course typesetters kern the letterl; thus, 'kern el.' But kerning can only be done for certain lettercombinations, such as two l's. Thus, 'kern a l' dares the typesetter to kernan isolated l, an obvious typographic impossibility. "Moreover," he continued, "'kernal' is an anagram for 'rankle,' whichdescribes programmers' feelings toward typesetters. Finally the inventor ofthis particular word, R. K. Lane (who is well known within the SouthernCalifornia computer community) has concealed his name by means of yet anotheranagram." Wirth smiled a last secretive smile, leaving us all to wonder if this wasperhaps just one more in his series of personal computer pranks.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -