Evolution of methodic: It all started with i=i+1

Let me take you to a short journey how I started with programming, where it went to, and how the actual methodic, thinking and doing evoled. This will have the following posts and this is the first of it:

  • It all started with i=i+1
  • Melting the metal
  • Going to Windows 3.11, I need (MS) access
  • Why is there any system without a database? Going to VB6 and Excel VBA
  • Oh, this is real OOP? Here are C# and .net
  • Doing architecture

Back in the old days, programming was like the start of the logical song.

When I was young it seemed that life was so wonderful
A miracle oh it was beautiful magical

I started with 12 (yes, I am old, this was in 1985) with the good old c64 commodore.

Commodore-64-Computer

You think, it looks pretty big. They even needed all the space for the amazing 1 MHZ with RISK processors having 64kb of RAM. Sure I know, small gifs today are larger. 😀 I had been out to a friend, Christian, who was one of the first guys having this wonderful piece of early PCs. I was just amazed. I took the handbook. And seen this magic line:

i=i+1

It was virtual, and I can change it! I was just blown away. It caught me before I was aware of it. So I needed to have one. First bought from a friend and later on, my mother decided that I needed the c128, as the other would be too early being old fashioned. (Isn’t that the regular thought whenever buying technical stuff?)

Okay, I started it up, and certainly in the first run it was pure BASIC, hitting both senses of the term. Used Peek and Poke. Not really understanding what was going on, but happy with all the effects and results.

10 A = PEEK(197): IF A=64 THEN 10
20 PRINT “THE PUSHED KEY HAS GOT THE VALUE: “; A
40 IF A=46 THEN END
30 IF A<>0 THEN 10

It was easy? No, not really. It was pretty simple compared to what today is necessary to know to make up a program. Back in the old times it may be was

  • incredible to have cracked a game
  • to found some cheats to have infinitive lives
  • to write a demo that took out everything that the gpu, cpu and sound processor could manage

Today we need much more.

Why was it so enjoyable? It was completely for myself and for my pleasure. When thinking about today, although I was lucky enough to make my hobby my actual profession, it is harder.

Somebody reads my code

Somebody even measures and rates it! Give comments, asks me why not doing it differently, why is it… bad?

This is certainly not the only reason why it is harder. Actually like this one improves much faster than sitting alone at home being on an island – yes, no internet back then. Pretty hard to evolve. What beside that? Oh, be sure there is a lot:

  • Increasing understandiblity, maintainability, extensibility
  • Let the user be more productive
  • May be he even has fun to work with your software?
  • You may need authentication or SSO?
  • You want to access resources like noSQL, relational, multidimensional or big data databases?
  • You may need some clever algorithms, machine learning?
  • You may work with streams?
  • You may need you need support for mobile devices, you may want a desktop app, a web frontend
  • You may want to pick the right technology out of millions?

Let’s say… BASIC was basic. Small, no influence from the outside, completely under control. God mode.

It didn’t take a long time until I picked assembler to move forward. (sorry, this is German)

c64-assembler-ist-keine-alchemie

Makes me a little nostalgic, watching this. You can find the article here: 64er online 1984. Here i really started with programming. Spent a lot of time. Looked like this:

c64-interrupt-routine

On paper? Come on! Yes, it feels like punch cards. Sometimes it was faster to think about and write it on paper instead of trying directly with the machine and then trying to find the bug. No, I am not kidding :-D. Believe me, this does make you think. It is quite different than developers today “just trying out”.

Let’s talk about methodic. Rules. Best practices.

dude-wait-what

Back then it was about trying and making it working. I didn’t think about too structured code. I tried to organize, make it understandable for me… but I even didn’t think about the guy who ends up maintaining your code will be a violent psychopath who knows where you live. Anyway it was a little bit like it is today with Javascript. It was pretty impossible to obfuscate code. Everybody could read it, but that doesn’t mean that it was understandable.

I guess within the 80s it was quite normal to read a lot of code of other people. Without any material. There were never one single comment. You just have to read everything and understand it. You’ll learn a lot just by watching. This doesn’t only belong to coding, it does for pretty much everything. What did I learn? Mostly my focus have been on crazy intros by people who hacked some games. You wanted to have some cool tricky visualizations, eye catchers, where people were thinking, how did he do that?

The first time I’ve seen that I was missing something was when I had a look onto the code from Manfred Trenz. It was the game Turrican. Manfred’s code was different. Back then I couldn’t say what in detail the difference was. I could just say, that it looked so organized, so well structured. A lot of pieces where it took decisions differently, delegated decisions… it had its own beauty. Amazing.

How to evolve? How to do the same thing, that good? I didn’t know. It would take some time.