The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
My first "programming" was in 1966, bringing up a GE 645 (remember project MAC?). I had to bring up the newly built hardware. My programming was done on a code pad, in octal, 36 bit fixed length instructions. Then I had to key in the "program", 27 instructions at a time 3 columns per instruction, on an IBM 027 key punch, using multi punch to put 3 octal characters per column. It beat setting 36 switches on the cpu control panel then setting the address in switches then writting the data to memory, repeat to put the whole program in memory, then start the execution and halt at any error. The IBM card method preserved any "program", whereas the manual method would disappear when the system was powered off to replace bad boards or wiring. The card could be booted thru the card reader, and the first card was ususly a card boot loader that could read several other cards that contained the actual payload program.
This was 1966. I meant 26 instructions per card, the last two columns would usually have a binary count if there were more than 1 card to be booted. I noticed that I also said 3 octal characters per column, it was actually 4 octal characters per column (36 bit instructions, 12 octal characters per instruction). It was all so very long ago.
Interestingly, the GE 645 and project MAC were a joint project (in 1966) with MIT, GE, and Bell Labs, and it was later (1971) that K&R (who worked at Bell Labs) invented the C programming language used in Unix.
The GE 645 was discrete component machine (no LSI), but one of the speed bottlenecks in the GE 645 under MULTICS was the slow operation of the associative memory unit, the unit that saved all of the system descriptors (a huge array of 16 locations in the kernel that had a hardware LRU so the least recently used descriptor could be over layed with any new descriptor that was needed). The determination was made by project MAC that the associative memory would be re-implemented in LSI by GE. The engineers were going to first re-implement this in LSI exactly as it existed in the discrete component implementation, then, later, enhance it and expand it. Massive fail, it didn't work, bad implementation. The engineers discovered that I had a program (about 6 or 7 cards) that would verify that this unit was correctly determining the correct LRU descriptor. The program could be booted into the machine thru the reader, and it would halt at specific points with specific register values to identify failure points or a good result (all of this documented on my coding sheets as comments for each halt). The engineers didn't believe some of my error halts and I had to show them in the original logic drawings how the unit was actually designed to work. They finally understood the design, corrected the initial implementation, and then developed the enhanced version.
Fun times, working 3RD shift on the floor with all of the new hardware. OBTW the T&D unit got a new manager and he checked with the engineers to see if they knew any potential T&D developers on the floor. Guess whose name came up. I was in software (T&D) development, on the 1ST shift!
I did FORTRAN IV at school in the 6th form in the 1970s as well; but it was not my first language. I was not considered 'good enough' to be allowed in the classes that it was taught in; so I borrowed the teacher's book overnight and learnt from that. Like you, programming was on coding sheets that got sent to the County Council (West Sussex in my case). But their turn-around time was 4 weeks and they often mis-punched the cards; so I was very careful about desk-debugging before submitting the sheets. The Council machine was an IBM and I got into trouble for hacking the JCL and breaking the limits for no of pages printed, maximum job times etc.
I went on a school trip to see an ICL mainframe (it was located less than 1/2 a mile from the school) and learnt about PLAN (Assembler for ICL 1900s) and vowed never to use it [little did I know then that I would be a PLAN programmer for 6 years!). In my summer holidays, I got a job with another organisation within 1/2 a mile of the school and got to see their IBM mainframe. Until then, I had no idea that computers were so ubiquitous.
I also went on a trip to IBM in Havant and saw them wiring up mainframes - I was lucky, because that was the end of an era. I doubt if any commercially produced computers are hand wired today.
"Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"
Basic on outdated Apple|| compatible machine, then QBasic on 286 machine, that was during secondary education. Both courses were part of compulsory curriculum and sucked, though I've learned how to make never-ending loop.
Therefore I consider Fortran as my first programming language (entry-level college course), because I actually learned something.
Pascal, in Octobre 1984, at University. The biggest program I did was a fully workable board game called Kalah, based on a programming task we were given to program a min-max game tree for the same.
At about the same time I purchased my first real computer, the C=ommodore(TM) Plus 4, but I never dabbled into Basic programming until after I've learned the basics (pun not intended, but appreciated). Spent considerably more time on 6502 Assembler than Basic though. The only Basic program I ever wrote was a Tetris Clone on "Micro Basic", the only compiler for the C=+4 I could find at the time.
The first language I used to write a non-trivial program was (Quick)Basic, in 1991, I think. I wrote a text-based adventure game and a little program that did some basic math, to do my school homework for me. Laziness for the win. I was 11 at the time... good times.
Later on in the early '90s I hacked a couple of games (infinite lives!) by running them in DOS's "debug", so I dabbled with x86 assembler.
Then I moved on to Visual Basic and Hexen-C (the C-like scripting language for modding the game Hexen), and then started doing proper programming in C and C++.
Me too! I was in about 9th grade. I used to write little programs to solve math and physics homework. It was a real pain to load/save programs via cassette. I used to love playing the Scott Adams Adventure games. I actually bought the TI-Extended Basic cartridge, but I don't remember using it much. Years later when I started at uni in comp sci, Basic was the first programming course I took.