Monday, February 08, 2010

Real Programmers

For Nick Barnes, Johns Mashey and yes you Michael Tobis, and the other python freaks out there, one of the bunnies, Willard, points us to what real programmers do . .

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-- two different and subtly incompatible user interfaces, an arcane and complicated teletype 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-- like having the best parts of Fortran and assembly language in one place. (Not to mention some of the more creative uses for #define.)
It's quite old (1983), but not dated


Hank Roberts said...

Unknown said...

Why can't real programmers tell the difference between Christmas and Halloween?

Nick Barnes said...

In the spirit of your recent re-post of Hank's McCarthy memoirs, I should point out that several of us do remember that era. John Mashey certainly has Real Programmer credentials. Although I may be no John Mashey, I have written swathes of self-modifying assembly language; I have toggled boot code into front panels; I have run multi-hour debugging sessions over a phone; I have pored over printed hex core dumps; I have identified - from those core dumps - and reported defects in the caching and VM hardware of one of John's own CPUs, and in the lowest level CPU management code of the OS of John's leading competitor at the time; I have pulled 40- and 50-hour shifts fixing broken Fortran; and somewhere on a shelf I have a bound line-printed JCL reference manual.
I earned my stripes. Ain't nobody gonna take that away from me.

Nick Barnes said...

Oh, and I've forgotten more cheap octal gags than you whippersnappers will ever know.

AndyD said...


Because Oct(31) = Dec(25)

Not that Real Programmers ever use Decimal..

Anonymous said...

Open source temperature calculation. Mickey

pough said...

@Anonymous (10:58 AM) - Wow. I was reading that as though it were a parody, but it seems to be serious! Quite the Dunning Kruger on display there.

willard said...

Not John Mashey, the Amazon reviewer (see ?

Nick Barnes said...

@willard: only John could say for sure, but I find it pretty unlikely that there are two John Masheys who could comment intelligently on both Hennessey/Patterson and on David Michaels' book, and the one who you may encounter here certainly could.

Hank Roberts said...

Same John Mashey (going by the published face and description); haven't met the man. Wish he'd publish his calendar of SF Bay climate science lectures before they happen!

Rattus Norvegicus said...

Anon @10:58 (aka Mickey):

That guy is as dumb as a stump. But then I guess real programmers do scientific processing in Clojure.

I might point out that he did not even begin to do the gridding and spatial averages which are necessary to get the correct result. Much less calculate anomalies.

A complete bozo.

John Mashey said...

Thanks (to Nick) for the overly-kind words, but let me clarify the record:

1) Once upon a time I was a REAL PROGRAMMER, but as in many fairy-tales, that was long ago an far away.. I wrote FORTRAN code. I wrote code for the Olivetti Programma 101, with its vast memory of 128 instruction steps.

I wrote 10KLOCs of IBM Assembler code. I even wrote a program to teach students S/360 assembler, and it had self-modifying code, and used the high 8-bits of addresses as flags. So, originally written ~1970, it was still running post-2000 in 24-bit compatibility mode. I wrote APL code.

I cowrote the troff MM macro package, and FORTRAN programmers were wimps compared to serious troffers.
I learned C from reading Dennis' 20-page BTL memo, and looking at code ... because that was it.

When I was doing my shift as backup tech support for the first real UNIX computer center, I used a TI725 from home to patch filesystems by hand ... this being before fsck.

2) But in 1978, I became a Supervisor... and in any case, I'd spent 1975-1977 getting people *not* to write C code, but use existing tools and shell scripts ... i.e., this was more or less the origin of serious shell programming (as well as PATH searches, environment variables, etc). During 1978-1981, I managed a project whose first release had some Pl/I (for the S/360 side), and 20KLOC on UNIX, of which about 5KLOC was C, and the other 15KLOC was shell&awk scripts.

So clearly, my REAL PROGRAMMER-dom was already in serious jeopardy even before I became a manager. I certainly did manage Real Programmers. Bringing up machines with {new UNIX port, new compilers, new hardware, and first-silicon microprocessors is near the edge of REAL PROGRAMMERness.
Admittedly, in the MIPS days, I did get slightly involved in some hairy debugging, especially with global optimizing C compilers and the strange interactions with UNIX kernel code and the just-implemented and not-yet-well-understood "volatile" attribute. And I did write the first cut at the MIPS TLB refill code...
but that was rare.

3) So, my REAL PROGRAMMER days are long gone.... and much as I admire Python, I've never written a line of it, and the closest I've gotten was sitting net to Guido at an all-day company-evaluation meeting.

A this point my only real remaining trace of REAL PROGRAMMER-dom is my California license plate "UNIX".
That is good for occasional amusement.
Scene: I'm at stoplight. Young guy pulls up next to me, rolls his window down, yells:

"Cool license, dude, cool plate! I'm a UNIX sysadmin. Is that what you do ? Is that why you have that plate?"
Me: "Sorry, not for a very long time."
thinking: not since before you were born...

willard said...

Seems that real programming got replaced by network analysis:

EliRabett said...

FWIW, please no link ambush. You can use html

The last link was

willard said...

John Mashey grew out of real programming to do interesting network-analysis, see for instance:

Plagiarism, Conspiracies, Fellonies, an evolutive project at Desmogblog.

PS. If that is better, erase the previous messages and this post scriptum.