Real Programmers Don't Use Pascal (1982)
web.mit.edu
web.mit.edu
“The children now love luxury; they have bad manners, contempt for authority; they show disrespect for elders and love chatter in place of exercise. Children are now tyrants, not the servants of their households. They no longer rise when elders enter the room. They contradict their parents, chatter before company, gobble up dainties at the table, cross their legs, and tyrannize their teachers.”
Ive ranted before about this but as the learned ancients have already spoken about it then it should be obvious to all by now - each generation is more lenient in its upbringing of the next generation, sees problems arise from that, and then tries to explain it away by any means other than accepting blame for the trouble self-inflicted.
Im old enough to have seen this repeated 3x in my own lifetime and a small amount of reading can show to anybody else that this has been the case for over 2000 years. Neither Tim, Jeff, Satya, Richard or (name your fav 'modern' CEO here) can solve this. Its a human psychology problem which we have been happily creating, recognising, refusing blame for, and buying snake-oil solutions for, for as long as the world has had the written word.
Wake up people.
For the record: Im huge fan of freepascal but write most of my own code in python out of laziness(batteries included is powerful motivator for me). Sometimes dabble in C#, now learning ecmascript(again), and next trying again to learn nim and C. Father, product manager.
Because Pascal did not have good support for strings and variable-length arrays, TeX manages all its own memory (allocating and freeing from a single giant Pascal array called “mem”); because Pascal did not have “break” or “return” he implemented those features himself with a preprocessor and a certain disciplined use of goto; because Pascal required certain things (type declarations, labels) to be all in the same place and other things to be scattered apart, he wrote a preprocessor to rearrange sections of a program in any order; because Pascal compilers varied in their support for features like pointers and nested procedures, TeX uses only a very restricted subset of Pascal.
Real programmers do whatever it takes.
It is written using a system called WEB, and Knuth calls the idea literate programming — see article at http://www.literateprogramming.com/knuthweb.pdf and the WEB manual at http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pd...
All this is somewhat hard to read for most modern programmers IMO. In my free time I hope to make these more readable, and I've started with simply reading and annotating the simplest of the programs written in WEB: https://shreevatsa.github.io/tex/program/pooltype/ https://shreevatsa.github.io/tex/program/tangle/ — if anyone reading this is interested let me know (create an issue on the GitHub repo or something).
Pascal have the same type names, but does not allow implicit declarations.
Personally i associate it with Pascal because i first saw it on an IRC channel's topic back in the mid-90s :-).
Cooncidentally in Pascal, real and integer are the names of two numeric data types.
2015: https://news.ycombinator.com/item?id=10214480
2015: https://news.ycombinator.com/item?id=9422622
2012: https://news.ycombinator.com/item?id=3585286
From 2018, this has a good comment: https://news.ycombinator.com/item?id=17105233
Ahem. No. Real Programmers use machine code.
Reading that brings back one of the best memories of my childhood.
The next Real Programmers programmed in octal, and sometime made mistakes balancing their checkbook by doing octal instead of decimal mathematics. See https://www.agnesscott.edu/lriddle/women/hopper.htm .
You'll notice that Hopper and the ENIAC programmers are women. Programming at this time was seen as a woman's job.
Then it became seen as a career for men. The early women programmers were overlooked; the ENIAC programmers weren't named in the early photos, and believed to be models - 'Refrigerator Ladies'. See http://mentalfloss.com/article/53160/meet-refrigerator-ladie... .
As computers became more powerful, hex became the de facto. Much of the 'heroic literature of the olden days' comes from this era, so we view history through a decidedly - to quote the link text - "macho" lens.
While it's certainly an enjoyable story, if we repeat it without the context, we continue to obscure the work of the first Real Programmers, and we propagate the false implication that "Real Programming" is intertwined with concepts of masculinity.
Wanted me to implement it with analog circuits and jungle logic.
I went fuck that and hand built a board with an 8051. Wrote the program in assembly on paper. Hand translated it to hex. And then used a hex editor to generate the hex file. Which I used to burn the epprom. Took two days to debug it.
Actual thing. Friend of mine is retired black female programmer who mentioned hot patching assembly on IBM mainframes back in the late 60's.
http://www.mit.edu/~xela/tao.html
"The Silent Void
Thus spake the Master Programmer:
When you have learned to snatch the error code from the trap frame, it will be time for you to leave."
If the people who read this essay don't get that it's a joke after at most the first sentence, you have bigger problems than that.
t_time.
Real Programmers drink Coke:
-deeply- nested loops at that.
I once was on a thread in a forum discussing state machines, and somewhere in the convo the use of GOTO popped up. I wasn't for it, but somebody made mention of how it could be used to implement a state machine very compactly.
Then he showed his code - it was done in PBASIC. I saved a copy of that code, because it was very, very elegant. While I knew there were certain very niche cases for GOTO, I never thought that a state machine would qualify. For me, it does now.
I don't have the code handy, but it reminded me of Duff's device, if you know what that is - just done in BASIC - and not as a SWITCH-CASE of course...
Keep in mind that despite Real Programmers being referred to as "he" throughout the article, the Real Programmer who headed that effort was a "she" - https://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist)
And oh wow, it appears that some large portion (if not all) of the book is available on Cringley's web site: https://www.cringely.com/2013/02/04/accidental-empires-part-...
As well, TRS-80's from Radio Shack were often called "TRASH-80s" to disparage them.
"As all Real Programmers know, the only useful data structure is the Array."
As someone trying to learn APL this is hilarious and apt!
A proud moment in tech support for me (akin to the telephone and front panel switches story) was walking a non-technical user through using vi to edit a file, over the phone.