22.11.20188 min
Rita Łyczywek

Rita ŁyczywekRuby on Rails developerwww.flynerd.pl

10 reasons to learn Python

Motivate yourself to learn Python - a mighty language used at Google, Netflix, and Instagram.

10 reasons to learn Python

Python is a new Java! — I read this some time ago, and the sentence got stuck in my mind badly (especially because I wasn't quite sure what the author had in mind.) Why Java? Why not a new C++ or a new PHP — a script, interpreted language?

I rush to explain — Java is considered universal, nice to learn, and “works on every platform.“


It can be used to create desktop, mobile, and web applications, games, and programming home appliances. It was supposed to be good for everyone and for everything. Yet, Python is definitely a better candidate in a competiton for a leading programming language.


Why Python?

Get to know 10 reasons why it's worth to learn Python.

1. Python is easy

Easy to learn, has a simple, even intuitive syntax (putting it simply: a way of writing the commands understood by a computer with a given programming language.) The syntax resembles the elements “from real life“ so the keywords are intelligible for every beginner, and at the same time, really close to these appearing in other programming languages (that's why a switch to another language later is easier.)

When we specify the things to do, we often use a colon (“:“), and intersections — just like we give commands in Python blocks of code. By the way, it somehow forces us to build the good habits of making intersections. It makes our Python code look nice, legible, and clear.

First programme displaying “Hello World“

Java:

public class Main {
  public static void main(String[] args) {
    System.out.println("hello world");
  }
}


Python:

print("hello world")


I leave it for individual judgement ;-) If you've installed Python already, check import this in a console, everything that inspires to code in Python in 19 lines.
 

2. Python is fast

Nope, I don't mean to compare Python's speed to other programming languages. There will be moaning that there are faster ones, for sure. Python is fast compared to interpeted languages but it's not important for the beginner.

You can learn Python fast, and it's available off-the-shelf.

You install Python, and you can immediately start writing your code. You run a console, write python, and you're already welcomed with an encouraging sign “>>>“ — Write something, try me, come on! No need to read about choosing a programme, an environment, a compiler versions.

You don't want to install Python but want to try your hand at a console? Go ahead: Python shell online or repl.it.


This GIF is here not accidentally. Mr. Robot is an excellent TV series about hackers, and there's a big portion of IT world involved in it. It wasn't directed with a lick and promise like most of productions of this kind. We can trace quite a lot of cybersecurity devices here. There's a scene where a code in Python is quickly written straight in a console or fuxsocy.py file that Darlyn uses.

Creating penetration tests in Java — OK but how would hacking in a real life look like? There's a scene in Mr. Robot: FBI cruises the corridors: Wait a sec, I'll just compile this.


3. Python is productive

Working with the Big Data (collecting it, analysis, processing, usage) is the future. The more data you have to process, the more important is the management of used resources, and code's effectiveness.

Python makes generators accessible, both as the expressions, and the functions. The generators enable iterative data processing — the element after the element. It doesn't sound too attractive until you notice that “ordinary“ iterative data processing requires a list. A list takes up the memory. A really big list takes up a lot of memory. The generators allow to gather the data from a source one element at a time, and their transfer via a whole data processing chain, skipping a mechanism related to the storage of iterative list. 

Even if working with the Big Data sounds like an abstraction for you for the time being, think of all these given consents to data processing, marketing, academic work or even the politics (e.g. Donald Trump won the elections thanks to Big Data.)



4. Professional skills

There are many languages for educational purposes such as Scratch or Logo. Surely, they can help you with learning the logics of programming, some of them gets to the schools, and it's a good trend. However, no matter how advanced is the stuff you do with them, nobody will take it seriously (unless you're a teacher, and you want to introduce programming lessons to your students.)

So reach for Python! It's really approachable, and will immediately give you a concrete professional asset — programming.

After all, you don't want to develop your skills with Python? Chill, you'll easily “get lower“ to C, jump to Ruby (its syntax is really similar) or move towards front-end, straight into JavaScript arms. Python integration with other languages? No problem. Additional solutions? Sure, there are many options. Jython (Python implemented in Java) works everywhere where Java does. IronPython is a Python implemented in .Net.


5. Remuneration


Let's talk about money. It's not an interview so let's put it bluntly — the main reason people change their field is a wish to earn more, and the sums in IT world may impress.

Python is second on a list of well-paid languages in USA. We analyse an average annual wage, the fact that Python is an easy language to learn, and things become clear.


Despite the fact that these statistics doesn't correspond with Polish trends, Python programmers can't complain about their earnings. I see a bright future for them, especially because the trends usually come to us “from the West.“


6. There'll be no shortage of job positions

Let's take into account the possibilities that go with Python at work. You actually can program everything you wish in this language, and at the same time you'll find a job offer for you in every field. A demand for Python savvy programmers increases every year. 



7. Possibilities

As I said, you can make use of Python in every way. It's high time for examples.

Arduino or Raspberry Pi

In both cases you can code in Python. A lot of fun, immense possibilities. DIY projects are easily accessible on YouTube, and really rewarding.

Cybersecurity

Ethical hacking, penetration tests, security systems analysis, software development — these might be your tasks as a Security Specialist

Internet of Things

Actually, you can make the gadgets for your house on your own or work in this field profesionally.

Marketing

Collecting information about the users and its analysis with your own data or Facebook API,  Google, Twitter, better ads targetting.

Science

Data processing on mathematical and statistical level, working with results of laboratory experiments in the field of genomics, chemistry, geoinformation, etc.

QA

Software testing, automated testing, debugging, everywhere where you can — out of laziness — write the code that would carry out the code the tests for a tester.

Statistics

As far as Data Scientist positions are concerned, Python is one of the most often required languages.

Machine learning, AI

The fields that involve processing of a huge amount of data. Python is the future of machine learning, they say. 

Web development

More effective backend than popular PHP, and the frameworks that make you do your work faster, e.g. Django or Flask.

Many, many more could come to our mind. Even in a field of games which isn't, at least at first, associated with Python, one can find a suitable position (gameplay programmer).

8. Python III The Mighty


Because Python is easy, you cannot do with it more? By no means! It's application really varies. Python has the power so the companies such as Google, Dropbox, Spotify or Netflix use it in their applications.

Dropbox

Dropbox is completely written in Python, and it ensures its compatibility with every operation system. It has around 400 millions of users. For many of them, it's one of the first applications they install on their computers. Not only a desktop application but also Dropbox server side code is written in Python.

Google

Google uses a huge amount of technologies: C++, Python, and Go among them. Supposedly, someone said in Google office: Python where we can, C++ when we have to.

Spotify and Netflix

Similarly to Google, Spotify and Netflix employ different languages. In Spotify, it's mainly Java but Python is used for things like their Web API, data analysis which is not only related to users (DNS server's recovery system, payment system, content management system.) Netflix uses a mix of Java, Scala and Python, simultaneously giving their programmers the autonomy of choosing the language that is most proper where a given problen occurs. Where we can find Python there? In analytical groups, and real-time event service.

Where else Python is used?

Facebook, Instagram, Yahoo, Quora, Pinterest, Disqus.

9. Extentions

Python teaches the style of programming based on obiect-orientation (it's not just an option, everything is an obiect here.) This is turn enables faster and easier writing of multi-module application, and consequently sharing the code in project team.

Creating your own modules from any code is easy-peasy. In a different file, we open our module with “import module“, and that's it.

What's more, we have plenty of ready modules and libraries at our disposal. They make writing the code faster, e.g. creating GUI (PySide, PyQt, PyGTK), mathematical computation (NumPy, SciPy, mathplotlib), building web applications (Django, Flask), creating games (PyGame), etc.

10. Materials and community

You'll easily find a lot of learning materials, mainly in English. Python documentation is rich, and really coherently written. The books doesn't become outdated as quickly as in the case of web technologies. 

The beginners like support, and Python community is active, also in Poland (numerous events, Facebook groups such as Python Poland, Python: Pierwsze kroki, Python szukam pracy, and also my group, Python: nauka). There's also a strong female community: PyLadies, PyCode Carrots, Django Girls.

 

Summary

So these are my ten reasons why it's worth learning Python. Surely, there are more. What are yours?



The article is also available in Polish on Flynerd.pl blog.

<p>Loading...</p>