Headache From Learning, Trying To Understand C#
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.
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 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.