Should I use Python for my project?
Python is a programming language first released in 1991. It is an interpreted language, which emphasizes code readability with a rather unique (among mainstream languages) approach of using whitespace delimitation of code blocks.
Python is a language which can be used on many platforms and its reference implementation, CPython, is open-source software, manged by the non-profit Python Software Foundation.
Being general-purpose programming language, Python can be used for a diverse array of tasks, two of the most common ones being web development and data science. With its long history comes an impressive list of success stories and a community that is always ready to extend a helping hand.
Common use cases
One of the things that shot Python into mainstream was certainly the convenience of developing web apps with it. Two of the most popular frameworks in this area are certainly the full-stack framework Django and the microframework Flask.
Django is a high-level framework written with rapid development in mind. It is fast, secure, very scalable, and chock-full of extras that save you the hassle of looking for or writing your own authentication, RSS, content administration, and similar systems.
Some of websites you have undoubtedly heard of that use Django are Disqus, Instagram, Mozilla, and Pinterest.
Flask is a microframework, which means it does not provide database abstractions, form validation, and other elements of a web app, which can easily be abstracted away. Instead, it supports extensions which provide these functionalities, thereby giving the developer more freedom to customize things, but a slightly slower pace.
Two large websites that use Flask are Pinterest and Linkedin.
Python is commonly used for data analysis and work with statistics. Due to its syntax, flexibility, and simplicity (without sacrificing ability) it is one of the two languages of choice (the other being R) for such tasks.
Python is an especially good choice when data analysis tasks need to be combined with web apps or if statistics code needs to be incorporated into a production database. With packages like NumPy for scientific computing, pandas for data manipulation, matplotlib for 2D plotting, and scikit-learn for machine learning, Python is a force to be reckoned with in the world of data science.
Python is an interpreted language that uses whitespace to delimit code blocks. The syntax allows for expressing concepts in fewer lines of code, having borrowed several elements from the functional programming paradigm, some of the most basic being
filter(), list and dictionary comprehensions, and generators.
Python is a multi-paradigm language with full support for object-oriented and structured programming, and partial support for functional and aspect-oriented programming (including metaprogramming and metaobjects). With extensions, it can also be used for logic programming, design by contract, and more.
Python is dynamically typed with a cycle-detecting garbage collector and dynamic name resolution.
Unlike some other languages, Python's creators decided against including all possible functionalities in the language core, instead relying on the language's extensibility.
Being an interpreted language with a philosophical dislike of premature optimization, instead of interpreter patches that would sacrifice clarity for a slight improvement in speed, it instead relies on extension modules written in languages like C or using PyPy, which is a just-in-time compiler. Another option is to use Cython, which translates a Python script into C.
Python has been around for quite a while and nobody can argue its place on various programming language leaderboards. It is a solid language with a large, skilled following, which will serve you well in almost any situation you can come up with. We therefore strongly recommend that you consider it for your project, get in touch with our pythonistas, and let them help you make your plans reality.