As all IT students know, the languages that you learn in your main, compulsory classes are often not the most interesting, most fun, or even the most employable ones. They’re often close to the lowest common denominator, so that everyone from the reluctant engineering student, to the most hardcore system administrator, can learn and complete the exercises. So, the question is then, how do you get to learn the more interesting ones? Or the most job-friendly ones? I go through my thoughts in this post below. As with all highly opinionated pieces of writing, feel free to disagree, but don’t hate!
Studying on the side
So, if your lectures are too easy, and you’re helping your friends struggle through their programming assignments, then why put take that time, and instead put it towards learning the languages that you really want to learn? Get your class timetable, and wall off some time between two classes, and treat it just like a real class. Even make up a class code for it. Then you are more likely to follow through with it. At the end of the semester, you will thank yourself!
Let’s look at the various programming languages that you might wish to learn, each for their own motivating reasons. First up, the best motivator of all, money!
The most job-friendly
I think that a lot of people go to college mainly because it increases your job prospects, and increases your starting and average salary after graduating. So, catering to that, I will discuss here the kinds of programming languages that are most able to get you paid. Languages from the Microsoft stack, such as C# and VB.NET, are some of the most widely used programming languages in professional (employed) software development. I know that they’re not used much in open source, but that’s okay, this paragraph is only about making money! Not giving back to open source communities. So, as I was saying, Microsoft’s languages are used in a lot of different places, from enterprise development to game development to mobile development. I know that a lot of people reading this will roll their eyes, but I would argue that they are good to learn, even if you don’t end up staying in the Microsoft stack.
They are even good to learn if you want to get a good programming foundation. They will teach you about object-oriented programming, and how to handle data and logic in a structured way. I’ve seen too many people throw up their hands and say “I’m never going to learn C++ in this course!!” and then I see those same people struggle with even basic programming concepts when they try to learn other languages that aren’t as close to the same style. I’ve also seen a lot of people struggle with things like pointers and memory management in C/C++, and while that may be a bit easier in C#, it’s still there, and you should learn how to handle it. But none of that matters if you don’t have food on the table! So, I suggest (purely for employ-ability reasons) that you start with Microsoft stack languages. Once you’re living the easy life, you can venture out into more popular or fun languages and stacks.
If you are into things that are fun to program, nothing is more fun than getting really low level down into the low level details of device drivers and hardware programming, learning assembly and writing efficient 3D game engines. I admit, it’s very unlikely that anyone will use any game engine that I write, but hey, this part of the post is purely for fun! So no money or popularity is needed, ha. When it’s done, I’ll probably publish it as open source.
Okay, well this has been fun, I hope you’ve taken in some good tips for studying programming languages outside of your class work, and again, feel free to disagree gently! What programming languages are you learning now? And why? I can’t wait to hear from you.