Why is python so difficult to learn

Business software

Python is generally considered to be a relatively simple programming language - both when it comes to learning and applying what has been learned. According to experts, Python is suitable for a whole range of applications. Getting started can be just as difficult as with other programming languages. Every decision you make about this has an impact. Regardless of whether it is about the operating system, the runtime or the development environment.

For this reason, we have put together all the important steps for you to get started with Python. We will show you the various Python distributions, tell you which development environment is best for your purposes and provide you with tools that will provide you with the best possible support when programming with Python. This should save you the usual mistakes and mishaps that often plague beginners.

The first thing you probably wonder is which version of Python to use best. Answer: Python 3. This is the current and future-proof version of the programming language. Python 2 is only a legacy version that is still supported for reasons of backward compatibility. In comparison, Python 3 offers the same features as Python 2, but has significant performance advantages.

Choose your Python platform

How you get started with programming with Python depends largely on which operating system you want to use as the development environment. Fortunately, the programming language is available for all major operating systems. In addition, various good editor programs and development environments are available.

Also read:How to properly install Python

Danger:The instructions in this section apply to the standard version of Python published by the Python Software Foundation. Python is also available in other versions, one or the other of which may better suit your needs. You should therefore - before installing anything - first read the section "Overview of Python distributions".

Microsoft Windows: By default, Python is not part of Windows. The interaction with Microsoft's operating system is therefore not particularly complex: Download a runtime environment, click a few buttons - done. If you use the Package Manager Chocolatey for Windows (and why not, if it makes life easier), just type "choco install python3" into the command line.

Linux: Almost every major Linux distribution now includes Python. The only question is, are you getting the latest version of the programming language by default? Some Linux distributions come with older Python versions for good reason: The scripts are often written specifically for a distribution and therefore only work with a certain version of Python. If so, you may not be able to avoid installing an older version of Python using the Package Manager. If you want to avoid different versions getting in the way of each other. The pyenv software will help you with this.

macOS: The situation on the Mac operating system is very similar to that of Linux. To use Python 3 with the Mac, it is recommended to use the Homebrew Package Manager. Again, pyenv is recommended for management.

If you have Docker installed, you can also simply create a container with a Python runtime environment and use this as the basis for a project.

  1. The salary evaluation
    For COMPUTERWOCHE, the Hamburg remuneration consultancy COP Compensation Partner GmbH evaluated salary data from software developers. A total of around 6,000 data was used for this. 4,275 of them dealt with backend developers and 1,682 with frontend developers.
  2. IT developers deserve that
    All salaries have risen sharply, especially among young professionals. In Germany, backend developers earn an average of € 61,200 and frontend developers around € 46,700.
  3. Developers without professional experience deserve this
    A backend developer with no professional experience already earns around € 52,300. As a front-end developer, he has an average starting salary of € 40,400.
  4. Up to € 80,000 with 20 years of professional experience
    After 20 years of professional experience, the back-end developer should earn almost € 80,000 and a front-end IT specialist around € 59,300.
  5. In small companies up to € 57,000
    In a company with up to 50 employees, backend developers earn around 57,000 euros and in the frontend area around 42,000 euros.
  6. This is what a developer earns in a company with 1,000 or more employees
    If the company has more than 1,000 employees, developers in the backend area receive an average salary of 68,000 € - in the frontend area, in turn, almost 54,000 € per year.
  7. With minor personnel responsibility from € 90,000
    If a backend developer has a small personnel responsibility of one to three employees, his salary increases to 105,000 and for a frontend developer to 94,000 euros.
  8. With up to 30 employees € 100,000 per year
    According to the study, there are around 115,300 euros per year for back-end developers with 16 to 30 employees and for front-end developers 102,300 euros.
  9. Earn € 60,000 a year in mechanical engineering
    The industry also has an influence on the salary. A backend developer in mechanical engineering achieves an average salary of € 63,700 per year.
  10. In chemistry up to € 49,000
    A front-end developer in chemistry receives an average salary of € 49,000.
  11. Munich is the front runner
    In Munich, the salaries for backend developers at € 74,000 are on average around € 10,000 higher than in other Bavarian regions. Frontend developers achieve an average salary of € 56,500 here - that's still € 7,000 more than in the rest of Bavaria.
  12. Earn up to € 130,000 with personal responsibility in Munich
    With personnel responsibility, the salary for backend developers in the Bavarian capital can rise to € 132,000. A front-end developer earns around € 117,000 here.
  13. In Berlin around € 58,000
    In Berlin, the average salary for backend developers is around € 58,000. For front-end developers there are around € 44,000 per year.
  14. 65,200 € for backend developers in Hamburg
    Hamburg offers an average salary of € 65,2000 for IT backend developers. In the front-end area, there are significantly less: € 49,000 per year.
  15. Earn around € 46,700 in Mecklenburg-Western Pomerania
    In Mecklenburg-Western Pomerania, a back-end developer earns around € 46,700 - in the front-end area it's again less: € 35,400 per year.

Overview of Python distributions

Python is available in a variety of different distributions. The sense and purpose of this diversity is - as with Linux - to be able to serve as many different usage scenarios as possible. The following compilation is intended to give you an overview of a few selected distributions - namely the best known and most widely used.

CPython: Made by the Python Software Foundation, CPython is the base runtime environment and something of a "general purpose weapon" version. In addition to the interpreter and standard library, the scope of delivery also includes a hodgepodge of components from third-party manufacturers.

It is worth knowing in this context that there is no direct technical support for CPython. There is a built-in mechanism for third-party packages called pip, but implementing larger and more complex packages can be challenging.

Suitable for: Beginners who do not want to dare to do a lot and real "do-it-yourselfers" who are not afraid of finding their own individual parts.

ActivePython:ActiveState markets a variety of consumer and enterprise runtimes and integrated development environments (IDEs). In addition to CPython, ActivePython also includes dozens of pre-installed libraries and is therefore much more straightforward than CPython. In addition, there are several performance improvements for many libraries in the fields of mathematics and science.

Money is required to use ActivePython. There are three versions to choose from: a free "Community Edition" (no support), a "Business Edition" and an "Enterprise Edition". Enterprise users can work their way up through the pyramid to see if ActivePython fits their project.

Suitable for: Enterprise users who want easy access to many third-party libraries. And are ready to pay for support.

PyPy: The biggest unique selling point of the Python distribution PyPy is speed. With the help of a JIT (just in time) compiler, it accelerates Python applications. And sometimes dramatically. However, this improvement in performance manifests itself primarily in applications that run over a long period of time.

Suitable for: Developer of long-term services that benefit from the dynamics of Python.

Anaconda: In practice, Python is mainly used in mathematics and statistics. For example when it comes to data analysis or machine learning. There are now some Python distributions that are specially designed for these application scenarios. Anaconda from Continuum Analytics is one of the best known and most widely used. As in the case of ActivePython, the package also includes numerous Python libraries - among other things, Intel-optimized versions of math libraries are used. Anaconda also has its own installer to manage the third party libraries. This also makes it easier to keep the packages up to date.

Suitable for: Anyone who uses Python for data analysis or machine learning. Anaconda is not made exclusively for these use cases, but it is strongly tailored to them. The Enthought Python distribution is an alternative to Anaconda.