I am right now in the mood to write one of these diary entries. If you see the screenshot on top of my words, this is a small and very basic program written in the programming language C#, and all it does is showing the text message “Hello World” in the windows console. It’s one of the simplest things you can do with a programming language, and that’s how programming courses often start. You need to start somewhere, and often they use this small example to explain the basic structure of a program, until you get into more advances stuff.
I had a bit experience with QBasic back then when everyone was still using DOS as OS, at least I thought that as a child. A friend was into QBasic and taught me to code simple programs with it and that’s how I became interested in it too. No, I never coded anything meaningful, most of it was just asking the user for input like “What`s your first name?” and “What`s your last name?” to process the data and let the program output it like “Thank’s, you said your name is John Doe!” depending on what names I used, or my mother who was amazed as my beta tester. Apart from that I created strange programs that randomly drew pixels on the screen, I remember the longer I played with the code, the more the results became interesting and I basically ended up with some kind of a “Flower power” screensaver or pixel simulation, that’s at least how I would describe it today.
But later Windows OS came up, and with that the programming language and IDE called Visual Basic. It was still based on the same language called BASIC, so, it didn’t took me a long time to create meaningless programs on Windows too. But at some point I became a bit more serious about it, not so serious that I can call myself a programmer today, but since I already knew how I could store user input in memory, I wanted to know how I can make the program store it in a text file, or how I could read the data from a text file. As you can imagine, with this knowledge I could now create simple programs like a text editor, because that’s exactly what is happening there too. A user feeds the program with text, and the program comes with the option to store the text in a file or to load a file. Of course, a text editor gives you much more options today.
But what I wanted to say is that I understood very early what kind of concepts or processes might run under the hood of simple software, and all I needed was to learn a language to be able to tell the machine to do these things for me. Since this happened to a degree two decades ago, you might thing that I should be a professional programmer by now, but that is absolutely not the case. As it is often in life, you change your interests, something different becomes more interesting and you spend all your time and willpower to learn something very different. I did learn to play the guitar, that’s maybe something that I still do today but even here I am not a rock star, I just do this for my personal enjoyment at home.
So, I am not completely sad about the fact that I missed the opportunity to be a great software engineer today, although it might have been a very nice asset considering how all of this took off. But I think you shouldn’t punish yourself if you took another direction, because we humans develop our interests on a way that we might have acquired other skills over time that are worth it as well. Apart from that, my early tries with programming might even have defined who I am today. Sometimes you take pieces of knowledge and experience from here and there, and the result is that you are less afraid of things that are related to it. So, I did for example install software on a web host, tried to develop my own HTML website with help of a friend, messed around with MySQL or changed files of my favorite games (modding) to change how the game looks like or plays like. That means I used snippets of that logic to modify things, I just never became a programmer.
Does that mean I am complete uninterested to learn modern programming again today? No, there is sometimes some kind of an itching in my head, I’d sometimes like to try learn something new again. I’ve never been too shy to play with HTML, CSS or JavaScript files and snippets for example, because partly I understand where I need to look to change the color of a website or things like that, but I would never be able to create something from scratch. Editing something that someone else created is interesting, but being able to create something new completely on your own, that’s something I do admire people for if they can do it. As I mentioned, I have this skill too (for example composing songs on guitar), I think most of us have, maybe just not related to programming. Anyway, as curiosity kills the cat, it also kills the time of humans. So, finally here the news…
Weeks ago I asked myself “Why are you thinking about it, why don’t you just start learning something new?” before you have no time for it anymore? That has always been my slogan. I never liked to just talk about something often, in many cases I just started at some point and acquired new skills. That’s what I did when I got my first guitar decades ago, and that’s what I did when I started with photography some time ago or when I started this blog in 2011. Yes, and as previously mentioned it also happened in my life that I started with things to give that activity up later on. I think it doesn’t matter so much if you give something up or if you continue with something, what matters is that you find activities that you personally enjoy and you can’t find that out if you don’t try things out. I found several activities that give me joy, and there is not much more room for more, but there is still the problem of curiosity…
I am curious about programming again. So curious that I pushed all thoughts about it aside and just started to follow a course. Weeks ago I started with the C# Fundamentals for Absolute Beginners course on the Microsoft side. I could now talk a lot about why I have chosen C# as the language I want to try out, but to keep it short, it’s recently heavily used and suggested by indy game developers, since it can be used in the Unity 3d game engine. Apart from that it can do what most programming languages can do, like creating Windows form applications or what not. I was told I shouldn’t concentrate too much on the question which language to pick, because when you master one, you can probably pick up with the syntax of another one later too. Then I heard you will not have much difficulties to learn JavaScript if you know how to code with C#. That’s it, I just picked it and started to learn.
I am really not sure if I can or will master it, I am just curious about it. I didn’t have a lot of difficulties with the first 10 lessons I watched, but after that it gets a bit tricky and I am starting to feel stupid. Today I got headache from learning, because I simultaneously went through all kind of tutorials that were related to the same concepts. I did even try something on my own with the knowledge I got so far, and the StackOverflow site is quite handy, and the community there quite helpful. Anyway, the more questions I got answered, the more questions my brain produced. There are also many things that are still over my head, and sometimes I wonder why I punish myself with it, but then I wonder if I didn’t ask myself the exact same question when I learned to play guitar? I think it was similar, I didn’t know where to start, and today I don’t know how I mastered it.
This is the question, can I master programming in C# too? Who knows, but without trying I won’t find the answer, and that’s why I just started to take a look.
[ Smiles ] My goodness, Dennis. That sort of thing would give me a headache too!
Thanks for another great blog post, my friend!
I just completed lesson 17 of the mentioned Microsoft C# course right now… and out of the sudden I understand some things from previous lessons, but of course there are new questions. It’s as this guy in the videos course is saying, it takes a bit time until the knowledge of the different aspects connect in the brain… I am probably far away from it, but I had already a few “Aha, now I understand that” effects.
But I think all that is so complex that it probably often takes time until certain things sink in.. and meanwhile you really get headache due to the confusion 😀