In an informal conversation with Rúben Anágua, one of your Python developers, we tried to find out what would be the future of this language and its top trends for the next few years.
Q: Rúben, thanks for accepting this interview. I would like to start by asking what, in your opinion, are the top Python trends for 2021 and why.
A: The main trends for the language haven’t changed much since I started working as a Python developer five years ago: Python is mostly used as a data science language, a scripting language, and as a web development language. Python is the most popular language for these three uses and understandably so.
Obviously, I can’t be neutral about it, but the Python language is fantastically designed and its third-party libraries, like the web development frameworks Django and Flask make everything simple to do and easy to read while still retaining a lot of flexibility. This caters to both experienced software engineers and developers who are learning their first language, and that explains the constant rise in popularity Python has been experiencing.
And, to really answer your question, with this rising popularity, new uses also arise. One of these new uses is game development: World of Tanks is developed with C++ and Python, and mods for The Sims 4 are also written in Python. Other uses that have become much more relevant in recent years are cloud computing, especially in the IoT (Internet of Things) area, and being the first-choice language for any academic courses involving any sort of programming.
Q: Since the beginning of your current project at Cleverti, it has been two years with ups and downs for sure. Can you enumerate some of the skills needed to be successful as a Python developer?
A: The most important skill is being able to work as a team. This should apply to any developer, or even almost every job. Being an expert in the core language, staying up to date with the latest improvements in Python, improving logical thinking, and having a search engine as a very trusty partner in development are all very important, but they don’t matter that much if you don’t fit in a team.
And fitting in a team involves being able to communicate with them, being available to help with any questions even if it slows you down, writing your code with everyone else in mind, which means documenting, reviewing each other’s code, pair programming from time to time, and probably many other important tasks and skills that I can’t think of right now!
Developing those skills should help having more ups than downs in a software developer’s career. At least I like to think mine has had more ups than downs!
Q: It is frequent to come across articles that criticize Artificial Intelligence for having ethical and moral dilemmas. In your opinion, will these issues affect the development of these technologies, or is this whole debate part of the process, and AI and ML are inevitable in the coming years?
A: I think that evolution of AI and ML is inevitable and that its consequences are also inevitable. We would be missing out on too much by not going through with this evolution, and attempting to stop or slow this evolution politically in some countries will make others gain a competitive advantage. Though, in most cases, I believe that debates on ethical and moral dilemmas are blown out of proportion.
When we think of this subject, we often think about cars being more and more autonomous with time. We now have autonomous emergency brakes, lane-keeping assist, adaptive cruise control, auto-SOS calls on accident, blind-spot detection, and others in many conventional cars. These features make driving much safer and more convenient, and the only drawback I can see is the additional cost of a car that contains all of these.
Then, we jump into fully autonomous vehicles, where the drawbacks could be more severe. It is likely that you’ve seen at least one article where a self-driving car caused some fatal crash, hence the moral dilemmas you mentioned. In my opinion, this happens because people trust these self-driving technologies too much and forget that they’re still responsible for driving and ensuring everyone’s safety.
While the constant evolution of AI and ML is amazing, we cannot expect technology to make the best decision for all scenarios. Even with autopilot in airplanes, which is a much older invention, errors also happen. These moral dilemmas can be avoided, if we adjust our expectations and keep paying attention to any mistakes, because, for the time being, we’re the ones who are really in control.