Is Python good enough for big applications? [closed] Is Python good enough for big applications? [closed] python python

Is Python good enough for big applications? [closed]


Python is a pleasure to work with on big applications. Compared to other enterprise-popular languages you get:

  • No compilation time, if you ever worked on a large C++ project you know how time consuming this can get
  • A concise and clean syntax that makes reading code easier, also a big time saver when reading someone else's code or even yours when it was written long time ago
  • Portability at the core level, if it's important for your app to run on more than one platform it certainly helps
  • It's fast enough for most things, and when it's not, rewriting hot spots in C is trivial with tools such as Cython and numpy. People advocating against dynamic languages for speed reasons have forgotten the 80-20 rule (or never heard about it). The important thing to consider when choosing a language for a performance-critical application IMHO is how easily you can gain access to the C level when needed, and Python is great for that

It's not a magic language however, you need to use the same techniques used for big projects in other languages: TDD (some may argue that it's more important than in other languages because of the lack of type checking, but that's not a win for other languages, unit tests are always important in big projects), clean OO design, etc... or maintaining your application will become a nightmare.

The main reason for its lack of acceptance in enterprise compared to .NET, Java et al. is probably not having herds of consultants and "certified specialists" bragging about their tool being the best thing on Earth. I also heard Java was easily accepted because its syntax resembled C++... that may not be such a silly idea considering C# also chose to take this route.


Google tend to use python for a lot, so I assume its ready for big time. We use python as glue for our products so we're happy with it.


The back end of YouTube is almost entirely in Python. Here is a talk by Cuong Do Cuong, the engineering manager on the YouTube scalability team that goes into a lot of detail of the issues they faced and how they solved them. He points out that lanaguage speed is almost never a bottleneck.

I suspect that YouTube has a significantly higher load that whatever you are working on will.