📜 ⬆️ ⬇️

5 reasons why Python is powerful enough for Google

Translation of article 5 Reasons why Python is Powerful Enough for Google

You are preparing to start a new project. Which language should you choose to develop?


Or, if you reformulate this question: you are looking for work, what language do you need to learn ?

By the title of this article, you can guess that I think Python is the correct answer. But why?
')
The answer is that Python is a powerful language. But what does it mean? What makes a programming language powerful?

Python efficient


Nowadays, tons of intellectual energy are spent on Big data (both for their analysis and processing). The more data you need to process, the more important it is to manage the memory you use.

Python provides generators for both expressions and functions .

Generators allow iterative processing of things, one element at a time. This does not seem like some kind of fantastic, until you begin to understand that a list is required for normal iterative processing of the list. The list takes up memory. A very large list takes up a lot of memory.

Where it is especially convenient (when you have a long chain of processes), you need to apply to the data set. Generators allow you to simultaneously capture the original data on a single element and transfer them throughout the process chain.

I often encounter the need to transfer data from one site to another. Some of the sites I transfer have a decade of history and gigabytes of data. Using the migration tools based on the collective.transmogrifier generator, I can read site data, produce complex, interdependent updates of data, while it processes, creates and stores objects on the new site in permanent memory.

For applications in which you are dealing with even larger data sets, such a tool may be indispensable. David Beazley has a great presentation that contains some pretty convincing examples of using generators for system tasks. Take a look and you will see how your imagination will play out!

Python fast


OK OK. I hear a snort. After all, Python is an interpreted language, isn't it? Are they not slow?

The fact is that in recent years amazing work has been done to improve Python performance.

The PyPy project aims to accelerate Python as a whole (and does an excellent job with this ).

Numba can offer a tremendous increase in speed by simply adding decorators to the code that you already have.

So I want to say that if you want to do high-performance computing, Python is a viable option today.

Python is widespread


Python has been around for quite a while and is used in almost all areas of activity. Reddit thread created a survey on how you use Python at work , in task responses ranging from system automation, testing, and ETL to games, CGI, and web development.

Disney uses Python to support its creative process.

Mozilla uses Python to explore its vast code base and releases many open source packages built into Python.

Checking PyPi , the Python public package directory, shows 40,000 add-ons available in almost 300 listed categories .

Basically, if you want to do something in Python, there are pretty good chances that someone already has it, and you do not need to start from scratch.

Python is not Python


I recently read a post about why there are so many different kinds of Python .

The author believes that Python is not really a language, it is a language description. This means that you can implement Python in any way.

Python, which most people interact with, is CPython, an implementation written in C. One of the features of CPython is that it offers clean integration with code written in C, so the implementation of wrappers around C libraries is relatively simple.

But there is Jython , which offers deep integration with Java code, Iron Python for working with C # and .NET code, PyObjc for writing Python code using ObjectiveC tools, and even pyjs , which offers to compile your Python for JavaScript.

Thus, if you already have a software stack in one of these languages, it is quite simple to include Python in your work environment so that you can get the most out of all its capabilities.

Python is easy


Python has a lightweight reputation for learning a language. The language syntax is for reading. There is a lot of controversy over this , but the facts speak for themselves.

Much of Python’s popularity is concentrated in areas such as scientific computing . People working in this field are primarily scientists and only then programmers (if they are at all).

Advanced systems, such as NumPy and SciPy , were not founded by teams of software engineers, but by subject matter experts who created the tools needed to do the job.

Think about that.

If you are creating a new project and are working in a specialized area, who do you want to be trusted to deal with, what problems should be solved? Of course, you can hire specialists in this subject area and developers (and ultimately, you will need them). You can even teach them to talk to each other (and ultimately, you will need this too). But if you are just starting out, what should you do best?

I believe that you need to choose a language that empowers your experts directly.

Select Python.

Source: https://habr.com/ru/post/340494/


All Articles