If you are new to programming, looking online and trying to find the best first language to learn could very well turn you off to programming altogether. In this post, I am going to try to take an objective look at what programming language makes the best jumping point.
You can get a hold of me with questions at facebook.com/HackrActual, twitter.com/HackrActual, by email at firstname.lastname@example.org, or with the contact page. I love hearing from people and am happy to answer any questions.
With a simple syntax and a wealth of tutorials and resources, online Python makes a fantastic first programming language to learn. Python is a very high-level scripting language so you won’t have to worry about constantly compiling your programs to see if they work, and what the results are.
In addition to Python already containing a well featured standard library, it also comes packaged with a complete development environment which also includes a command line interpreter. This makes it really easy to jump in and start trying things without also needing to learn complicated new software. Additionally, Python has what seems like an unlimited number of libraries making it possible to do all sorts of practical things with. You could probably get away with learning only Python and still have fun programming until you died.
To add just a few more pages to the book of knowledge, Python is being used in several active Open Source projects that can be found on Github so in addition to getting started in programming, you can also start breaking into the Open Source world by contributing to projects and making the software world a better place.
The main problem with Python is that there is some public version confusion. There is still a lot of information published online that is targeted for Python 2 which is a legacy version as far as the creators are concerned. The latest version is Python 3 which still has plenty of resources available, it just seems that the Python community thinks you just know what version of Python to use with their guide.
With the version confusion aside, I still think that Python makes a great first language because of the ease of use, the large bundle of available libraries, and the entry into the Open Source world makes it a great starting place for any budding developer.
The C Programming Language
The C programming language is a beast, in the most minimal sense. To put it in an interesting light, I couldn’t decide if I should put C on the list at all and after I decided to include it, I couldn’t decide if it should be first or second.
The beauty of learning C is that you aren’t just learning a programming language, you are learning how programs function at a very low level. You will be forced to learn things like memory management from the beginning, which will help you down the road but may hinder you to start. It could be looked at that learning C is learning programming the hard way, but I truly believe that learning C first sets you up for success in the future.
Because C has been around for so long, many programming languages have based their syntax off of C, so learning more programming languages, later on, will feel easier. The job market for C is declining, so learning another programming language might be mandatory if you are looking for a career in programming.
Overall I think C is a great language where you can learn and do great things, but it may not be the best start for everyone. It’s also a lot different from my choice for number 1, so the choice between Python and C is personal preference.
Overall with its C-like syntax, it’s fairly easy to learn, and the usability and popularity of the programming language it makes a good starting point, because you may never have to leave.
All in all…
All in all, I think that if you pick any one of the mentioned programming languages you will be happy with your results. I would love to hear from you guys if you think that I mucked this up, or if you have any suggestions. Thanks a ton for reading and happy hacking!