I started with a Sinclair ZX81, BASIC and machine code (with only 1KB RAM to play with, machine code was more efficient).
I then moved onto a VIC=20, a Memotech MTX500 (as seen in Weird Science with Kelly LeBrock), BASIC and Z80 assembler. At school we had PETs and that was BASIC, CESIL and machine code (CESIL was a British school programming language, to teach programming fundamentals “Computer Education in Schools Introductory Language”).
I did some DEC DCL and Fortran working for an oil exploration company during the summer between school and college.
College was PETs again, then they introduced IBM PC clones and BASICA and in the second year, COBOL on a Prime Mini.
On my first day of college, we had to write a simple program to calculate the minimum number of coins to provide as change - to see how much we knew about programming. I had the task finished in about 10 minutes, so for the remaining hour, I punched in some machine code, split the screen into multiple windows, used an 8x8 character matrix in the top window to show the input amount and drew piles of coins in the bottom window. All that on an 80x25 text screen.
The lecturer looked at what I had done and exclaimed, “wow, I didn’t know you could do that with a computer!” Boy, I was the one who was supposed to be there to learn! But that pretty much summed up my college degree, running rings around the teaching staff…
I did some work for Upjohn Pharmaceuticals one day a week, whilst a college and learnt RPGII/III on an IBM System/36 and System/38.
My first job was maintaining a BASIC financial reporting system, written by FORTRAN programmers and maintained by COBOL programmers - and neither had ever read a BASIC manual, no FOR…NEXT loops, no WHILE…WEND, just :
40 do something
50 A=A+1: IF A<=50 THEN GO TO 40
Then a lot of COBOL (DEC VAX/VMS, ICL and IBM mainframes) and then Lightspeed Pascal and C on a Mac, 4th Dimension, Excel macros (v1 of Excel, no VBA), Lotus 1-2-3 macros, C, C++, 8086 assembler, QuickBasic, Visual Basic 3 - 6, dBase, FoxPro, VBA, Access, Forte, SQL (various dialects), Java/J++ (I actually reported a bug in J++ 1.0 that never got fixed*), HTML/CSS, PowerShell, Bash, C#, Perl, Python and probably a bunch more I’ve forgotten.
Nowadays, I’m mostly system administration with a bit of scripting thrown in.
- I found out that “x += z;” or x=x+z; didn’t work properly, if z was negative. This is fairly fundamental.
So, for example x = 3 and z = 1: x+=z comes out as 4, which is correct.
But x = 3 and z = -1: x+=z comes out as 4, whereas in mathematics it should come out as 2.
“+ +” = +
“- -” = +
“+ -” = -
“- +” = -
But Microsoft never got around to correcting it.