I have mixed feelings about using AI in programming. On one hand I'm definitely not into vibe coding. Like others here I enjoy the process of coding. I especially like writing assembler code, though I didn't get to do much of it in my career. I guess that goes back to my first personal "computer," a SYM-1 SBC.
Back then, I was hand assembling 6502 code and using the built in monitor to input the hex. (Pretty soon I added a serial port and got a terminal plus a cassette for storage).
When I got my PiDP-1 and decided I wanted to jump onto the
democoding bandwagon for it I wished to "understand" the 1960s programming experience. So I worked through the simple 'draw a circle' example in Obsolescence Guaranteed's guide,
"PROGRAMMING THE DEC PDP-1 - A QUICK WAY TO GET STARTED." I used ET to "edit" the program code, punched the source to "tape", used MACRO's two-pass assembler process (loading the source tape twice), punched the binary and start block to another tape, then loaded that tape and pressed READ IN. All of this is virtual, of course except the READ IN switch. A lot of steps for sure, and they must have burned through a ton of paper tape. However it was truly iterative for them. My first real programming experience involved punch cards and a two day turnaround for execution. So who's to say which is better?
I did not use ET or MACRO in my workflow. I ended up using the built-in simple text editor "mousepad" to edit my code, MACRO1_1 to assemble the source from the command line, and stuck with loading the "tape" in the virtual tape reader, and pressing READ IN. I found I rather enjoyed watching the tape "load", and the anticipation of the program starting. Enough of the 60s "experience" for me without going crazy ;-)
PDP-1 assembler is so elegantly simple that I was always able to figure out my "bugs" without the aid of a debugger. Figuring out "issues" really helped with the learning process. I wish, however, that I had been more aware of Flags earlier in my learning curve. The DEC PDP-1 computer has six independent "program flags," which are user-addressable flip-flops that function as software-controlled switches or synchronizers. In addition these flags are mapped to 6 lights on the Console. They would have been an easy way to display runtime debugging "codes".
OK, no vibe coding. Initially, I relied heavily on coding examples from the documentation for
Norbert Landsteiner's entry to Retrochallenge 2016/10:
Ironic Computer Space Simulator (ICSS)., where he implements a version of
Computer Space on the PDP-1. After I felt more comfortable with PDP-1 opcodes though I found myself asking Google things like "How do I implement a jump table in PDP-1 assembly language?", or "Remind me how the PDP-1 dpy opcode works." and using the resulting AI Overview (with caution).
So, I'm not opposed to using AI, but I want to do most of the coding myself.
Mike