If you're new to coding or you're hoping to get someone you know interested in coding, good on you! Secondly, consider making Python your language of choice. It's one of the easiest programming languages to learn, due to the fact that it reads and writes quite a bit like plain English.
In fact, there are many code clubs out in the world that you can join to help teach school kids how to code, and Python is one of the most common tools for this, at least in my experience. From little scripts and games to controlling LEDs and robots, there is a lot you can do to make learning fun. And if you're a kid at heart like me, you'll enjoy the projects as an adult too!
We also have an Introduction to Python course here at GoSkills, so make sure you check that out if you’re looking to get started.
With the rise of the Internet of Things - small low-power devices that are connected to the internet and can run any custom code - Python has risen to the top for a lot of the devices you can buy and tinker with. Devices like the Raspberry Pi are tiny and connect to a multitude of sensors, displays, lights, robots and more, and allow you to write code to communicate between these parts, as well as send and receive data over Bluetooth, the internet and other communication methods.
While not all of these devices support Python, a lot of them do; either a fully-featured version of Python or Micropython: a subset of Python for simpler devices, so you can still take advantage of the simplicity and productivity of Python without needing the full power it normally requires.
Arguably the areas where you find Python the most are data science, AI and machine learning - a subset of AI. Out of the box, Python comes with a lot of built-in libraries that provide a lot of the functionality a data scientist might need. In addition to that, there are also a great number of robust and popular libraries you can download for Python and use in your projects, such as NumPy, Pandas, matplotlib, and SciPy for math, data manipulation, data visualization and more.
It also can't be underestimated how important Python’s ease of use is in this field. As a scientist, it's likely you didn't sign up to be a programmer, so the fact that Python provides you with the ability to perform advanced calculations with relative ease is really cool. The faster you can get from hypothesis to data analysis, the better.
The other language that's generally associated with data science is R. However, according to the TIOBE Index mentioned above, R’s popularity is dropping and has even fallen out of the TIOBE Top 20 list this year, after having been in the Top 20 for 3 years. So if you're deciding between the two, trends are suggesting Python is the more robust choice.
This wouldn't be an article of mine if I didn't mention my love for web development. As you've seen so far, Python is incredibly versatile and powerful and this extends to the web as well.
When setting up a web server, you might think of Node.js, .NET or Java, but Python is another great contender. While it lacks some of the performance of the other languages and frameworks, it's easy to get something up and running in Python very quickly and to continue being very productive. The developer experience can outweigh the reduced performance, and scaling your system for performance is becoming easier than ever with cloud services like AWS, Azure, Google Cloud etc.
When it comes to frameworks there are two main contenders: Flask and Django. Flask is a more minimalist framework that lets you determine how you want to approach the design of your system, which is great for seasoned developers. Django is a more “batteries-included” framework that provides a fairly rigid structure, which is great for beginners and prototyping where you just want to get something up and running very quickly.