30-up: You know what? Those really weren't the days

Happy anniversary, readers, from the original Git it girl

Verity Stob gloved with pearls

Stob It's 30 years since .EXE Magazine carried the first Stob column; this is its pearl Perl anniversary. Rereading article #1, a spoof self-tester in the Cosmo style, I was struck by how distant the world it invoked seemed. For example:

Your program requires a disk to have been put in the floppy drive, but it hasn't. What happens next?

The original answers, such as:

e) the program crashes out into DOS, leaving dozens of files open

would now need to be supplemented by

f) what's 'the floppy drive' already, Grandma? And while you're at it, what is DOS? Part of some sort of DOS and DON'TS list?

I say: sufficient excuse to present some Then and Now comparisons with those primordial days of programming, to show how much things have changed - or not.

1988: Drag-and-drop was a showy-offy but not-quite-satisfactory technology.

My first DnD encounter was by proxy. In about 1985 my then boss, a wise and cynical old Brummie engineer, attended a promotional demo, free wine and nibbles, of an exciting new WIMP technology called GEM. Part of the demo was to demonstrate the use of the on-screen trash icon for deleting files.

According to Graham's gleeful report, he stuck up his hand at this point. "What happens if you drag the clock into the wastepaper basket?'

The answer turned out to be: the machine crashed hard on its arse, and it needed about 10 minutes embarrassed fiddling to coax it back onto its feet. At which point Graham's arm went up again. "What happens if you drop the wastepaper basket into the clock?'

Drag-ons 'n' drag-offs

GEM may have been primitive, but it was at least consistent.

The point became moot a few months later, when Apple won a look-and-feel lawsuit and banned the GEM trashcan outright.

2018: Not that much has changed. Windows Explorer users: how often has your mouse finger proved insufficiently strong to grasp the file? And you have accidentally dropped the document you wanted into a deep thicket of nested server directories?

Or how about touch interface DnD on a phone, where your skimming pinkie exactly masks from view the dragged thing?

Well then.

However, I do confess admiration for this JavaScript library that aims to make a dragging and dropping accessible to the blind. Can't fault its ambition.

Editing

1988: Programmers' editors - and indeed all other programs, but bear with me - still showed code in light text against a dark background - specifically green or amber out of black.

I confess a fondness for the old green screens. Even in those days, my short term memory was goldfish-poor. Whenever I declared a LongMixedCaseIdentifier, I instantly forgot its precise spelling. But with high-persistence phosphor, you could still glimpse the ghost of the declaration after a page down, if you were quick.

2018: Trendy programmers' editors, both cloud- and desk-based, once again show code in light text against a dark background. There are dozens of such themes, with names like "Darkula".

Verity Stob

In defence of Comic Sans

READ MORE

All these gloom-inducing environments have one important feature in common: they separate the tastes of the generations. The under-30s adore 'em; but the over-45s generally prefer the black-on-white, ersatz dead tree look. Sorry about that, chaps. Look on the bright side. At least BBC researchers no longer stop you in the street and ask why you don't listen to Radio 1.

Very trendy programmers' editors, by the way, also come with ligature fonts. Their use means that, for example, the character sequence != is automatically rendered as a double width ≠, and facsimile arrows like => are turned into real ⇒ symbols. I tried Fira Code and, while the novelty amuses for an hour or so, after a day I felt it was enhancing the programming experience to the same extent that anti-static strips have cured car sickness. Back to Consolas Old Fart for me.

The trendiest font of them all is Dank Monotype, but it is much too trendy for you, soldier. Forty quid too trendy.

Besides, given its mouldy moniker, and its association with the Dark Side, I feel it ought by rights to be a Gothic font.

Girls and boys

1988: Proceeding from personal experience, exactly as one never should: in my first job, the female-to-male ratio of programmers was 2 : 3. Possibly 2 : 2.4, if one adjusts the M contribution to take into account the programming skills of young Lennie, who was not the sharpest bit in the 64KB segment.

2018: In my current team, the ratio is 1 : 4 and thus the brogrammerhood dominates, in line with the general perception that female representation in tech is in long term decline.

However, I invite you to consider an alternative explanation for the high proportion of women in ye olden days, which can perhaps be inferred from the phrasing of some remarks of no less than Grace Hopper. Namely that the corps of computer programmers was considered by traditional management to be an annoyingly expensive extension of the typing pool. Whose members should therefore be recruited from the same sex, and organised and paid on the same basis. Not so much a lost era of equality and emancipation as 'Great opportunities for clever little Algol engineeresses!'

Version control

1988: Ah, the Polytron Version Control System! In those days it was confidently and unquestioningly believed, in that peculiar way that wrong information is disseminated, that any attempt to merge different edited versions of a file would be as sensible and stable as mixing matter and anti-matter.

Thus the workflow was: connect to the archive, check out and lock a good selection of vital files, edit them a bit, then depart for two weeks in Corfu without releasing locks, secure in the knowledge that, short of guessing your password, any progress on the project by colleagues was effectively prevented. Marvellous.

PVCS still exists, by the way, having been owned by eight companies in the interval. Micro Focus like it so much, they bought it twice.

2018: Git is beyond satire. Its dominance is so complete, and its operation so baffling, that nobody bats an eyelid when two Microsoft bloggers spend gallons of e-ink and thousands of words advocating against and for the use of a single Git command.

I know when I am beaten. Rather than attempting my own gittish humour, can I recommend a spoof Git man page generator? Its chief fault is that it is too realistic. Try these samples, two of which are generated by the joke page, and two come from an actual Tortoise Git change log:

  • Allow changing the similarity index threshold (using the advanced option "DiffSimilarityIndexThreshold")
  • Various set objects logged by branches in the non-saved unstaged tag, but that are not in CONVERT_TREE, are annotated in a temporary tag.
  • Provided that SHOUT_NEW_OBJECT is not pulled, git-yelp-archive --penetrate-mutilate-log can apply a passive git-determine-change before bundling the upstream
  • With Detached Head, Push Dialog has Local Branch filled with HEAD or Commit Hash

Can you detect which are real and which are spoof? (lɐǝɹ ǝɹɐ ʇsɐl puɐ ʇsɹᴉℲ).

Mind your language

1988: It being too early for the work of Bjarne Stroustrup or the cult of OO to have permeated to the great unwashed, the best available tool for the working PC programmer was Borland's Turbo Pascal, a tool written by Anders Hejlsberg.

2018: Thirty years on, I find myself still squirming in Anders' lap, as it were. Not because I still use Turbo Pascal's successor, poor old Delphi, now rated as one of the least popular programming environments (although I do occasionally still run it up - it remains the best environment for generating popup dialogs on a one second timer), but because I am now a TypeScript programmer, happy to bore anyone who comes too close with that language's virtues.

Of course, between then and now, there was the notorious programming conference in the '90s when Mr Hejlsberg first announced his intention to abandon Pascal's begin and end and use {curly brackets} as block containers, and a voice from the audience hissed JUDAS.

We want information

1988: Back in the day, long before people used the loathsome phrase "back in the day", it was really hard to find stuff out. There were books by Peter Norton - the Man Who Knew He Knew How To Wear A Shirt. There were magazines such as .EXE and Dr Dobb's. There was the genius in the next office who hated being disturbed.

But mostly, if you wanted to know the call to fling the video card into graphics mode, or how to receive interrupt-driven communication from the serial port, and none of the above sources came through, you were seriously stuck up a gum tree. You might well end up spending £££s on a third party library, complete with security dongle, all for the benefit of about six lines of code.

2018: Modern programming is an iterative cycle. No, not the "red, green, refactor" cycle by which the TDD groupies set so much store. Rather the "Google, click, Stack Overflow, copy, paste, compile, try it, coffee" cycle that actually makes up most of modern coding. And do you know what? I do think this is a Good Thing. ®

Stob-note

For those not yet familiar with our brilliant columnist, Verity Stob is the pseudonym of a software developer based in London. Since 1988, she has written her "Verity Stob" column for .EXE magazine, Dr. Dobb's Journal and, since 2002, The Register.




Biting the hand that feeds IT © 1998–2018