Tuesday, September 21, 2021

Nostalgic Reading at Bar

It's about a couple of days into my ninth month of my sabbatical proper. I feel energised, with a little bit more positivity towards what the future might bring, even though I am not ready to start the much maligned job search process.

Or it could be from the natural high from visiting my favourite bar, drinking 4 pints of Guinness, and reading me some computer history articles from The Best of BYTE: Two Decades on the Leading Edge edited by Jay Ranade, and Alan Nash. The Best of BYTE was a book that I had read back in 1999 while I was still in secondary school---I loved that book because it succinctly captured the early history of the now-ubiquitos microcomputer. I remember that it was from there that I learnt of the fast Hartley transform, comb sort, and saw my favourite stack language Forth for the very first time, amidst the voluminous hardware reviews of the day (think the Intel 8086, the 80386, and also the motorola chips that Apple used in the old Macs).

I had finally owned a copy of that book from a library clearance sale from the resource library back in I2R some time in 201X for the price of a single dollar.

It's a nostalgia read for sure. I've also dug into my ancient collection of software, and set up DOSBox to run them. Good old QuickBASIC IDE ran well, and some of my old favourite text editors (like the now defunct Program Editor (Pedit) by Goldshell Media---the link provided goes to a different company by the same name now). The last time that I ran any of these things was back when Windows 98 ruled the Wintel PC space---I vaguely remember using them when Windows XP became a thing, for a couple of reasons:
  1. By then, MS-DOS and QBasic was starting to be less relevant [from the competitive programming front] as Linux became more prevalent in the form of djgpp; even the venerable Turbo C++/Borland C++ and Turbo Pascal were giving way to gcc and Free Pascal respectively.
  2. My eventual drifting towards Cygwin as my final solution towards bringing Linux-like toolchains into the Windows environment.
To top it off, I was spending much more time working on competitive programming related stuff than just writing programs for fun, something that old QBasic/QuickBASIC was excellent at for their rustic but comprehensive standard library.

Did I forget to mention that I had also started mastering Vim as my primary text editor as well, which contributed in no small way to abandon some of the old tools from the MS-DOS era.

Those were the fun times, when I was literally a fourteen-year-old. I learnt a lot about the MS-DOS platform, from the different interrupt calls (oh my good friend INT 10h, how I've missed you!), specific segmented memory locations for faster I/O (hi b800 memory segment!), and integrating these low-level information into good old QBasic for that speed (hi CALL ABSOLUTE together with friends VARPTR/VARSEG and DEF SEG).

Nowadays... well we can't do stuff like that any more. The computer is no longer ``open'' for us to explore. There isn't really a built-in user-friendly programming language/IDE available out of the box that has a simple enough interface to work with. Even doing the traditional ``hello world'' is messy exercise that requires some rudimentary understanding of objects and other crazy stuff, not to mention the need to download some multi-megabyte nonsense juuust to write and run a program (no, not even Python escapes this criticism; Javascript in the browser is not a viable alternative either, since it requires exactly the messy amount of a priori technical knowledge that I was referring to).

I mean, just look at how stupidly easy it was in QBasic:
PRINT "Hello World"
That was it---you type it in a nice little IDE.
Then hit the F5 key (or click on <F5=Run> with the mouse, or use Run⇒Start via the menu). And boom!
You get to see the output, with a nice line to tell you the IDE is waiting for you to press any key to continue. No need to type arcane command line options to compile, manage ``project files''/make files. The IDE even comes with its own comprehensive help system on the QBasic language---all without the need of the 'net. (If you want to play with it, grab it from the Internet Archive. The file is a self-extracting executable that should open nicely under your favourite compressed file program.)

Sure, one can always do it with the old school batch file in Windows, but more likely than not, the console screen will show up fleetingly and then disappear. And writing batch files is the worst kind of ``programming'' that can be done, since it is really a command ordinator (hello my lost French!), a more serious affair than frivolous exploration with say QBasic.

I mean, I can go on about QBasic (it is my first programming language/environment where I learnt my foundations in from zero after all), but I won't. The point is that times are so different now.

Everyone wants to build an app for this, an app for that. Even those who go into those ``coding bootcamps'' don't really learn the joy of figuring stuff out through understanding---it's about hopping on the latest trend to make the alleged big bucks and bail out with their new line item in their resume to hop on to the next bandwagon.

Urgh. I don't really want to talk about it any more. Till the next update then.

No comments: