Modern Programming Languages
Although I consider Java to be an excellent language that has progressed with the times, I also understand why other languages are quite popular as well.
Python
Python is one of those languages that has become very popular, because of some of the following factors:
Advantages
Its so easy to start programming. There is little type checking to get you started.
It doesn’t have to be compiled and is usually already available in a Linux based system.
It requires less code to be written compared to Java or C, especially around data dictionaries.
You have a huge number of 3rd party libraries available at https://pypi.org/ which you easily use to reduce re-inventing the wheel.
Allows you to focus on solving your business problem rather than having to worry too much about semantics and implementation.
Reasons for their Popularity
I’ve given some thought to try and figure out why such programming languages are really popular, especially when I consider Python to be more suitable for proof of concepts rather than as an enterprise grade programming language. In addition to the list of Advantages I have posted above, the other reasons I can think of are:
When starting a project, programmers want to get started immediately and get results with as little code as possible, without having to worry about the mechanics of implementation details.
Modularity and seperation of concerns are not important, especially when you’re more worried about whether an application can do what we planned and what we have sold to management and the higher ups.
How it gets deployed and things like scaling out and secondary concerns in the beginning of the project and during the design and start of implementation.
Languages like C, C++ and Java take more time and difficult to master, especially because they have such sophisticated capabilities, e.g. with Java Collections, Lambdas, the Java Modules system, concurrency, Spring Boot Metrics, Spring Boot Security, Spring Boot Cloud and the whole complexity behind Maven and Gradle.