How did you learn to program?

IMHO, every software person should take a course in assembly language programming. That was one of my favorite undergrad courses. As long as you have a good instructor, it’s a fun class and you learn a lot.


Learned assembly and C in the olden times when machines ran at 16MHz. I would rather learn C for a start because almost all modern languages inherited features from C. C teaches a lot about the basic of data types, structures, functions and so on.

This was my beginner’s book: The C Programming Language. Well written and very instructive.

1 Like

Loved Hypercard x

Ditto. Coming from a Humanities background ( literature and philosophy ), Hypercard was my gateway into programming.

1 Like

oh… Hypercard (-:
‘Myst’ was hc-based, ‘Cosmic Osmo’ was hc-based - anybody remembers?

Lightspeed-C (later became Think-C), Real-Basic (today xojo) on macOS, SUN environment in the company I was working in the 90ies (and VAX Fortran…)


IMHO, C is not a good first language. My comment about assembly was just that to really learn what the machine is doing, there’s nothing like messing with registers and calling (in 8080 assembler) “interrupts”.

Many colleges, including Ivy League, are dumping Java for the first language and headed to Python. Even for computer science. And, especially Data Science where Python absolutely rocks for machine learning (where I use it most).

Although I’m mostly a Java developer, Python is a rich easy-to-use languages with incredible libraries.

C is ugly and you need to learn pointers, pointer arithmetic, memory allocation, memory de allocation, and non-object oriented data structures – and be prepared for lots of memory leaks. LOL.

C++ is better than C, but I would still avoid it unless you’re doing system programming.

My two cents.

1 Like

Each language has advantages and disadvantages. Talking language for learning how to code, C can be a start, Python can be a start, Java, C++ and so on.

Beauty is in the eye of the beholder. This is also true for code :slightly_smiling_face:

I can’t name a single university that teaches C as a beginner language.

Still, for professionals, C is the second-most used language.

Java - #1
C - #2
Python - #3
C++ - # 4 (used to be 3).

My very first programming language was … Turbo Pascal.

Those where the days…

1 Like

Still got the original Myst disks. Never did finish it. Rumour has it that a new version is on the way (not written in HC I guess)

1 Like

same here - never managed it to finish

there was another game, ‘obsidian’. Was not hc, I managed to play only the start-up sequence. BUT they got a ‘thing’, let them reading stuff, when something was not ‘local’ on that ‘thing’ - that ‘thing’ went online, connecting to a server from the university (or whaever)

me wants!!

Years later we got iPhones, iPads… not directly ‘programming’ - but was the reason I had 3 sessions in a row for FMGo (-:

I learned Simula 67, the origin of all object-oriented programming, at the University of Oslo. This was in 97/98, one of the last years before they switched to Java as their language of choice for the “Intro to Object-Oriented Programming” course.


Sorry, but wasn’t he in The Fantastic Four? :crazy_face:

Programming in the 80s by typing in games from magazines, books etc. Started on my TI99/4A, progressed to C64, Amiga 500, Amiga 1200 then got a job in ops running a pair of Burroughs B900 minis, onto Pick MV then Progress 4GL. Later programming on VB, PLCs(ladder logic), 4 axis labelling machines on electronics assembly lines (Ericsson, Alcatel, Siemens). Worked with FM back in late 90s and came back to it a couple of years ago.


Don’t forget the Z80-A Micro-Decision.

I sprung for the two floppy version!

Don't know if you mean me, but I'm hardly nostalgic about "assembly language" (not the same as "machine language".

The point I was making was to understand how the machine works, you need to take assembly language and possibly (yes, in my case) a course or two in computer engineering.

Then read lots of books like Code Complete, Writing solid code, Refactoring techniques (Martin Fowler), Design Patterns (GoF), and others.

Standard CS stuff, that's all.


(P.S. For specialized tasks, people still code in assembler.)


Back in the 80s I wrote an Assembler in FORTRAN to generate Machine Code for our Ramtek graphics system attached to our Data General Eclipse MV/4000 32 bit minicomputer.

Loads of fun. :wink:

Last time I used assembler was working on the backend of a compiler. Loved it!

1 Like

Assembler, :roll_eyes:, not always a trip to funtown.

Back in the days of the 8080, Intel Assembler was convoluted: for example to move a value, the instruction was not the same for 8-bit and 16-bit. On the other hand, I programmed a PDP-11 that had a simple Assembler, so simple that I hand coded - that is generated the machine code without an assembler - there were so few instructions that it was easy to remember. The complicated part was jump calculation, since PDP-11 used octal :worried:.

1 Like

Yep. Each assembler is different. The 8080 chip is what I was coding for, too. MASM. Ahhhh.

When I actually took assembly language in undergrad, we had to program:

  1. An editor
  2. A TSR program like Sidekick
  3. A sort routine


Tough class!

But, so cool when it all worked (like any real code). :slight_smile:

1 Like

My programming journey started with magazines like InCider and Byte back in the 80s, staying up well past my bedtime bathed in the green glow of my Apple IIc’s monochrome display. I started working with FileMaker Pro version 3 and was really into HyperCard for a while too.