Mateusz Mazurek – programista z pasją

Python, architektura, ciekawostki ze świata IT

Felietony/inne Programowanie

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:
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 :)
Postaw mi kawę na buycoffee.to

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

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

9 komentarzy
Inline Feedbacks
View all comments
boogie

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? ;)

boogie

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… Czytaj więcej »

Qermit

„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.

Marek

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

Mateusz Hyla

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.