This blog post is to prove the myths around Enterprise Python wrong.
There is a hot debate going on in the tech world about choosing the right technology stack for large-scale projects. Java has a reputation for being the first choice for implementing the backend of large scale projects. Times have changed, and companies need to push the product into the hands of the customers quickly to learn from their feedback. Python is a perfect choice for building an MVP in minimum time. A lot of companies, especially startups are preferring Python over Java and other technologies. Still some companies are hesitant in adopting python because they think Python does not scale. These companies are fooled by the myths around Python that it cannot be used to build enterprise-grade software.
Here are the top 3 Myths around Enterprise Python:
1. Python does not scale
Python does not scale – This is the most popular misconception about Enterprise Python. Companies like YouTube, Quora, Dropbox with massive user base are using Python as their core technology. These are smart companies who knows what they are doing. Scalability depends on the architectural design, not on the type of programming language used. Modern processors do remarkably well about running the web applications whether they are written in Java or Python. One bad designing choice can block an application from scaling. Do you still believer the scaling myth around Enterprise Python?
2. Python is too slow
Slow nature of Python – This is another misconception about Python. Python is a language that has several runtimes, including the JVM, PyPy, and CPython. Even Though CPython runs slower than the current Java, the latest PyPy runtimes are comparatively very fast. When you are trading speed with the ease of development, Python is a better choice than Java or other technologies.
3. Python does not have good concurrency support
Python’s ability to scale is often challenged with the questions about concurrency support and GIL. Those who ask this question need to check out Gevent, and Twisted, two good python concurrency frameworks. A lot of smart people are working on customizing runtimes for concurrency, PyPy is a great example. Also, there are many different implementations of Python. Some have a GIL, some don’t. The choice is yours.
The bottom line is…
At an enterprise level, no technology stack is the silver bullet. When you are choosing a tech stack, you are essentially trading off something for the other. For example, you might trade off speed with ease of development. The only thing that stands in between is your priorities. There is absolutely no problem in using Python for an enterprise level application if you know how to build and how not to build an application.
What are your views on the topic? Do you have a different opinion about Enterprise Python? Lets discuss.