However, it is possible that in the near future, there will actually be a solution to this problem that actually involves software itself. One of the biggest innovations of our time was free blogging software online. The rise of the modern Internet coincided with the rise of free blogging software, which allowed people with very little coding experience to create blogs of their own. People will remember that back in the 1990s, only people with the right technical backgrounds could really have websites and blogs, and they were indeed the only people with websites and blogs.
The websites from that era appear to be laughably primitive by today’s standards, even though the people who created them probably know a whole lot more about programming than many bloggers today, for better or for worse. It’s possible that similar things are going to happen with today’s programming languages. As a programmer, I can already tell you that a lot of programming languages are hopelessly flawed, and it feels like half my job is just fixing them. Hopefully, there will come a point at which I won’t have to anymore.
Much like free blogging software, there could eventually be software that more or less ‘communicates’ with a computer for the end user, so they will only need to input simple commands in order to create the program that they want. This software will almost serve as a comparatively advanced interface. Programming languages are ultimately just a means by which we instruct a computer what to do, and this new future software may help us translate our commands much more efficiently and effectively.
Translation software in general is probably going to be a thing, which might make learning to speak foreign languages for oneself somewhat redundant. People will probably still do it as a hobby, and I could imagine that people would still learn programming languages as a hobby even during this future. However, the software engineering profession would change dramatically in a future like this.