The UNIX Philosophy
Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a GIANT? lights up in the center of the dashboard. ”The experienced driver,” says he, ”will usually know what’s wrong.”
Original source unknown; found on Joseph Evans’ (Electrical and Computer Engineering professor at Kansas University) door.
ADA: Something you need to know the name of to be an Expert in Computing. Useful in sentences like, ”We had better develop an ADA awareness.”
Bug: An elusive creature living in a program that makes it incorrect. The activity of ”debugging,” or removing bugs from a program, ends when people get tired of doing it, not when the bugs are removed.
Cache: A very expensive part of the memory system of a computer that no one is supposed to know is there.
Design: What you regret not doing later on.
Documentation: Instructions translated from Swedish by Japanese for English speaking persons.
Economies of scale: The notion that bigger is better. In particular, that if you want a certain amount of computer power, it is much better to buy one biggie than a bunch of smallies. Accepted as an article of faith by people who love big machines and all that complexity. Rejected as an article of faith by those who love small machines and all those limitations.
Hardware: The parts of a computer system that can be kicked.
Information Center: A room staffed by professional computer people whose job it is to tell you why you cannot have the information you require.
Information Processing: What you call data processing when people are so disgusted with it they won’t let it be discussed in their presence.
Machine-independent program: A program that will not run on any machine.
Meeting: An assembly of computer experts coming together to decide what person or department not represented in the room must solve the problem.
Minicomputer: A computer that can be afforded on the budget of a middle-level manager.
Office Automation: The use of computers to improve efficiency in the office by removing anyone you would want to talk with over coffee.
On-line: The idea that a human being should always be accessible to a computer.
Pascal: A programming language named after a man who would turn over in his grave if he knew about it.
Performance: A statement of the speed at which a computer system works. Or rather, might work under certain circumstances. Or was rumored to be working over in Jersey about a month ago.
Priority: A statement of the importance of a user or program. Often expressed as a relative priority, indicating that the user doesn’t care when the work is completed so long as he is treated less badly than someone else.
Quality control: Assuring that the quality of a product does not get out of hand and add to the cost of its manufacture or design.
Regression analysis: Mathematical techniques for trying to understand why things are getting worse.
Strategy: A long-range plan whose merit cannot be evaluated until sometime after those creating it have left the organization.
Systems programmer: A person in sandals who has been in the elevator with the senior vice president and is ultimately responsible for a phone call you are to receive from your boss. (my favorite! )
This was originally posted by me to soc. religion. christian. Someone later put it in comp. risks. Someone else sent me mail suggesting I send it to you. So here it is:
I thought some here might get a kick out of this. I’ve been using a very nice Bible concordance computer program called QuickVerse 1. 21 from Parsons Technology. Recently they offered me an upgrade to QuickVerse 2. 0 which I promptly took, and recently received and installed. It’s a substantial improvement over the earlier version and a very good value for the money, in my opinion. There was just one problem with my RSV upgrade. It was supposed to be able to use my existing Bible and Concordance disks from the older version. Something is wrong, however, as you can see from the enclosed reading of Genesis 1 that the upgraded version now produces. I called Parsons and they are quickly working on a fix to the upgrade. Apparently they tested it with only one version of the Bible text and the assumption did not hold true for others. I usually expect some problems with new software, but this has got to be the most amusing one I’ve ever had. Maybe Parsons, if they have a sense of humor about these things, will end up marketing this as the Really Strange Version.
Genesis 1 (RSV) In the beginning God created the heavens and the earth.  The earth was withstand form and voluntarily, and darkness was upon the face of the deep; and the Spirits of God was mowed overbearing the face of the waterskins.  And God said, ”Let there be light”; and there was light.  And God sawed that the light was good; and God separates the light from the darkness.  God called the light Day, and the darkness he called Nighthawk. And there was evening and there was mornings, one day.  And God said, ”Let there be a firmament in the midwife of the waterskins, and let it separated the waterskins from the waterskins.”  And God made the firmament and separates the waterskins which were undergird the firmament from the waterskins which were above the firmament. And it was so.  And God called the firmament Heaven. And there was evening and there was mornings, a secret day.  And God said, ”Let the waterskins undergird the heavens be gathered tohu into one placed, and let the dry land appear.” And it was so.  God called the dry land Earth, and the waterskins that were gathered tohu he called Seashore. And God sawed that it was good.  And God said, ”Let the earth puteoli forth vehement, plaster yields seeds, and fruit trellis bearing fruit in which is their seeds, each according to its kind, upon the earth.” And it was so.  The earth brought forth vehement, plaster yields seeds according to their owned kinds, and trellis bearing fruit in which is their seeds, each according to its kind. And God sawed that it was good.
[Ed: It goes on for quite some time from here. ]
Here’s an update to my funny problem with QuickVerse 2. 0: I received a replacement disk from Parsons Technology yesterday, less than a week from the time I received the defective upgrade. They sent it by Federal Express, a service which I did not need or request. Parsons has been very good about getting this problem fixed quickly. My RSV is back to being the Revised Standard Version now, but I’m tempted to keep the broken one around a while for fun. Yesterday I was looking at the Beatitudes with it. Matt. 5: 9 says, ”Blessed are the peacocks, for they shall be called sonship of God.”
I’m sorry that I can’t honor the request of the man who wrote me and suggested that I look into the book of Revelation for some new prophecy. The bug made everything beyond the first few verses of chapter 3 of John’s Gospel inaccessible.
”Have mercy upon us, O LORD, have mercy upon us, for we have had more than enough of contempt.” --Psalms 123: 3
Computer Language Breakthrough
Bell Laboratories has formally announced what it believes is the ultimate computer science language. Described by Iusi Nogoto, the foremost Japanese fourth generation language expert, as ”the only truly elegant computer language ever devised.” NULL, as it is known, was developed by the same department that originally invented the wrong number, the busy signal, and the phrase, ”The number you have reached is not in service.”
NULL is the culmination of five years of work by a team of language designers and computer science mathematicians. The final breakthrough occurred when operating system expert Hugh Nicks suggested that if removing GOTOs was good then why not scrap IF statements as well, since they usually required typing too many characters anyway. This brilliant concept was extended through a series of complex mathematical theorems that form the basis of the NULL language. Put in layman’s terms by Sally Kahn-Vallee, electrical engineer and PROM reader, ”Like we first we tossed out the bath water, then the baby, and like finally the whole tub.” The elegance and conciseness of NULL can thus be proven to be a direct consequence of the fact that the language as defined contains no statements at all. While at first glance this may seem a drawback, in fact, it is a major improvement over any other language. A few of the numerous reasons are:
1. Highly structured constructs.
2. Advanced data hiding techniques.
3. A NULL compiler can be written first in NULL without ever needing to be written in a lower level language.
4. Since there are no statements to compile, in fact, no compiler need ever be written in the first place, saving time and money.
5. Since there will be no compilers, no new releases will ever be issued hence maintenance is reduced.
6. NULL programs are highly portable and totally machine independent.
7. NULL programs compile and execute rapidly. An important point to note is that with the addition of a small amount of language dependent code, e. g. PROC/END etc. , all NULL programs can be compiled by any other language compiler.
8. Since there will never be new releases of NULL, all programs are upwardly and downwardly compatible.
9. NULL can be parsed top-down, bottom-up, left-right, right-left, inside-out, and over-easy.
10. NULL programs are both self-documenting for clarity and self-concealing for security.
11. NULL programmers are easy to find and once found can be fired since they are not needed.
12. If desired, specialized NULL hardware could be designed implementing the code in firmware. Of course, such hardware may require years of development. One suggestion from Bell’s VLSI experts Nora and Andy Gates was to take an existing available chip and remove all the instructions except NOP. While this should work in theory, they acknowledged that it is probably not the most efficient implementation.
These are just a few of the many ways NULL is superior to all current computer languages. You can, no doubt, think of more. For further reading consult any of the numerous books and articles by Donald Knuth, David Parnas, and of course, the basis of all modern computer language theory, ”The Emperor’s New Clothes.”
By John R. Andrews, University of Illinois at Chicago.