Dlaczego warto się uczyć Pythona?

Cześć,

jaki był Twój pierwszy języka programowania? Byłeś/byłaś zadowolona z wyboru?

Każdy, dosłownie każdy stał kiedyś przed wyborem języka, którego chce się uczyć. I pewnie u każdego wyglądało to podobnie, jakiś research w Internecie, pogadanie ze znajomymi, a może po prostu uczelnia wcisnęła jakąś technologię w tok nauki i tak, o, zostało.

Może pierw, nim przejdę do tematu wpisu, chcę dodać że wybór pierwszej technologii nie jest aż tak ważny jak się wydaje. Z bardzo prostego powodu – tę decyzję możesz zmienić – technologie są do siebie podobne i jeśli po jakimś czasie uznasz że język X nie przynosi Ci np. tyle pieniędzy ile byś chciał, to zawsze możesz zacząć się uczyć języka Y – i w skończonym czasie Ci się to uda. Więc jeśli jesteś na etapie wielomiesięcznego poszukiwania języka to przestań to robić, stracisz na tym więcej czasu niż na ewentualnej późniejszej zmianie.

Dobra, ale wracając do tematu, dlaczego warto uczyć się Pythona?

Python jest językiem popularnym!

Ale co to daje? Daje chociażby to że Stackoverflow pęka w szwach od pytań i odpowiedzi na temat tego języka. Tak samo jest z ilością repozytoriów na githubie – po prostu ten język żyje i ludzie z niego faktycznie intensywnie korzystają.

Uczenie maszynowe, sztuczna inteligencja i zagadnienia akademickie

Python jest gęsto i często używany wszędzie gdzie tylko się da, jeśli chodzi o takie tematy.

Jest kilka bardzo rozbudowanych bibliotek Pythonowych, które potrafią tworzyć np. sieci neuronowe, które można z powodzeniem użyć do rozwiązania problemu generalizowania czyli stworzenia takiego kodu który będzie umiał „przymknąć oko” na pewnie niedociągnięcia danych wejściowych, np tak jak tu:

algorytm umiał rozpoznać bohaterów Teorii Wielkiego Podrywu, mimo że starali się być nierozpoznani.

Python jest dobrze płatny

Tutaj prosto z mostu – Python jest w czołówce jeśli chodzi o płace. Chociaż to nie technologia określa ile będziesz zarabiać, to jednak ten fakt pomaga Ci określać widełki, które będą po prostu wyższe niż np. w przypadku PHP.

Python jest schludny i prosty

Programy w tym języku się łatwo czyta, kod jest przejrzysty i trudniej tutaj o przekombinowanie.


Czekaj, stop!

Podoba Ci się to co tworzę? Jeśli tak to zapraszam Cię do zapisania się na newsletter:

Aby potwierdzić swoją subskrypcję, odbierz pocztę i kliknij w link potwierdzający:) jeśli maila nie ma to poczekaj chwile i/lub sprawdź folder spam/inne/oferty itp :)

Aby potwierdzić swoją subskrypcję, odbierz pocztę i kliknij w link potwierdzający:) jeśli maila nie ma to poczekaj chwile i/lub sprawdź folder spam/inne/oferty itp :)
a w ramach prezentu otrzymasz całkowicie za darmo, dwa dokumenty PDF „6 (nie zawsze oczywistych) błędów popełnianych podczas nauki programowania” który jest jednym z efektów ponad siedmioletniej pracy i obserwacji rozwoju niejednego programisty oraz „Wstęp do testowania w Pythonie”, będący wprowadzeniem do biblioteki PyTest.
Jeśli to Cię interesuje to zapraszam również na swoje social media.

Jak i do ewentualnego postawienia mi kawy :)

PEPy, czyli listy „dobry rad” jak tworzyć kod w tym języku powodują że coraz więcej programistów tworzy kod ustandaryzowany a to pozwala na zmniejszenie progu wejścia w nowy projekt.

Ogromna ilość rzeczy w bibliotece standardowej jak i paczek instalowanych na żądanie

Python dostarcza bardzo bogatą bibliotekę standardową, dzięki czemu mnóstwo problemów masz już rozwiązanych! Ponad to, korzystając z managera paczek, może instalować kolejne. I mimo to że rozwiązywanie problemów w stylu „pip driven development” (pip to owy manager paczek) nie jest polecaną przeze mnie praktyką, to jednak super jest nie wynajdywać koła na nowo:)

W Pythonie szybko się pisze

Python jest językiem zwięzłym i prostym. HelloWorld w Javie:

1
2
3
4
5
public class HelloWorld {
  public static void main (String[] args) {
      System.out.println("Hello, world!");
  }
}

I kod robiący to samo w Pythonie:

1
print("Hello, world!")

I czytanie pliku w Javie:

1
2
3
4
5
6
7
8
public class ReadFile {
  public static void main (String[] args) {
      try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
          while ((line = reader.readLine()) != null) {
          }
      }
  }
}

no i Python:

1
2
3
with open(file_name, "r") as in_file:
  for line in in_file:
      pass

To, że w tym języku kod tworzy się szybciej niż w innych sprawia że świetnie nadaje się do prototypownia. Pozwala to też na łatwą i szybka automatyzacje pewnych powtarzalnych czynności, bez potrzeby pisania tej całej otoczki #java.

Python jest używany przez ogromne koncerny

Nic tak nie buduje dobrej opinii jak polecenie przez rzetelną osobę z osiągnięciami, a więc…

kojarzysz te loga? Oni korzystają z Python’a. Czy potrzeba tu więcej słów?

Do brzegu

Nie jestem fanatykiem Pythona. Ani w sumie żadnego języka. Technologie to narzędzia którymi rozwiązujemy problemy. Im więcej narzędzi znasz, tym ogólnie lepiej (chociaż czasem może warto umieć zręcznie odkręcić śrubę młotkiem).

Ten wpis to próba pokazania że istnieje coś poza Javą, że Python to fajne narzędzie i że może warto dodać go do swojej walizki z narzędziami.

Dzięki za wizytę,
Mateusz Mazurek
Mateusz M.

Pokaż komentarze

  • Ale już porównywanie hello wordlów z javy i py, a potem, żeby nie było, wstawienie czytania pliku... cóż, umniejsza wiarygodność autora. ;) Każdy, kto przebrnął przez pierwsze 2 rozdziały tutoriala do dowolnego języka programowania wie, że nie po to się używa javy, żeby pisać jednolinikowce, i nie po to się używa pythona, że się pisze szybko. W ten sposób mógłbym postawić javę koło kodu asemblerowego i powiedzieć "po co się uczyć asemblera, jeśli każdy program jest taki długi". No właśnie, po co? ;)

    • Cześć, Pythona używa się bo się w nim szybko pisze, np w softwarehousie ;P to istotny czynnik bo to czyste pieniądze. Nie rozumiem że umniejsza moja wiarygodność? Rozwiniesz?:)

      • Jeśli się chce wykazać, że w pythonie pisze się szybciej, jeśli chce się to na prawdę dobrze argumentować, to nie przykładami z pierwszych stron tutoriala każdego z języków. Lepszym argumentem byłoby wykorzystanie kodu, który mógłby być produkcyjny (lub na taki by wyglądał), porównując go objętościowo (liczba linijek), a następnie jego stopnia złożoności. Najkrótsze są "jednolinijkowce", ale to przy okazji najbardziej skomplikowane kawałki kodu (i najbardziej nieczytelne), a ktoś mógłby wyciągnąć wniosek, że to przecież kod napisany na szybko. Nie zrobiłeś tego, dlatego na twitterze pozwoliłem sobie określić taki poziom argumentacji, jak od studenta, do studenta - czyli rozważanie osób nieobeznanych w temacie (tutorialowe przykłady), nie mających doświadczenia produkcyjnego (brak "real-life example"), skupiających uwagę na nieistotnych rzeczach (liczba linijek, a nie czytelność i stopień skomplikowania).
        Przykłady, które podałeś pokazują, że python jest lepszym językiem skryptowym, niż java. Ale to jak porównywanie młotka i śrubokręta przez pokazanie, jak się nimi wbija gwoździe.
        Pozostaje jeszcze argument, że wielkie firmy używają pythona. Otóż ze specyfiką wielkich firm wiąże się to, że używają na prawdę wielu technologii, ponieważ każdą z nich traktują jak narzędzie, tj. wykorzystują najlepszą technologię do rozwiązania danego problemu, a że mają możliwość zatrudnienia wielu ludzi, to używają wielu narzędzi. Python musiał znaleźć się na liście, tak samo jak java, ruby, php, c++ i kilka pewnie jeszcze innych języków. To świadczy tylko o tym, że python nie jest językiem niszowym, ale to już udowodniłeś.
        Żeby rozwiać wątpliwości - zgadzam się, że warto uczyć się pythona. Nie zgadzam się tylko z tak przeprowadzoną argumentacją.

        • Dobra, chyba rozumiem co chcesz powiedzieć! :D Wiesz, ten wpis nie miał być dogłębną analizą języka, ani tym bardziej porównaniem, a zajawką mówiącą że to fajne narzędzie ;> więc nie siliłem się na skomplikowane przykłady co do objętości kodu a wręcz celowałem intencjonalnie w coś co pokaże "czarno na białym" że w Pythonie napiszesz mniej kodu niż w Javie i osiągniesz to samo:) Zgadzam się że "skomplikowane jednolinijkowce" są złe, stąd brak ich w tym wpisie. A skoro ich nie ma to również nigdzie nie porównuję ich. Nie wiem w takim razie skąd się one wzięły w Twoim komentarzu? Nigdzie też nie napisałem że Python jest lepszym językiem skryptowym niż Java przecież:) Co do wielkich firm - chciałem pokazać dokładnie to co napisałeś - że Python znajduje się w ich stacku! A skoro tam jest, to, tak samo jak inne języki które wymieniłeś, okazały się przydatnym narzędziem dla owej dużej firmy:)

    • „po co się uczyć asemblera, jeśli każdy program jest taki długi”. Jeżeli nie masz potrzeby pisania pierwszego bootloadera (tego co inicjuje peryferia), to nie ma sensu. W sumie można w czystym C napisać jeżeli się umie używać skryptów linkera. Taki mało popularny TCL jest używany na codzien w projektach związanych z HDL. Python faktycznie pozwala pisać szybko w interaktywnej konsoli, ktora była od zawsze.

  • Ciekawie napisane, może pomoże komuś, kto zastanawia się nad wyborem technologii

  • Mój pierwszy język programowania którego się uczyłem to JS. Wtedy uczyłem się jeszcze z książek. Na koniec książki z której się uczyłem pisało się program ToDo. Później pamiętam że mocno go rozbudowałem ale jak przesłałem pracodawcy to mu nie działał, heh :-p.

    Z perspektywy czasu wiem teraz że najlepiej jest uczyć się jednej technologii, jednego języka na raz i na tym pozostać póki nie zostanie się ekspertem w tym języku.

    Python to świetny język do nauki. Bardzo polecam naukę tego języka.

    Gdyby ktoś chciał to napisałem post na moim blogu o paru prostych implementacjach matematycznych w Python.

    https://mstem.net/pl/python-matma/

    Pozdrawiam.

Ostatnie wpisy

Podsumowanie: luty i marzec 2024

Ostatnio tygodnie były tak bardzo wypełnione, że nie udało mi się napisać nawet krótkiego podsumowanie. Więc dziś zbiorczo podsumuję luty… Read More

7 dni ago

Podsumowanie: styczeń 2024

Zapraszam na krótkie podsumowanie miesiąca. Książki W styczniu przeczytałem "Homo Deus: Historia jutra". Książka łudząco podoba do wcześniejszej książki tego… Read More

2 miesiące ago

Podsumowanie roku 2023

Cześć! Zapraszam na podsumowanie roku 2023. Książki Zacznijmy od książek. W tym roku cel 35 książek nie został osiągnięty. Niemniej… Read More

3 miesiące ago

Podsumowanie: grudzień 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W grudniu skończyłem czytać Mein Kampf. Nudna książka. Ciekawsze fragmenty można by było streścić… Read More

4 miesiące ago

Praca zdalna – co z nią dalej?

Cześć, ostatnio w Internecie pojawiło się dużo artykułów, które nie były przychylne pracy zdalnej. Z drugiej strony większość komentarzy pod… Read More

4 miesiące ago

Podsumowanie: listopad 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W listopadzie dokończyłem cykl "Z mgły zrodzony" Sandersona. Tylko "Stop prawa" mi nie do… Read More

5 miesięcy ago