Making programming more enjoyable with the zen of Python.
Python for the web
If you don’t want to buy a django-baked cake, microframeworks advocates can build APIs with Flask or Bottle, using independent components such as SQLAlchemy on demand, keeping the deployment as lightweight as it can be. Tornado’s async nature and loosely coupled components make it a great choice for no-SQL applications.
Python’s syntax is one of its most prominent features. Having such a “natural” looking style, Python code is easy to both read and write. Python’s syntactic sugar allows us to express complex algorithms in a very concise, english-looking language that ends up saving many “what does this code do?” hours.
This is no coincidence. Much of Python’s features makes it particularly well suited for scientific usage and this has resulted in a positive feedback loop with more and more science-oriented libraries being created for Python. Its resemblance to the English language, ability to integrate with other languages and ease to write low level optimization code without losing its high level status fall among the top reasons that make Python so popular in the scientific community.
The core documentation of Python, as well as the documentation for all its most used third-party modules, is impeccable. Having high quality documentation for our tools is key in writing high quality products. This, alongside its community, provide Python with an excellent ecosystem to work on; thus making it our top choice for crafting our products.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
Having been released more than 20 years ago, and with such a massive user base, Python has a plethora of stable, well-documented third-party libraries to cover every business need without needing to reinvent the wheel. Even the standard library is extensive (in accordance with Python’s “batteries included” philosophy), including tools for unit testing, parsers for standard data serialization formats, networking, data persistence, data compression, and much more.
Although it’s an all-purpose language, Python exceeds in some particular areas thanks to some great third-party libraries. Natural language processing is one of them, with the NLTK library leading the way. At Sophilabs we have provided customers with high quality business information automatically extracted off their users' feedback by using NLTK.
Python, as many other open-source projects, enjoys an ever-growing community that keeps the language healthy, up to date, and in continuous improvement. PyPi (Python's third-party software repository) currently hosts over 90k packages and shows an almost exponential growth in the number of new packages since its release in 2005.