Red Green Repeat Adventures of a Spec Driven Junkie

Programming and Dogmas

I was talking with Scott Werner about Ruby talk ideas in the current technology situation with Generative Artificial Intelligence.

One thread that I started to permeate a lot of my thinking around programming in general is the ideas of dogma.

Dogma, noun: a point of view or tenet put forth as authoritative without adequate grounds

Usually dogmas are in the religious context - it’s use is broader now, even within the scientific context.

Programming and Dogmas

Programming dogmas are numerous! Some even call these: “best practices”.

  1. Always test your code
  2. DRY: Don’t Repeat Yourself
  3. Document your code
  4. Abstractions
  5. A function should do only one thing
  6. Have good variable and function names

These are the ones I can think from the top of my head, the list goes on and on. Don’t forget there are programming language specific dogmas are there too!

So, this leads me to think: are programmers creating new programming languages to… escape programming dogmas?!

When I started out programming professionally, I worked in C. It’s still one of my favorite languages - simple and fast. I could not see why anyone would want to program in another language, except assembly - for more speed!

Java came and solved two things that didn’t even concern my day-to-day job: garbage collection and binary compatibility. The programming trend went from C to Java.

This is just one example - there are more over the history of programming.

Underneath each transition - there are features of the new programming language AND dogmas that are not there anymore, because it’s a new language and the “best practice” aren’t established yet.

Without programming dogmas - programming becomes fun again. The programmer can just do whatever they want in the new programming language.

Are programmers just like those in migrating from Europe to America in the 16th and 17th century - escaping dogmas and persecution?