Mirrored as part of a study of Minetest events of 2010 to 2019 and people involved, and in connection with a related book, events in 2017 to 2018, in particular, conferring upon host legal rights related to Fair Use.

Archive for February 20th, 2012

Programming. How do you learn it?

Monday, February 20th, 2012

Here is something I got asked by somebody called Keith in a recent comment:

Thanks for making this code available. I am interested in taking a look for hobby purposes. I also have an engineering background, and when I was at University studying mechanical engineering most of the people in my class could not program to save themselves; I found I had a knack for it and now develop engineering software for a living. Where did you learn your programming skills if not in your current line of study?

I initially thought to reply in a private e-mail, but then I thought I’d post here, because I could think of somebody else asking the same thing. Here goes:

I have been programming a lot as a hobby, and for a bit professionally, since being 13 years old or something… and less since basically forever. I wrote a few lines of BASIC at the age of 9 or so I guess. At the age of 12 I made websites. They were ridiculous by (almost) any standards, but I learned a lot. Also I was having fun with CoolBasic shortly after.

Nobody really taught me, but there was a humble C++ course in secondary school and my family didn’t view the hobby as too bad a thing. More importantly I found some programming related communities and some programmer friends on the internet at that time.

Similarly I learned electronics. Found people and friends on IRC who are interested in that stuff and then designed and made stuff together.

  • “You think this’d be awesome?”
  • “Not sure if we’d be able to pull that off… but sure, let’s try it!”

That. Repeated so many times. Minetest isn’t much of an exception.

And I can program pretty much anything on any platform, unless the problem involves very complex math. Most things don’t.

Making Minetest really isn’t /hugely/ a matter of pure coding skill though; it’s mostly a matter of determination, and now as being largely a community project, it’s much about managing other people’s doings. Also a difficult thing is to take pauses in development of the correct length to not become bored while still keeping other people interested.

// c55