10 powodów, dla których warto nauczyć się Pythona

„Python to nowa Java!”
– przeczytałam kiedyś i to zdanie szczególnie utknęło mi w pamięci (zwłaszcza, że wtedy jeszcze nie do końca wiedziałam co autor miał na myśli 😉 ). Czemu akurat Java? Czemu nie nowy C++, albo nie nowy PHP przecież też skryptowy i interpretowany?

Już śpieszę wyjaśniać – Java jest uznawana za uniwersalną, dobrą do nauki i „działa na wszystkich platformach”.

Może być wykorzystana do tworzenia aplikacji desktopowych, aplikacji mobilnych, gier, aplikacji webowych czy programowania urządzeń AGD. Miała być dobra dla każdego i do wszystkiego.

A jednak to Python jest zdecydowanie lepszym kandydatem na pierwszy język programowania.

Dlaczego Python?

Poznaj 10 powodów, dla których warto nauczyć się Pythona

1. Python jest prosty!

Łatwy w nauce, ma prostą, wręcz intuicyjną składnię (najprościej mówiąc to sposób zapisu poleceń rozumianych przez komputer za pomocą danego języka programowania).
Składnia przypomina elementy z „prawdziwego życia”. Słowa kluczowe są więc zrozumiałe dla każdego początkującego, a jednocześnie bardzo bliskie tym występującym w innych językach programowania (dlatego późniejsza „przesiadka” jest prostsza).

Gdy wymieniamy listę rzeczy do wykonania często robimy to z pomocą dwukropka i używając wcięć, tak samo jak wydajemy polecenia Pythonowi w blokach kodu. Przy okazji niejako wymusza w nas naukę dobrych nawyków robienia wcięć w kodzie, dzięki czemu kod w Pythonie jest ładny, czytelny i przejrzysty.

Pierwszy program wyświetlający napis „Hello World”

Java:

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

Python:

print("hello world")

Zostawiam do oceny indywidualnej 😉 Sprawdź w konsoli import this, wszystko co przyświeca programowaniu w Pythonie w 19 wersach 😛

2. Python jest szybki

I nie, nie podejmuję szybkości jako tematu porównania Pythona do innych języków programowania, zaraz będą jęki, że przecież są szybsze. Jest szybki na tle języków interpretowanych, ale nie to jest ważne dla osoby początkującej.

Jest szybki w nauce i dostępny od ręki.

Instalujesz Pythona i już od razu możesz siadać do pisania swojego kodu. Uruchamiasz konsolę, wpisujesz python i już wita Cię znak zachęty (>>>) „wpisz coś, wypróbuj mnie no dalej!”. Żadnego czytania o wyborze programu, środowiska, wersjach kompilatora.

Nie chcesz instalować Pythona, ale wypróbować swoich sił w konsoli? Proszę bardzo: Python shell online czy repl.it.

Powyższy gif też trafia tu nie przez przypadek. Mr. Robot to świetny serial o hakerach zawierający w sobie dużą porcję branży IT. Jednocześnie nie został zrobiony po łebkach jak w większości tego typu produkcji. Możemy znaleźć w nim całkiem sporo narzędzi z dziedziny cyberbezpieczeństwa. Też nie przypadkowo pojawia się na ekranie szybkie wklepywanie kodu w Pythonie prosto w konsoli czy plik fuxsocy.py użyty przez Darlyn.

Tworzenie testów penetracyjnych w Jave – okey, ale jak wyglądałoby hakowanie czegokolwiek w czasie rzeczywistym. Scena z Mr. Robot, FBI krąży po korytarzu „no poczekaj, tylko to skompiluję”.

3. Python jest wydajny

Praca z Big Data (zarówno w zbieraniu danych, jak ich analizie, przetwarzaniu, wykorzystaniu) jest przyszłością. Im więcej danych musisz przetworzyć, tym ważniejsze staje się zarządzanie zużywanymi zasobami i wydajność kodu.

Python udostępnia generatory zarówno jako wyrażenia, jak i funkcje. Generatory pozwalają na iteracyjne przetwarzanie danych – element po elemencie. Brzmi niezbyt atrakcyjnie, dopóki nie zauważysz, że „normalne” iteracyjne przetwarzanie danych wymaga listy. Lista zajmuje pamięć. Naprawdę duża lista zabiera bardzo dużo pamięci. Generatory umożliwiają pobieranie danych ze źródła po jednym elemencie i przekazywanie ich za pośrednictwem całego łańcucha przetwarzania omijając mechanizm związany z przechowywaniem iterowanej listy.

Nawet jeśli na chwilę obecną praca z dużymi danymi wydaje Ci się abstrakcją, pomyśl o wszystkich wyrażonych zgodach „na przetwarzanie danych osobowych”, marketingu, pracy naukowej czy nawet polityce (np. Donald Trump wygrał wybory, dzięki BigData).

4. Umiejętności zawodowe

Jest wiele języków służących do celów edukacyjnych takich jak Scratch czy Logo. Na pewno za ich pomocą można nauczyć się logiki programowania, część z nich trafia do szkół i to dobry trend. Niestety, nieważne jak zaawansowane rzeczy z ich pomocą stworzysz, nikt nie potraktuje tej umiejętności poważnie (chyba, że jesteś nauczycielem/nauczycielką i chcesz wprowadzić naukę programowania na swoich zajęciach 😉 ).

Dlatego sięgnij po Pythona! Łatwo go ugryźć i od razu mieć konkretną umiejętność zawodową – programowanie.

Jednak nie chcesz rozwijać się w Pythonie? Nie ma problemu, łatwo „zejdziesz niżej” do C, przeskoczysz na Ruby (składnia jest bardzo podobna) czy pójdziesz stronę frontendu prosto w ramiona JavaScript’u.
Integracja Pythona z innymi językami? Nie ma problemu.
Dodatkowe rozwiązania? Jest i to w wielu opcjach.
Jython czyli Python zaimplementowany w Javie – działa wszędzie, gdzie działa Java. IronPython, Python zaimplementowany w .Net.

5. Wynagrodzenie

Porozmawiajmy o pieniądzach. Nie jesteśmy na rozmowie rekrutacyjnej, więc bez owijania w bawełnę – główną przyczyną zmiany branży jest chęć zarabiania więcej, a kwoty jakie padają w IT robią wrażenie.

Python to aktualnie drugi najlepiej opłacany język w USA. Patrzymy na średnią roczną zarobków, znowu na to, że jest to język prosty w nauce i sprawa zaczyna się klarować.

źródło: codementor.io

Mimo, że te statystyki wciąż nie pokrywają się z trendami w Polsce to programiści Pythona na zarobki narzekać nie mogą. Biorąc pod uwagę, że moda lubi do nas przychodzić „z zachodu” to wróżę im tylko lepszą przyszłość.

6. Pracy nie zabraknie

Skoro było o pieniądzach to warto też zwrócić uwagę na wszystkie możliwości jakie daje Python w pracy. Właściwie możesz w nim napisać wszystko co się marzy i jednocześnie w każdej dziedzinie znajdziesz dla siebie ofertę zatrudnienia. Z roku na rok zapotrzebowanie na specjalistów Pythona rośnie. W tym roku programiści Pythona są w top 3 najbardziej rozchwytywanych.

źródło: codingdojo.com

7. Możliwości

Powiedziałam, że możesz wykorzystać go do wszystkiego, więc czas na przykłady.

  • Arduino czy Raspberry Pi – na jednym i na drugim możesz programować w Pythonie, dużo zabawy, ogrom możliwości. Projekty DIY są łatwo dostępne na youtubie i dają wiele satysfakcji.
  • Cybersecurity – ethical hacking, testy penetracyjne, analizy systemów bezpieczeństwa, a także rozwój oprogramowania, to zadania, które możesz wykonywać z Pythonem jako spec od bezpieczeństwa
  • IoT – znany również jako Internet rzeczy, inteligentne domy. Właściwie, dlaczego samodzielnie nie sprawić sobie kilku gadżetów w domu lub pracować przy tym zawodowo?
  • Marketing – wyciąganie i analiza informacji o użytkownikach z danych własnych czy za pomocą API Facebooka, Google, Twittera, lepsze targetowanie reklamy
  • Nauka – obróbka danych zarówno na poziomie matematycznym, statystycznym, wyciąganie części informatywnych z wyników eksperymentów laboratoryjnych, z dziedziny genomiki, chemii, geoinformacji itp.
  • QA – testowanie oprogramowani, testy automatyczne, debugowanie, wszędzie gdzie można z lenistwa napisać kod, który robi testy za testera
  • Statystyka – Python to jeden z najczęściej wymaganych języków na stanowiska Data Scientist
  • Uczenie maszynowe i AI – tematy ściśle zwiazane z przetwarzaniem ogromnych ilości danych, ponoć Python jest przyszłością Machine Learningu
  • Web development – backend bardziej wydajny niż popularny PHP do tego przyspieszające pracę frameworki np. Django czy Flask

Wiele wiele innych, które tylko wpadną nam do głowy. Nawet w branży gier, która niekoniecznie jest w pierwszym momencie kojarzona z Pythonem, znajdzie się odpowiednie stanowisko (gameplay programmer).

8. Python III Potężny


Prosty, czyli niewiele da się z nim dalej zrobić. W żadnym wypadku!
„Python has a power”, dlatego takie firmy, jak Google, Dropbox, Spotify czy Netflix używają go w swoich aplikacjach.

Dropbox

Dropbox jest w całości napisany w Pythonie, co zapewnia mu zgodność z każdym systemem operacyjnym. Ma około 400 milionów użytkowników i dla wielu z nich jest jedną z pierwszych aplikacji instalowanych na komputerze. Nie tylko aplikacja desktopowa, ale również kod po stronie serwera Dropbox’a jest w języku Python.

Google

Google wykorzystuje ogrom technologii, w tym C ++, Python, a teraz także język Go. Ponoć w Google padło zdanie „Python, gdzie możemy. C + +, gdzie musimy.”

Spotify i Netfilx

Podobnie jak Google, Spotify i Netflix korzystają z różnych języków.
Spotify wykorzystuje głównie Javę, ale korzysta z Pythona to takich rzeczy jak ich Web API. Spotify korzysta również z Pythona do analizy danych, niekoniecznie związanych tylko z użytkownikami (system odzyskiwania serwera DNS, system płatności i system zarządzania treścią).
Netflix wykorzystuje mieszankę Javy, Scali i Pythona, jednocześnie daje programistom autonomię wyboru języka, który najlepiej pasuje do napotkanego problemu. Gdzie szukać Pythona? W grupie analitycznej i do obsługi wydarzeń w czasie rzeczywistym.

Gdzie jeszcze jest używany Python?

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

9. Rozszerzenia

Python uczy stylu programowania opartego o obiektowość (nie jest to opcja, tu wszystko jest obiektem). To z kolei pozwala na szybsze i łatwiejsze tworzenie wielomodułowych aplikacji, co za tym idzie także dzielenie kodu w zespole projektowym.

Tworzenie własnych modułów z dowolnego kodu jest „super proste”. W innym pliku pobieramy nasz moduł przez „import moduł” i koniec, gotowe.

Co więcej mamy do dyspozycji pełno gotowych modułów i bibliotek, które przyspieszają pisanie kodu np. tworzenie GUI (PySide, PyQt, PyGTK), obliczeń matematycznych (NumPy, SciPy, mathplotlib), budowy aplikacji sieciowych (Django, Flask), tworzenia gier (PyGame) itd.;

10. Materiały i społeczność

W Pythonie z łatwością znajdziecie niemało materiałów do nauki, co prawda głównie po angielsku. Dokumentacja języka jest bogata i bardzo przejrzyście napisana. Jeśli chodzi o książki – nie dezaktualizują się tak szybko, jak w przypadku technologii webowych (chociaż ostrożnie polecam książki, raczej do tematów z wąskich dziedzin, gdzie znalezienie kompletnych informacji w Internecie jest po prostu trudne).

Dla osób początkujących ważne jest wsparcie. Python ma aktywną społeczność, także polską (liczne wydarzenia, grupy na fb takie jak Python Poland, Python: Pierwsze kroki, Python szukam pracy) czy „damską” PyLadies, PyCode Carrots, Django Girls.

Podsumowanie

To jest moje 10 powodów, dla których warto uczyć się Pythona a na pewno znalazło by się więcej 😉 Jeśli udało mi się przekonać Cię do Pythona to zapraszam dalej Tu znajdziesz instalację i pierwsze kroki w Pythonie.

Jeśli spodobał Ci się wpis, o czymś zapomniałam lub masz inny powód, dla którego warto uczyć się Pythona zostaw po sobie komentarz 🙂