Is learning how to code among your New Year’s Resolutions? If so, you might be overwhelmed by the range of different programming languages available and not sure where to start with your coding journey.
Throughout the past ten years I’ve gotten to learn and work with a variety of programming languages, through coursework, independent study, and jobs at Google, Goldman Sachs, and now imagiLabs. Most developers know at least a couple of programming languages, and given that the foundational concepts of programming transfer from language to language, once you get started with learning one language it will become easier to grasp new ones.
Although there is no general consensus on the “best” language to start with (and the first language you learn will not matter much in the grand scheme of things), I’d recommend going with a language that can help you solve a problem or start working on a project. Instead of wondering which programming language you should learn, you can narrow things down with another question: why do you want to learn how to code? What is it you want to do with your newly-gained programming skills? Do you want to build a mobile app or a website, or make your life easier by automating some aspects of your job?
Let’s go through the different options!
I want to build a mobile app
Are your developer friends tired of you badgering them with your app idea? Maybe it’s time to learn how to create one on your own! I’m a strong believer in learning by building, so I think you’d be off to a great start by building an app.
The vast majority of mobile apps are built for either iOS or Android devices, and there are two ways of building them: native and cross-platform. Native apps run on only one of the two operating systems, whereas cross-platform apps run on both. I believe that going with a native approach would be most appropriate for a beginner, in which case you would have to learn Swift for iOS, and Java or Kotlin for Android.
Apple has made learning Swift super interactive and fun through Swift Playgrounds, which can be accessed on either iPad or MacOS devices! There are also some excellent Udemy courses that can get you started and are meant for people with no prior programming experience, like the ones below:
- iOS & Swift - The Complete iOS App Development Bootcamp
- The Complete Android Oreo Developer Course - Build 23 Apps!
I want to build a website
The main benefit of websites is that they can be accessed on pretty much any device that supports a browser. A good starter project could be to create your own personal website. The basic structure of a website is created using HTML code, which is enhanced by using CSS and the foundational programming language of web development, which is JavaScript. I would recommend the following course, which covers the web basics of HTML, CSS and JavaScript, along with the popular React library:
I want to automate things
Want to awe your coworkers with your coding and automation wizardry? Python is the best option for you! I’d recommend reading “Automating the Boring Stuff with Python”, which is free to read and provides an intro to Python along with teaching you some neat ways in which Python can make your life easier.
Not only is Python super useful, but it is also one of the easier languages to get started with! Its motto is that it comes with “batteries included”, given that it comes with everything you need to get coding straight away, requiring minimal setup. It’s also easy to read and write and comes with a lot of great documentation and support from online communities.
Python is also the language we use to teach coding at imagiLabs, so if you’d like a more creative intro to the language I’d recommend downloading the imagiLabs app! You can find more documentation and coding examples in our Learning Hub, and get access to our Creative Coding in Python lessons here. You can also get answers to any questions you might have by joining our Discord server.
Happy coding! 😁
This blog post was written by Paula Dozsa, co-founder and Lead Developer at imagiLabs.