What is Python?
First Python is very beginner-friendly. The syntax is extremely simple to read, most of which can be understood even if you do not know any programming at all, that is why it is a great language where you can dive into programming.
Python is an interpreted high-level programming language for general-purpose programming created by Guido van Rossum and first released in 1991. Python has a design philosophy that emphasizes code readability, notably using significant whitespaces. It provides constructs that enable clear programming on both small and large scales of the program.
Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library. The non-profit Python Software Foundation manages python.
Popularity of Python
According to the 2018 Developer Survey by StackOverflow. As you can see in the picture below, Python is the most wanted technology of the 2018 year. In addition, it ranks as the world’s seventh most popular programming language among professional software developers.
According to the table below, top three main job roles of Python developers are data analyst/data scientist, engineer (software) and software developer (applications software). Most developers using Python are classified as "individual contributors," followed by development lead and freelancer/consultant contractor.
According to the PYPL Popularity of Programming Language Index, Python moved to the first place and became the most popular programming language to learn. The PYPL index is a leading indicator; it’s created using raw data from Google Trends, which analyses how often language tutorials are searched for on Google. The more a language tutorial is searched, the more popular the language is assumed to be.
Python's great choice in my eyes, because of notable features:
- Uses clear, readable and elegant syntax, making the programs you write easier to read.
- Is an easy-to-use language that makes it simple to get your program working. This makes Python ideal for prototype development and other ad-hoc programming tasks, without compromising maintainability.
- Comes with a large standard library that supports many common programming tasks such as connecting to Web servers, searching text with regular expressions, reading and modifying files.
- Python's interactive mode makes it easy to test short snippets of code.
- Adding new modules implemented in a compiled language such as C or C++ can extend Python.
- Python can be embedded into an application to provide a programmable interface.
- Runs anywhere, including Mac OS X, Windows, Linux and UNIX.
- Python is free software in two senses. It does not cost anything to download or use Python, or to include it in your application, even for commercial projects and applications.
Where you can use Python?
Python can be used to make games, do data analysis, predictions, control robots and hardware, create GUIs or even to create websites. Python can be used in many applications:
- Web development using frameworks such as Django and Pyramid, micro-frameworks such as Flask (this page is written with) and Bottle, advanced content management systems such as Plone and Django CMS.
- You can use more libraries such as Requests - a powerful HTTP client library. Use BeautifulSoup for parsing HTML. Use Paramiko for implementing the SSH2 protocol. You can even try Twisted Python - a framework for asynchronous network programming.
- Python allows being effectively and widely used in scientific and numeric computing by using SciPy, NumPy, Matplotlib - a collection of packages for mathematics, science, and engineering. People use Pandas library for data analysis, modeling and so on...
- With python, you can create Desktop GUIs using wxWidgets, Kivi, for writing multitouch applications or use Qt via pyqt or PySide.
- Python is often used as a support language for software developers, for build control and management, testing, and in many other ways. Usually, software developers use SCons for build control, Buildbot and Apache Gump for automated continuous compilation and testing, Roundup or Trac for bug tracking and project management.
- In Business Applications Python is also used to build ERP and e-commerce systems: Odoo is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications. Tryton is a three-tier high-level general-purpose application platform.
Who uses Python?
Since 2003, Python has consistently ranked in the top ten most popular programming languages in the TIOBE Programming Community Index where, as of January 2018, it is the fourth most popular language (behind Java, C, and C++). It was selected Programming Language of the Year in 2007 and 2010.
An empirical study found that scripting languages, such as Python, are more productive than conventional languages, such as C and Java, for programming problems involving string manipulation and search in a dictionary, and determined that memory consumption was often "better than Java and not much worse than C or C++".
Large organizations that use Python include Wikipedia, Google, Yahoo!, CERN, NASA, Facebook, Amazon, Instagram, Spotify, Reddit, and many others.
What you can do with Python?
Python is a fully functional programming language that can do anything almost any other language can do, but with Python, you usually can do it faster and simpler.
Actually, with Python, you can do things like graphical user interfaces, web frameworks, multimedia, databases, networking, test frameworks, automation, web scraping, documentation, system administration, scientific computing, text processing, image processing.
As you can see, there are many strong advantages to using Python: it involves less code, less time, and less money. It is legitimized and approved by data scientists and now it’s one of the most popular programming languages in search engines. I must mention that Python might be slow in performance compared to other languages; this could mean it is not a very good language for mobile development.
However, if this is the case, why is it still so popular? Firstly, speed is not always the number 1 priority when considering other important elements of programming, such as productivity. Secondly, software performance is overrated; programmer performance tends to be more important nowadays. If you look at the most popular Python projects, you will notice the vast majority are not performance-critical and, even if they are, there is a possibility to write the critical parts in C/C++ and the rest in Python.
In conclusion, it is fair to say Python is one hell of a powerfully simplistic and productive tool for programmers, data scientists and simultaneously being a cost-efficient tool for clients. I encourage you to use it and to learn it together with me in my further tutorials.
Now if you are sure you know why and where programmers use Python language, you can start learning it from the basics.