felietony

Python wszechobecny?

21
27 lutego 2020, 14:01 Krzysztof Wołk

W 1991 roku holenderski programista Guido van Rossum wydał język programowania o nazwie Python, jak łatwo policzyć nie jest to wcale młody język. Co ciekawe, język ten jest wynikiem pracy jednej osoby w przeciwieństwie do większości innych popularnych na świecie języków programowania, które są opracowywane i publikowane przez nierzadko duże firmy zatrudniające rzesze profesjonalistów. Python jest zatem wyjątkiem...

Python został udostępniony jako projekt typu Open Source i każdy może przyczynić się do jego rozwoju. Jak można się domyślić, van Rossum nie stworzył, nie rozwinął i nie wyewoluował wszystkim elementów tego języka samodzielnie. Python rozwijany był przez lata i nadal jest. A jego zastosowania są szerokie.

Tak naprawdę język ten powstał w celu pomocy programistom w pisaniu logicznych i przejrzystych kodów dla zarówno małych jak i tych wielkich projektów. Dlatego też zyskał taką popularność wśród programistów. Jak wspomniano na początku, ma szerokie zastosowania. Jest to język tak wszechstronny, że jest wykorzystywany przy budowaniu stron internetowych, grach, skryptach czy interfejsach graficznych dla aplikacji desktopowych, ale nie tylko, bo swoje zastosowanie ma również przy konfiguracji serwerów, w badaniach naukowych, uczeniu maszynowym, a także analizie danych.

Biorąc pod uwagę wszystkie te główne języki programowania, Python bardzo szybko się rozwijał, w szczególności w ostatnich latach. Stack Overflow przeprowadziło badanie, które dotyczyło wzrostu liczby i popularności języków programowania. Badanie to jasno pokazało, jak szybko Python zdobywa szczyty popularności. I tu rodzi się pytanie: dlaczego? Swój udział miały w tym niektóre technologie, przede wszystkim rozwój sztucznej inteligencji (SI) oraz uczenia maszynowego (ML). W dzisiejszych czasach, gdy ilość danych oraz ich jakość wzrasta, sztuczna inteligencja i uczenie maszynowe potrafią sobie poradzić z zadaniami, które w przeszłości wydawały się niemożliwe do wykonania. Facebook, Microsoft, Google czy Amazon (ale nie tylko oni, bo również inni giganci technologiczni) prowadzą bardzo intensywne prace nad ich ulepszaniem i rozwojem, ale także przyczyniają się do promocji tych dziedzin.

Głównie praktycy sztucznej inteligencji i uczenia maszynowego są tymi, którzy preferują używanie Pythona ze względu na czytelność kodu, intuicyjność i łatwość kodowania, którą zapewnia. Faktem jest też to, że świat coraz bardziej jest przytłaczany ilością generowanych danych, gdzie praktycznie wszystkie nasze akcje są przekształcane do postaci danych, które mogą się do czegoś przydać. Począwszy od robienia zdjęć do zamieszczania komentarzy w mediach społecznościowych, a skończywszy na wyszukiwaniu przedmiotów w internecie i zakupach, a także notowaniach giełdowych czy raportach pogodowych - te wszystkie dane są rejestrowane. W 2020 roku mają powstawać aż 44 zetabajty danych DZIENNIE! Liczba ta jest aż czterdzieści razy większa niż liczba gwiazd, które są obserwowalne we wszechświecie. Jednak jak wiadomo, same dane są bezużyteczne, jeśli nie będą stosowane z korzyścią dla społeczeństwa, czyli zestawiane, analizowane i odpowiednio dostosowywane. Na szczęście tym zajmuje się właśnie nauka o danych (Data Science).

W Data Science języka programowania Python jest również silnie wykorzystywany. Społeczność Pythona stworzyła świetne biblioteki, wśród których można wymienić ─ lNumpy, Pandas czy Sci-kit-learn ─ służące właśnie do pracy z danymi. Python zapewnia bogaty zestaw funkcji służących między innymi do gromadzenia danych, czyszczenia zbiorów danych, wyodrębniania ważnych funkcji, budowania modeli uczenia maszynowego czy do tworzenia wizualizacji wyników za pomocą wykresów.

Andrew Flowers, ekonomista w firmie Indeed stwierdził, że praca naukowca zajmującego się danymi stała się bardziej seksowna. Aktualnie coraz więcej pracodawców dąży do zatrudniania naukowców "od danych". Co roku portal Github przeprowadza badanie, którego wyniki jasno pokazują, że ilość repozytoriów napisanych w języku Python systematycznie wzrasta.

Wiele dużych firm, jak na przykład Netflix, Facebook czy Spotify angażują się w rozwój Pythona. Aczkolwiek od samego początku Python był mocno wspierany przez Google, które użyło go jako oficjalny język programowania używany po stronie ich serwerów. Zadbali o to by wiele skryptów, które wcześniej były zakodowane w Perlu czy Bash'u zostały ponownie zakodowane w Pythonie. Dziesiątki inżynierów firmy Google korzysta z Pythona, a także coraz więcej osób umiejących programować w tym języku jest poszukiwana. Silnie uzależnione od Pythona w zakresie analizy ogromnych ilości danych, które posiadają po stronie serwera, są także firmy takie jak Netflix czy Spotify. Analizowane są tutaj dane pochodzące od milionów subskrybentów, co pozwala im na lepsze rekomendacje treści dla każdego użytkownika, a co za tym idzie, pozwala im zarabiać na tym miliardy.

Python, choć nie jest młodym językiem, rozwijał się przez lata, zdobywa coraz większą popularność, która cały czas rośnie. Trend wzrostowy sugeruje, że w najbliższych latach utrzyma swoją pozycję. Czy zatem świat jest coraz bardziej uzależniony od Pythona? Czy może znajdą się jakieś alternatywy dla niego? Możemy zatem uważać, że czas, jaki zostanie poświęcony na naukę tego języka programowania, nie będzie stracony, a co więcej będzie świetną inwestycją w przyszłość, jaka tylko może zostać poczyniona.

WibowitZobacz profil
Poziom ostrzeżenia: 0%
Wibowit2020.02.27, 14:23
12#1
W tym Data Science siedzą ludzie, którzy nie są stricte programistami (w sensie nie drążą tego tematu jakoś specjalnie), a raczej analitykami czy matematykami. Preferują prosty język programowania, który nie wymaga umiejętności projektowania architektury kodu. W korpo-kobyłach o (czasami trochę niepotrzebnie) skomplikowanej architekturze (mnóstwo ściśle powiązanych ze sobą funkcjonalności) królują i nadal będą królować Java i C#.

Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.
Edytowane przez autora (2020.02.27, 14:27)
lolotronZobacz profil
Poziom ostrzeżenia: 0%
lolotron2020.02.27, 15:08
Każdy język ma swoją niszę, znam takich co siedzą 25 lat w programowaniu i nie słyszeli o Pythonie (naprawdę :D), oraz takich którzy nie widzieli C++ na oczy i też żyją. Co do prostoty języka to jest ona bardzo ułudna, proste przykłady wyglądają prosto bowiem brak jest boilerplate, potem zaczynają się schody jak w każdym poważniejszym i większym projekcie. A wypieranie następuje ale zazwyczaj w obrębie niszy danego języka np. Python wypiera Perla.
Edytowane przez autora (2020.02.27, 20:33)
KenjiroZobacz profil
Poziom ostrzeżenia: 0%
Kenjiro2020.02.27, 18:34
lolotron @ 2020.02.27 15:08  Post: 1235316
[...] Pearla.

Perla.

Ale z tym wypieraniem to też nie jest tak, jak się wydaje. Po prostu pewne języki jak Perl zostały stworzone do konkretnych zastosowań i są tam nadal używane, po prostu większości z nich się nie zauważa. Zaś tzw. big data jest teraz modne, więc nie tylko programiści sięgają po pewne rozwiązania i z konieczności zapoznają się z językami stosowanymi przy owym big data.
Poza tym pisanie o popularności języka w kontekście ilości projektów na Githubie jest mocno mylące, dopóki nie spojrzymy pod płaszczyk tych projektów i nie dowiemy się, że większość z nich to proste programiki, a dużych projektów w Pythonie nie jest aż tak wiele.
darkmartinZobacz profil
Poziom ostrzeżenia: 0%
darkmartin2020.02.28, 08:48
-2#4
W Pythonie dla mnie jest jedna nie fajna rzecz.
Struktura programu wynika ze stosowania wcięć.
Popularność powoduje, że prawie wszystko ma bindingi do Pythona i można łaczyć ze sobą najróżniejsze projekty i rozwiązania.
MaestroUmbertoZobacz profil
Poziom ostrzeżenia: 0%
MaestroUmberto2020.02.28, 09:25
A pod spodem i tak to jest C.
JamesssZobacz profil
Poziom ostrzeżenia: 0%
Jamesss2020.02.28, 13:17
Szanowna Redakcjo, zapomnieliście o linkach afiliacyjnych do Udemy :E

MaestroUmberto @ 2020.02.28 09:25  Post: 1235392
A pod spodem i tak to jest C.

Kiedyś można było usłyszeć 'C to przestarzały język, ucz się Symbiana' :E
kroggZobacz profil
Poziom ostrzeżenia: 0%
krogg2020.02.28, 20:23
Normalnie nie czepiam się błędów językowych, ale ilość błędów gramatycznych, interpunkcyjnych , składniowych i stylistycznych w tym 'felietonie' jest tak duża, że po prostu ciężko się go czyta. Nie potrafię skupić się na treści, bo niemal co zdanie zastanawiam się: 'Co autor miał na myśli'. Poprawcie to proszę.
SajgoniarzZobacz profil
Poziom ostrzeżenia: 0%
Sajgoniarz2020.02.29, 12:49
Python jest ok, dopóki nie trzeba pisać czegoś, do czego się za miesiąc wróci.
zakiusZobacz profil
Poziom ostrzeżenia: 0%
zakius2020.02.29, 14:39
-2#9
niezłym szokiem jest przeczytać najpierw zen of python a później spojrzeć w kod, jego składnia jest dokładnym zaprzeczeniem manifestu
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
zakiusZobacz profil
Poziom ostrzeżenia: 0%
zakius2020.02.29, 14:39
-1#10
Wibowit @ 2020.02.27 14:23  Post: 1235309
W tym Data Science siedzą ludzie, którzy nie są stricte programistami (w sensie nie drążą tego tematu jakoś specjalnie), a raczej analitykami czy matematykami. Preferują prosty język programowania, który nie wymaga umiejętności projektowania architektury kodu. W korpo-kobyłach o (czasami trochę niepotrzebnie) skomplikowanej architekturze (mnóstwo ściśle powiązanych ze sobą funkcjonalności) królują i nadal będą królować Java i C#.

Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.

no py jest tak nieprzyjazny że w żadnym razie bym go nie polecił nikomu, kto chce po prostu zrobić swoje i zapomnieć
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.
1