The first decision you’ll have to make when you decide you want to learn how to code is what language you will devote your time to learning. For someone with zero experience, this is often not an easy task, and there is a lot of conflicting information about this decision. To be sure, just about any programming language can be used to learn how to write software with the right amount of effort. However, I think there are two main factors that a beginner should consider that narrow down the choices a lot.
1. How approachable is the language from a learning perspective?
Many university computer science programs use lower-level languages like C++ and Java for their introductory courses. While this makes sense for someone who wants to enter academia or do low-level programming like building operating systems, I think this is the wrong approach for the vast majority of people. If you're anything like me, you're getting into programming to build things like web and mobile apps - not to learn how to optimize memory management or create drivers for printers. All of the fundamental concepts from introductory CS can be taught in languages that are more easily understood and more fun to use.
2. Why do I want to learn how to code?
The second important factor in choosing a programming language to get started with, which I alluded to above, is what your personal programming goals are. Again, someone who wants to be a computer science professor has goals that are far different from someone who wants to become an entrepreneur or work at a start-up. Below, I've chosen my picks for the top three languages that fulfill these two requirements best for most people. These languages are approachable and easy-to-use, and at the same time are popular with the most cutting-edge technology companies. Each of these languages can be used effectively to both get you off the ground quickly, and to eventually get you a job or allow you to be creative and build cool stuff.
Ruby was the first language I became proficient with, and is still my language of choice. If you have ever tried learning to code in C++ or Java, Ruby will be a breath of fresh air. It is incredibly easy to read and write, is wonderfully organized, and creates a layer of abstraction on top of lower-level requirements that languages like C++ force developers to implement themselves. Additionally, Ruby has a ton of language features built-in that will make your life easier, and a thriving open source community that develops free software that provides functionality that isn’t included within the language itself. On top of all of this, if you would like to build a full web application, Ruby is the basis for the Ruby on Rails web app framework that is very popular and used by companies large and small. Ruby not only offers an approachable introduction to programming in-general, but also a great way to start building real functioning web applications with Rails.
Python is another great language for beginners with syntax and features that are very similar to Ruby. Python also has a web framework called Django that is more-or-less on par with Rails. Another advantage of Python is that it is widely used in academia and the fields of Data Science and Machine Learning. I prefer Ruby over Python, but if you are interested in these types of programming and not strictly web application development, Python may be a better choice for you.
All of the languages above are great options for your first language, and will allow you to get programming quickly and building stuff in no time!
Destination: Dev is an 8-week program combining web development education with cultural immersion in Medellín, Colombia. Want to learn how we can help you become a digital nomad? Click here