Why Python? and What is Python used for?

Python programming

Python is a scripting programming language. It is universal, therefore it is suitable for solving various problems and many platforms, starting with iOS and Android and ending with server OS. It is used in web development, the creation of desktop and mobile applications, game programming, as well as in analytics and machine learning.


This is an interpreted language - it does not compile, that is, before launch, it is a plain text file. You can program on almost all platforms, the language is well designed and logical.

Development on it is many times faster because you have to write less code than in Java, C, and other languages ​​- it is great for beginners.

What is Python for?

Python is suitable for developing any projects on different platforms. It can be found on the web, on mobile devices, in applications, solutions related to machine learning (neural networks and artificial intelligence), and even as an embedded system.

Web development

Most often, Python is used in web development. To work with it, frameworks are used: Pyramid, Pylons, TurboGears, Flask, CherryPy, and - the most popular - Django.

There are also engines for creating sites in Python:


  • Abilian SBE;
  • Ella;
  • Saleor;
  • Wagtail;
  • Django-CMS.


Often the language is used to write parsers that collect information on the Internet.

Programs

Although Python does not compile, it can be used to create desktop programs. Here is a shortlist of what was developed in Python:

GIMP - visual editor in Linux;

Ubuntu Software Center - application center in the Ubuntu OS (one of the Linux distributions);

BitTorrent up to version 6 (later the program was rewritten in C ++, but peer-to-peer networks still work in Python) - torrent download manager;

Blender  - a program for creating 3D-graphics.

Also, some programs are partially written in Python, read more about this.


Mobile applications


Python mobile development is less popular. For devices on Android, they often write in Java, C #, C ++ or Kotlin, and for iOS, they write in Swift or Objective-C. Python usually programs the back end of an application. 

For example, the Instagram client for iOS is written in Objective-C, and the server is written in Python.

Games

Many computer games have been fully or partially written in Python. There is a misconception that this language is not suitable for serious projects, but in fact, it was used in the development of hits such as:

  • Battlefield 2
  • World of Tanks
  • Civilization IV;
  • EVE Online.


Despite the fact that in Python there is the possibility of implementing the user interface and working with graphics, most often the language is used to write scripts - for example, character interactions, launching scenes, and also handling events.

Embedded systems

Python often develops embedded systems for various devices. For example, it is used in Raspberry Pi (a computer the size of a memory card) and in Sberbank to manage ATMs.

More Python Embedded Projects:

The Owl Embedded Python System;

Python Embedded Tools

Embedded Python

The language is used in embedded systems of CNC machines, means of automatic control (temperature, fluid flow, pressure, and so on) and telecommunication equipment.

Scripting

Python can be used to write plug-ins and scripts for ready-made programs. For example, to implement game logic. It can also be used to create additional modules.

Often scripts are written in Python that is embedded in programs in other languages ​​to automate any tasks.


Where Python is used?

Python is widespread in many areas, from system administration to Data Science.


System administration

Python is often used by system administrators to automate tasks. It is simple, powerful and supports special packages that increase its effectiveness. And, most importantly, it is installed by default on all servers running Linux.

Thanks to the conciseness of Python, you can quickly read the code and find weaknesses. Formatting in a language is part of the syntax.



Scientific research

Python has several libraries that can be used for research and computation:

SciPy - a library with scientific tools;

NumPy  - an extension that adds support for matrices and multidimensional arrays, as well as mathematical functions for working with them;

Matplotlib is a library for working with 2D and 3D graphics.

Thanks to the libraries and the ease of learning the language, many scientists choose Python - it is especially popular with mathematicians and physicists.


Data science

Python is one of the most used languages ​​in Data Science. It is used to write machine learning program algorithms and analytical applications. With it, data warehouses and cloud services are served.

Also, with its help, you can parse (scrapping) data from the Internet. For example, Google Python is used to index sites.



Which companies use Python

Python is mainly used by startups and companies that develop large projects. Here is just part of a huge list:


Alphabet uses the language for scraping in the Google search engine and the implementation of the YouTube service;

One Laptop Per Child - for developing an interface and a functioning model;

BitTorrent  - for implementing peer-to-peer networks;

US National Security Agency - for encryption and analysis of intelligence;

ESRI  - as a tool for setting up geographic information programs;

Maya  - to create animations;

Pixar, Industrial Light & Magic  - for creating animated films;

Intel, Cisco, HP, Seagate, Qualcomm, and IBM  - for testing;

JPMorgan Chase, UBS, Getco and Citadel  - for forecasting the financial market;

NASA, Los Alamos, Fermilab, JPL  - for scientific computing;

iRobot  - for the development of commercial robotic devices;

IronPort - for implementing a mail server.

In addition, it is used on Instagram, Positive Technologies, Houdini, Facebook, Yahoo, Red Hat, Dropbox, Pinterest, and Quora.

Python language flaws

Despite all the advantages, the language has its drawbacks. Programs on it are considered one of the slowest. For comparison: iOS apps on Swift run 8.7 times faster than Python apps.

Python has an implementation of PyPy, which is close in speed to Java, but it does not have all the features of the original language. Python is not suitable for tasks requiring a large amount of memory - it is better to solve them with inserts in C or C ++.

Another disadvantage is the strong dependence of the language on system libraries, which makes porting to other systems difficult. For these purposes, there is a Virtualenv tool, but it also has drawbacks: redundancy of complete isolation methods, crutches, duplication of system libraries.


Another problem is that Global Interpreter Lock (GIL) does not allow multiple Python threads to run simultaneously in the CPython implementation. However, the GIL can be disabled for a while, as is done in the NumPy math package.


Employment and the average salary of python developer

There are thousands of vacancies for python developers in the USA. The minimum wage in the USA starts at US$116,379/Year. Mostly looking for experienced developers, junior specialists are less in demand.

You can get a job as an intern or junior specialist only in a large company, and they are located in large cities such as New York and Los Angeles. Because of this, it is extremely difficult for beginners to get settled in the regions - it remains to look for orders on freelance.

Python is easy to understand and learn

You should definitely try Python if you have never written code, but want to get your first working program as fast as possible. 

The simplest example is a program that displays a given phrase. This is how its code looks in three different languages. Compare the number and comprehensibility of lines of code.

“Java” copes in 5 lines, we use many brackets.


Java code

“C” works similarly, although there are slightly fewer lines:


C code

Python use one clear line:

Python code

Of course, this does not mean that it will always be so. There are more complicated programs, but you can still understand them if you know a little English. For example, here is a program that can send emails:

Python programming

If you could read the text of the program and understand what it is doing - this is a good sign

Conclusion


Despite a number of problems historically inherent in Python, it continues to be a leading tool in a number of niches:

  • Web application development (here we have the undisputed leader in the form of Django).


  • Data analysis and machine learning (SciPy, Scikit-learn, pandas, NumPy packages recognized by the world scientific community).


  • Introduction to programming (Pygame, turtle help motivate children to start coding well).


  • Rapid prototyping of ideas in business due to the abundance of ready-made libraries, low threshold for entering the language and high productivity of programmers who write in Python.


  • Writing scripts (scripts) to automate tasks. Python comes by default with all distributions of Unix-like systems and is a great replacement for Bash in every sense.

Post a Comment

Previous Post Next Post