Software and Application Development in Python programming language

Contents
Python programming language
Python is a versatile scripting programming language. It is suitable for solving a variety of programming problems and many platforms such as Web, iOS and Android, as well as for solving engineering and scientific problems and software for server platforms.
The advantages of Python over other programming languages.
It is an interpreted language – it does not compile, that is, it is a plain text file before launch. You can program on all modern platforms. Python is well designed with simple and laconic syntax and clear logic.

Developing programs in Python is faster than other programming languages because less code is generated in Python than in other popular programming languages. For these reasons, Python is well suited for beginners and specialists without programming skills, since anyone, given the time, can master Python for their needs in basic processes within a few months. It is with him that you can start the path of a programmer, passing any of the many online practical courses on programming in Python language.
How Python language is used in software and website development.
Python language is used to develop websites and web applications, applications for mobile devices, for data parsers, in applications and programs related to machine learning (neural networks, scientific calculations and artificial intelligence), as well as as embedded scripts in various applications for computers and networks. Python is often used to create an OS for server systems.
Web development of sites and web applications in Python.
Python is most commonly used in web development to build websites and web applications. To work with it, frameworks are connected: Django, Pyramid, Pylons, TurboGears, Flask, CherryPy.
There are also engines for creating sites in Python:
- Abilian SBE;
- Ella;
- Saleor;
- Wagtail;
- Django-CMS.
Parsers are also written in Python to collect data and necessary information on the Internet.
Development of software and applications in Python.
Python language doesn`t compile, but it is used to successfully create desktop programs and applications for various calculations.
The following programs and applications have been developed in Python programming language:
- GIMP – an alternative open source graphics editor for Windows and Linux OS;
- Ubuntu Software Center – an application center in the Ubuntu OS (one of the Linux distributions);
- BitTorrent – torrent download manager (later the program was rewritten in C ++, but peer-to-peer networks still work in Python);
- Blender – a program for creating 3D graphics.
- Anki – a program for memorization. The program uses the spaced repetition method so that the user can easily memorize the necessary information (new words, formulas, answers to tests, and more).
- Caliber – a digital library and book reader. The program allows you to view, convert and edit books of various formats, in addition, it supports direct work with various e-books.
And a number of other successful projects developed using Python language.
Mobile applications developed in Python.
Mobile applications, although Python and a cross-platform programming language, are developed much less frequently due to the fact that applications created in Python function a little slower than in native Swift and Kotlin languages, which were specially created to work with certain mobile platforms iOS and Android and specific mobile device architectures for these mobile operating systems. For Android, they often write in Java, C #, C ++ or Kotlin, and for iOS – in Swift or Objective-C. The back end of a mobile application is usually programmed in Python. For example, the front end of the Instagram app for iOS is written in Objective-C, and the back end is written in Python.
Games developed in Python.
Many computer games were written in whole or in part in Python, which adds a significant share of the popularity of Python language when choosing a language for developing game applications. There is a persistent misconception that this language is not suitable for large game projects, but in fact, Python has been used in the development of many popular games for both online and console devices.
Some of the most famous games that have used Python in one way or another are:
- Battlefield;
- World of Tanks;
- Civilization IV;
- Mount & Blade;
- EVE Online;
- The Sims 4.
Battlefield
(2005 / developer The Digital Illusions CE (DICE) )
This game uses Python for a variety of purposes, from server controls to internal game logic. The Battlefield is one of the most popular Action, Shooter, 1st Person and War Simulator games for PC and XBox that is well known all over the world.
EVE Online
(2003 / developer CCP Games )
It is a space-based massively multiplayer online role-playing game (MMORPG) set in a sci-fi universe. The user base has over 500,000 players. The EVE Online is written entirely in the StacklessPython, making it one of the largest online games to use Python for its own needs.
Mount & Blade
(2008-2012 / developer The Tale Worlds)
An RPG / Action / Strategy game set in the Middle Ages. The first edition of the game was developed by a small game studio, they used the Python scripts to ensure modularity of the game. The game features a huge fantasy game world (strategy) and epic real-time battles from the first person (RPG / Action). The Mount & Blade game was a huge success among fans of strategy and RPGs, as well as fans of medieval battles and the life of medieval knights. And today, fans of the game continue to play The Mount & Blade game and independently release unofficial updates to the game.
Sims 4
(2014 / developer Е.А. Maxis Sims Studio)
It is one of the most famous games for PC in the life simulation genre. The Sims 4 is the first PC game to hit the top spot on all sorts of game charts for several years, selling 408,150 copies worldwide in its first week of release. With over 1.1 million copies sold worldwide to date, The Sims 4 is one of the top-selling games to use the Python language – to provide in-game modding that gives users a tremendous amount of customization options. Fans of the game continue to play it today with no less enthusiasm.
Civilization IV
(2005 / developer The Firaxis Games )
This is a great classic turn-based strategy computer game for PC. The player’s goal is to become the best ruler in the game world, defeat all rivals using the methods of diplomacy, war, cultural and scientific influence. Most of the Civilization IV game is written in Python, and Boost Python, which allows users to create modifications for the game with their own hands.
Frets On Fire (FoF)
(2006 / developer Unreal Voodoo)
An open and free source music game that itself mimics the commercial Guitar Hero game. The game is written entirely in Python using the Pygame library. Due to the openness and simplicity of the code, the game seems to be a good platform for learning and practicing programming.
Despite the possibility of implementing a user interface and working with graphics in Python, scripts are mainly written in Python – for example, character interactions, scene triggering, as well as handling events and collections of various attributes.
Artificial intelligence developed in Python.
Python is a leader in machine learning. It can be both the main project language and used in separate project modules.
The most popular are an AIs that work with photos, audio files and videos (search by photo, edit video and photo, match different photos, and so on). A programmers can even teach a computer to determine the emotional state of a person from a photograph, although there are still some problems associated with the individual characteristics of facial expressions of different people.
The abundance of the Python libraries allows you to easily create the AI that can navigate in space, make decisions, and perform tasks that are inaccessible to humans. One of the newest AIs written in Python is AlphaStar, an AI for the Starcraft 2.
The developers used PySC2, a tool written in Python specifically for the Starcraft 2.
The complexity of the work of the AI in this game lies in the fact that the computer needs to perform many different tasks and evaluate many goals: to scout the enemy, determine his strategy, adjust his game to it, make optimal decisions on the movement of the army, and much more.
A development a embedded systems in Python.
Python is used to develop embedded systems for various devices. For example, the language has taken root in the Raspberry Pi (a computer the size of a memory card) and in a number of well-known banking institutions for operating ATMs.
More projects with an embedded system in Python:
The Owl Embedded Python System;
Python Embedded Tools;
Embedded Python.
The Python language is used in embedded systems of CNC machines, automatic controls (temperature, fluid flow, pressure, and so on), and telecommunications equipment.
Creation of various scripts in Python language.
Python is suitable for writing plugins and scripts for ready-made programs. For example, to implement game logic or create additional modules. Python scripts are built into programs in other languages as models to automate tasks.
Where is Python programming language used else?
Python is widely used in many areas, from system administration to Data Science.
A system administration.
The system administrators need Python to automate tasks. It is simple, powerful, and supports special packages that make it more efficient. And, most importantly, it is installed by default on all Linux servers.
Python’s conciseness makes it easy to read code and find weaknesses. Formatting in a language is part of the syntax.
A scientific research
Python has several libraries that come in handy for doing scientific research and computing:
- 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.
Because of the libraries and ease of learning the language, many scientists choose the Python – it is especially popular with mathematicians and physicists.
Data Science
Python is one of the most widely used languages in a Data Science. It is used to write machine learning algorithms and analytical applications. It serves data warehouses, servers and cloud services.
It also helps to parse data from the Internet. For example, in Google, Python is used to index websites and various content.
Which companies are using the Python language?
Mostly Python is used by startups and companies that develop large projects. Here are just a part of the huge list:
- The Alphabet uses the language to scrap Google and implement YouTube;
- One Laptop Per Child – to develop the interface and functioning model;
- BitTorrent – for implementing peer-to-peer networks;
- US National Security Agency – for encryption and intelligence analysis;
- ESRI – as a tool for configuring geographic information programs;
- Maya – for creating animation;
- Pixar, Industrial Light & Magic – for creating animated films;
- Intel, Cisco, HP, Seagate, Qualcomm and IBM for testing;
- JPMorgan Chase, UBS, Getco and Citadel – for financial market forecasting;
- NASA, Los Alamos, Fermilab, JPL – for scientific computing and statistical analysis;
- iRobot – for the development of commercial robotic devices;
- IronPort – for mail server implementation.
It is also used by Instagram, Positive Technologies, Houdini, Facebook, Yahoo, Red Hat, Dropbox, Pinterest, Quora, Mail.ru and Yandex.
Disadvantages of Python
Despite all the advantages, the language also has disadvantages. A Python programs are considered to be quite slow. Swift iOS apps run 8x faster than Python. PyPy’s implementation is close to Java’s speed, but it doesn’t have all the features of the original language. Python is not suitable for tasks that require calculations and processing of a large amount of data – they are better solved with modular insertions in C or C ++.
Python’s heavy reliance on system libraries makes porting to other systems difficult. For these purposes, there is a tool Virtualenv, but it also has drawbacks: redundancy of complete isolation methods, crutches, duplication of system libraries.




