We had IT in our school but all they taught was how to use word, excel and skipped this chapter in book which was "Programming with QBasic". I did not touch that chapter because it did not have fancy screenshots like other chapter and seemed boring. I use to think Command prompt was a dumb Software and this chapter had one screenshot of cmd.
And then one day I took a closer look at that screenshot. It had 2 window screenshots, the window on the left had
10 INPUT "ENTER ANY NUMBER: ", N
20 FOR I = 1 TO 10
30 PRINT N,"X",I,"=",N*I
40 NEXT I
The window on right, was showing a prompt for "ENTER ANY NUMBER: " 8.Entire table of 8 was printed below. I was blown away. I had never seen computer doing what I tell it to until then and honestly it was like I found a super power that day. Soon I realized that my dad who is headmaster and nothing to do with programming has 1 thick book on "Programming with GWBASIC" from his school, needless to say I read that entire book within few days. That started my journey into Software Development. I am so glad today that I took a closer look at that screenshot. I still could not generate .exe back then because those compilers were hard to come by but finally my buddy who had access to Internet got me the compiler and I generated .exe. It felt amazing.
tl;dr I owe my Software Development career to BASIC.
25 years later I'm GWBas1c on Hacker news.
I still wonder sometimes what the modern equivalent to learn programming would be. Most modern programming languages are infinitely more capable, but the hurdle to start is also a lot higher in many cases. JavaScript is probably equivalent in that it's available everywhere, but there's so much you have to at least understand a bit before you can really write some code ...
Ironically, as developing software becomes increasingly complex, I feel more and more like it's the machine telling me what to do XD
I've posted this before, but it's always a fun trip down memory-lane:
- What is your name?
- <name> is dumb, haha
10 PRINT "WHAT IS YOUR NAME"; 20 INPUT NAME$ 30 IF NAME$ = "BILL" THEN 40 PRINT NAME$+" SOUNDS LIKE A NAME FOR A DORK!" 50 ELSE 60 PRINT NAME$+" SOUNDS LIKE A GREAT NAME!" 70 END IF
I also tried to prank people with a program I wrote that mimicked a BSOD, but I couldn't get anyone to fall for it.
PS- No hard feelings between me and NAME$, one of the few high school friends I still spend time with. He still remembers the program and laughs.
Sadly, a lot of the really old code was much easier to maintain than most of the code I work on today. The company had an excellent engineering culture, and thorough design and documentation was the norm rather than the exception.
It was pretty simple, well commented code, and for a while I was able to make small changes with a VM and HTBasic (http://www.techsoft.de/documents/htbasic.html). They weren't using any of the advanced features of the language. It was essentially a cli.
Eventually we ported it to TypeScript with a modern frontend. Now they can do estimates in the field and integrate it with loads of other software they adopted recently for invoicing, scheduling etc.
The newest boxes from Keysight (formerly Agilent formerly HP) that run Windows use C# for macros. But you really don't need to use it if you have the box networked and send SCPI commands to it.