From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/kernel/test/ram_file_SUITE_data/realmen.html | 520 +++++++++++++++++++++++ 1 file changed, 520 insertions(+) create mode 100644 lib/kernel/test/ram_file_SUITE_data/realmen.html (limited to 'lib/kernel/test/ram_file_SUITE_data/realmen.html') diff --git a/lib/kernel/test/ram_file_SUITE_data/realmen.html b/lib/kernel/test/ram_file_SUITE_data/realmen.html new file mode 100644 index 0000000000..c810a5d088 --- /dev/null +++ b/lib/kernel/test/ram_file_SUITE_data/realmen.html @@ -0,0 +1,520 @@ +Real Programmers Don't Use PASCAL + +

Real Programmers Don't Use PASCAL

+ +

Ed Post
+Graphic Software Systems
+ +P.O. Box 673
+25117 S.W. Parkway
+Wilsonville, OR 97070
+Copyright (c) 1982
+

+ + +

(decvax | ucbvax | cbosg | pur-ee | lbl-unix)!teklabs!ogcvax!gss1144!evp

+ + +Back in the good old days -- the "Golden Era" of computers, it was +easy to separate the men from the boys (sometimes called "Real Men" +and "Quiche Eaters" in the literature). During this period, the Real +Men were the ones that understood computer programming, and the Quiche +Eaters were the ones that didn't. A real computer programmer said +things like "DO 10 I=1,10" and "ABEND" (they +actually talked in capital letters, you understand), and the rest of +the world said things like "computers are too complicated for +me" and "I can't relate to computers -- they're so +impersonal". (A previous work [1] points out that Real Men don't +"relate" to anything, and aren't afraid of being impersonal.)

+ +But, as usual, times change. We are faced today with a world in which +little old ladies can get computerized microwave ovens, 12 year old +kids can blow Real Men out of the water playing Asteroids and Pac-Man, +and anyone can buy and even understand their very own Personal +Computer. The Real Programmer is in danger of becoming extinct, of +being replaced by high-school students with TRASH-80s!

+ +There is a clear need to point out the differences between the typical +high-school junior Pac-Man player and a Real Programmer. Understanding +these differences will give these kids something to aspire to -- a +role model, a Father Figure. It will also help employers of Real +Programmers to realize why it would be a mistake to replace the Real +Programmers on their staff with 12 year old Pac-Man players (at a +considerable salary savings).

+ + +

LANGUAGES

+ +The easiest way to tell a Real Programmer from the crowd is by the +programming language he (or she) uses. Real Programmers use FORTRAN. +Quiche Eaters use PASCAL. Nicklaus Wirth, the designer of PASCAL, was +once asked, "How do you pronounce your name?". He replied +"You can either call me by name, pronouncing it 'Veert', or call +me by value, 'Worth'." One can tell immediately from this comment +that Nicklaus Wirth is a Quiche Eater. The only parameter passing +mechanism endorsed by Real Programmers is call-by-value-return, as +implemented in the IBM/370 FORTRAN G and H compilers. Real +programmers don't need abstract concepts to get their jobs done: they +are perfectly happy with a keypunch, a FORTRAN IV compiler, and a +beer.

+ +

+ +If you can't do it in FORTRAN, do it in assembly language. If you can't do +it in assembly language, it isn't worth doing.

+ + +

STRUCTURED PROGRAMMING

+ +Computer science academicians have gotten into the "structured pro- +gramming" rut over the past several years. They claim that programs +are more easily understood if the programmer uses some special +language constructs and techniques. They don't all agree on exactly +which constructs, of course, and the examples they use to show their +particular point of view invariably fit on a single page of some +obscure journal or another -- clearly not enough of an example to +convince anyone. When I got out of school, I thought I was the best +programmer in the world. I could write an unbeatable tic-tac-toe +program, use five different computer languages, and create 1000 line +programs that WORKED. (Really!) Then I got out into the Real +World. My first task in the Real World was to read and understand a +200,000 line FORTRAN program, then speed it up by a factor of two. Any +Real Programmer will tell you that all the Structured Coding in the +world won't help you solve a problem like that -- it takes actual +talent. Some quick observations on Real Programmers and Structured +Programming:

+ +

+ +Data structures have also gotten a lot of press lately. Abstract Data +Types, Structures, Pointers, Lists, and Strings have become popular in +certain circles. Wirth (the above-mentioned Quiche Eater) actually +wrote an entire book [2] contending that you could write a program +based on data structures, instead of the other way around. As all Real +Programmers know, the only useful data structure is the +array. Strings, lists, structures, sets -- these are all special cases +of arrays and and can be treated that way just as easily without +messing up your programing language with all sorts of +complications. The worst thing about fancy data types is that you have +to declare them, and Real Programming Languages, as we all know, have +implicit typing based on the first letter of the (six character) +variable name.

+ + +

OPERATING SYSTEMS

+ +What kind of operating system is used by a Real Programmer? CP/M? God +forbid -- CP/M, after all, is basically a toy operating system. Even +little old ladies and grade school students can understand and use +CP/M.

+ +Unix is a lot more complicated of course -- the typical Unix hacker +never can remember what the PRINT command is called this +week -- but when it gets right down to it, Unix is a glorified video +game. People don't do Serious Work on Unix systems: they send jokes +around the world on USENET and write adventure games and research +papers.

+ +No, your Real Programmer uses OS/370. A good programmer can find and +understand the description of the IJK305I error he just got in his JCL +manual. A great programmer can write JCL without referring to the +manual at all. A truly outstanding programmer can find bugs buried in +a 6 megabyte core dump without using a hex calculator. (I have +actually seen this done.)

+ +OS/370 is a truly remarkable operating system. It's possible to des- +troy days of work with a single misplaced space, so alertness in the +programming staff is encouraged. The best way to approach the system +is through a keypunch. Some people claim there is a Time Sharing +system that runs on OS/370, but after careful study I have come to the +conclusion that they are mistaken.

+ + +

PROGRAMMING TOOLS

+ +What kind of tools does a Real Programmer use? In theory, a Real +Programmer could run his programs by keying them into the front panel +of the computer. Back in the days when computers had front panels, +this was actually done occasionally. Your typical Real Programmer +knew the entire bootstrap loader by memory in hex, and toggled it in +whenever it got destroyed by his program. (Back then, memory was +memory -- it didn't go away when the power went off. Today, memory +either forgets things when you don't want it to, or remembers things +long after they're better forgotten.) Legend has it that Seymour +Cray, inventor of the Cray I supercomputer and most of Control Data's +computers, actually toggled the first operating system for the CDC7600 +in on the front panel from memory when it was first powered +on. Seymour, needless to say, is a Real Programmer.

+ +One of my favorite Real Programmers was a systems programmer for Texas +Instruments. One day, he got a long distance call from a user whose +system had crashed in the middle of some important work. Jim was able +to repair the damage over the phone, getting the user to toggle in +disk I/O instructions at the front panel, repairing system tables in +hex, reading register contents back over the phone. The moral of this +story: while a Real Programmer usually includes a keypunch and +lineprinter in his toolkit, he can get along with just a front panel +and a telephone in emergencies.

+ +In some companies, text editing no longer consists of ten engineers +standing in line to use an 029 keypunch. In fact, the building I work +in doesn't contain a single keypunch. The Real Programmer in this +situation has to do his work with a text editor program. Most systems +supply several text editors to select from, and the Real Programmer +must be careful to pick one that reflects his personal style. Many +people believe that the best text editors in the world were written at +Xerox Palo Alto Research Center for use on their Alto and Dorado +computers [3]. Unfortunately, no Real Programmer would ever use a +computer whose operating system is called SmallTalk, and would +certainly not talk to the computer with a mouse.

+ +Some of the concepts in these Xerox editors have been incorporated +into editors running on more reasonably named operating systems. EMACS +and VI are probably the most well known of this class of editors. The +problem with these editors is that Real Programmers consider "what you +see is what you get" to be just as bad a concept in text editors as it +is in women. No, the Real Programmer wants a "you asked for it, you +got it" text editor -- complicated, cryptic, powerful, unforgiving, +dangerous. TECO, to be precise.

+ +It has been observed that a TECO command sequence more closely resem- +bles transmission line noise than readable text [4]. One of the more +entertaining games to play with TECO is to type your name in as a +command line and try to guess what it does. Just about any possible +typing error while talking with TECO will probably destroy your +program, or even worse -- introduce subtle and mysterious bugs in a +once working subroutine.

+ +For this reason, Real Programmers are reluctant to actually edit a +program that is close to working. They find it much easier to just +patch the binary object code directly, using a wonderful program +called SUPERZAP (or its equivalent on non-IBM machines). This works so +well that many working programs on IBM systems bear no relation to +the original FORTRAN code. In many cases, the original source code is +no longer available. When it comes time to fix a program like this, no +manager would even think of sending anything less than a Real +Programmer to do the job -- no Quiche Eating structured programmer +would even know where to start. This is called "job security".

+ +Some programming tools NOT used by Real Programmers:

+

+ + +

THE REAL PROGRAMMER AT WORK

+ +Where does the typical Real Programmer work? What kind of programs are +worthy of the efforts of so talented an individual? You can be sure +that no real Programmer would be caught dead writing +accounts-receivable programs in COBOL, or sorting mailing lists for +People magazine. A Real Programmer wants tasks of earth-shaking +importance (literally!):

+ +

+ +Some of the most awesome Real Programmers of all work at the Jet Pro- +pulsion Laboratory in California. Many of them know the entire +operating system of the Pioneer and Voyager spacecraft by heart. With +a combination of large ground-based FORTRAN programs and small +spacecraft-based assembly language programs, they can to do incredible +feats of navigation and improvisation, such as hitting ten-kilometer +wide windows at Saturn after six years in space, and repairing or +bypassing damaged sensor platforms, radios, and batteries. Allegedly, +one Real Programmer managed to tuck a pattern-matching program into a +few hundred bytes of unused memory in a Voyager spacecraft that +searched for, located, and photographed a new moon of Jupiter.

+ +One plan for the upcoming Galileo spacecraft mission is to use a grav- +ity assist trajectory past Mars on the way to Jupiter. This trajectory +passes within 80 +/- 3 kilometers of the surface of Mars. Nobody is +going to trust a PASCAL program (or PASCAL programmer) for navigation +to these tolerances.

+ +As you can tell, many of the world's Real Programmers work for the +U.S. Government, mainly the Defense Department. This is as it should +be. Recently, however, a black cloud has formed on the Real +Programmer horizon.

+ +It seems that some highly placed Quiche Eaters at the Defense +Department decided that all Defense programs should be written in some +grand unified language called "ADA" (registered trademark, DoD). For +a while, it seemed that ADA was destined to become a language that +went against all the precepts of Real Programming -- a language with +structure, a language with data types, strong typing, and +semicolons. In short, a language designed to cripple the creativity of +the typical Real Programmer. Fortunately, the language adopted by DoD +has enough interesting features to make it approachable: it's +incredibly complex, includes methods for messing with the operating +system and rearranging memory, and Edsgar Dijkstra doesn't like it +[6]. (Dijkstra, as I'm sure you know, was the author of "GoTos +Considered Harmful" -- a landmark work in programming +methodology, applauded by Pascal Programmers and Quiche Eaters alike.) +Besides, the determined Real Programmer can write FORTRAN programs in +any language.

+ +The real programmer might compromise his principles and work on some- +thing slightly more trivial than the destruction of life as we know +it, providing there's enough money in it. There are several Real +Programmers building video games at Atari, for example. (But not +playing them. A Real Programmer knows how to beat the machine every +time: no challange in that.) Everyone working at LucasFilm is a Real +Programmer. (It would be crazy to turn down the money of 50 million +Star Wars fans.) The proportion of Real Programmers in Computer +Graphics is somewhat lower than the norm, mostly because nobody has +found a use for Computer Graphics yet. On the other hand, all +Computer Graphics is done in FORTRAN, so there are a fair number +people doing Graphics in order to avoid having to write COBOL +programs.

+ + +

THE REAL PROGRAMMER AT PLAY

+ +Generally, the Real Programmer plays the same way he works -- with +computers. He is constantly amazed that his employer actually pays +him to do what he would be doing for fun anyway, although he is +careful not to express this opinion out loud. Occasionally, the Real +Programmer does step out of the office for a breath of fresh air and a +beer or two. Some tips on recognizing real programmers away from the +computer room:

+

+ + +

THE REAL PROGRAMMER'S NATURAL HABITAT

+ +What sort of environment does the Real Programmer function best in? +This is an important question for the managers of Real +Programmers. Considering the amount of money it costs to keep one on +the staff, it's best to put him (or her) in an environment where he +can get his work done.

+ +The typical Real Programmer lives in front of a computer terminal. +Surrounding this terminal are:

+

+ +The Real Programmer is capable of working 30, 40, even 50 hours at a +stretch, under intense pressure. In fact, he prefers it that way. Bad +response time doesn't bother the Real Programmer -- it gives him a +chance to catch a little sleep between compiles. If there is not +enough schedule pressure on the Real Programmer, he tends to make +things more challenging by working on some small but interesting part +of the problem for the first nine weeks, then finishing the rest in +the last week, in two or three 50-hour marathons. This not only +inpresses his manager, who was despairing of ever getting the project +done on time, but creates a convenient excuse for not doing the +documentation. In general:

+ +

+ +

THE FUTURE

+ +What of the future? It is a matter of some concern to Real Programmers +that the latest generation of computer programmers are not being +brought up with the same outlook on life as their elders. Many of them +have never seen a computer with a front panel. Hardly anyone +graduating from school these days can do hex arithmetic without a +calculator. College graduates these days are soft -- protected from +the realities of programming by source level debuggers, text editors +that count parentheses, and user friendly operating systems. Worst of +all, some of these alleged computer scientists manage to get degrees +without ever learning FORTRAN! Are we destined to become an industry +of Unix hackers and Pascal programmers?

+ +On the contrary. From my experience, I can only report that the +future is bright for Real Programmers everywhere. Neither OS/370 nor +FORTRAN show any signs of dying out, despite all the efforts of +Pascal programmers the world over. Even more subtle tricks, like +adding structured coding constructs to FORTRAN have failed. Oh sure, +some computer vendors have come out with FORTRAN 77 compilers, but +every one of them has a way of converting itself back into a FORTRAN +66 compiler at the drop of an option card -- to compile DO loops like +God meant them to be.

+ +Even Unix might not be as bad on Real Programmers as it once was. The +latest release of Unix has the potential of an operating system worthy +of any Real Programmer. It has two different and subtly incompatible +user interfaces, an arcane and complicated terminal driver, virtual +memory. If you ignore the fact that it's structured, even C +programming can be appreciated by the Real Programmer: after all, +there's no type checking, variable names are seven (ten? eight?) +characters long, and the added bonus of the Pointer data type is +thrown in. It's like having the best parts of FORTRAN and assembly +language in one place. (Not to mention some of the more creative uses +for #define.)

+ +No, the future isn't all that bad. Why, in the past few years, the +popular press has even commented on the bright new crop of computer +nerds and hackers ([7] and [8]) leaving places like Stanford and +M.I.T. for the Real World. From all evidence, the spirit of Real +Programming lives on in these young men and women. As long as there +are ill-defined goals, bizarre bugs, and unrealistic schedules, there +will be Real Programmers willing to jump in and Solve The Problem, +saving the documentation for later. Long live FORTRAN!

+ +

ACKNOWLEGEMENT

+ +I would like to thank Jan E., Dave S., Rich G., Rich E. for their help +in characterizing the Real Programmer, Heather B. for the +illustration, Kathy E. for putting up with it, and atd!avsdS:mark for +the initial inspriration.

+ +

REFERENCES

+ +[1] Feirstein, B., Real Men Don't Eat Quiche, New York, + Pocket Books, 1982.

+ +[2] Wirth, N., Algorithms + Datastructures = Programs, + Prentice Hall, 1976.

+ +[3] Xerox PARC editors . . .

+ +[4] Finseth, C., Theory and Practice of Text Editors - + or - a Cookbook for an EMACS, B.S. Thesis, + MIT/LCS/TM-165, Massachusetts Institute of Technology, + May 1980.

+ +[5] Weinberg, G., The Psychology of Computer Programming, + New York, Van Nostrabd Reinhold, 1971, page 110.

+ +[6] Dijkstra, E., On the GREEN Language Submitted to the DoD, + Sigplan notices, Volume 3, Number 10, October 1978.

+ +[7] Rose, Frank, Joy of Hacking, Science 82, Volume 3, Number 9, + November 1982, pages 58 - 66.

+ +[8] The Hacker Papers, Psychology Today, August 1980.

+ +[9] Datamation, July, 1983, pp. 263-265.

+ +


+ +
Hacker's Wisdom/ Real Programmers +Don't Use PASCAL
+ + +Last modified: Wed Mar 27 17:48:50 EST 1996 -- cgit v1.2.3