What programming language should I learn first?
It is a tough choice to make, but you have to start somewhere. After spending many hours thinking about what programming language to learn first, I’ve decided to learn more about the C language. While it may prove to be a bit more challenging, it will provide a good solid foundation towards learning other programming languages more easily. It certainly is a valuable skill to learn.
In regards to the C language, it is a solid choice because a vast majority of programming languages are implemented in it. From what I’ve understood, once I have C down learning other languages such as C++, C# and Java will become easier. After searching for answers, the estimation for learning C will take about 1-3 months (for the basics) if I study at least 2-3 hours a day. This is just a ballpark estimate however, as each person will learn slower or faster than others.
Of course the key to learning anything is staying committed to it. Try not to get distracted and create a timeline of sorts to further your learning objectives. After reading about methods to practical learning, there is a straightforward strategy.
This includes looking for code examples, running actual code, and of course running your own code as quickly as possible. Learning research and problem solving will be quite important along with debugging code. It will help to teach what went wrong and how to fix it. Reverse engineering other people’s code and trying to break things can also be a valuable teaching tool as well.
Many longtime programmers say that keeping things as simple as possible is best by refactoring code as needed. Comments are also quite important so you have notes to refer to later. Learning both Git and GitHub for backing up projects will be quite important as well.
So, what career path does the C language have?
There are many opportunities with the C language which includes machine learning, artificial intelligence and robotics among others like operating, drivers and deep embedded systems. I understand I will have to prove myself for future employment, knowing how filesystems work for example.
Make no mistake, learning to program is a never ending journey. Even those who have been in the industry for many years still do not know everything. There are always new methods out there that come along. Many libraries and frameworks are made often and perhaps that is a good thing, there are better ways to do things which can save both time and money. Ultimately, everyone wants to succeed in what they do. One day the world will be more automated than it already is. I can foresee robots becoming more important in our daily lives. Artificial Intelligence (A.I.) is going to be equally as important. Augmented and virtual reality will become more of a thing also.
There is a big push towards Web3 as well which is based upon blockchain technology. Our very world will change quite dramatically after these elements become more a part of it. Hopefully, we will be living in a more efficient and safe world and not like Skynet from the Terminator movies.
Perhaps C will be a good foundation for me and I can build upon that. I can see myself pivoting to Java or another language afterward for work. I find all languages quite interesting and have spent some time looking at different languages and what they can do.
Rust and Go for example are newer and seem to be gaining momentum in the workplace. Newer languages like those might replace others eventually but there is plenty of legacy code out there for Perl, Fortran, COBOL and others. Someone is going to have to keep these systems afloat as others enter a different pathway in the programming world.
You have to have that fire or spark inside to become a programmer. I understand it isn’t an easy road but the rewards await for those who can persevere and push on through to success eventually. I look forward to the successes and the failures but I plan to learn from it all.