TeamQuest Blog

Python do zmiany

Python do zmiany

Marcin Sarna , 23.10.2020 r.

Python to hit w uczeniu maszynowym. Ale czyżby groziło mu ograniczenie się tylko do data science?

Przyszłość nie bez chmur

Język programowania open source Python stał się jednym z nielicznych języków, które w najbliższym czasie z pewnością nie znikną z postumentu popularności. Ale prawie 30-letni Python ma swoje słabości. Niekoniecznie dla społeczności zajmujących się nauką o danych i uczeniem maszynowym zbudowanych wokół rozszerzeń Pythona, takich jak NumPy i Skippy, ale jako ogólny język programowania już tak.

Pythona nie można uruchomić w przeglądarce ani łatwo „odpalić” go na smartfonie. Poza tym obecnie nikt nie tworzy gier w Pythonie. Aby tworzyć aplikacje przeglądarkowe, programiści zwykle wybierają JavaScript, TypeScript, Google-made Go, a nawet stary ale zaufany PHP. Dlaczego programiści aplikacji na urządzenia mobilne mieliby używać Pythona, skoro jest Java, kompatybilny z Javą Kotlin, Apple Swift lub Google Dart?

Python nie obsługuje nawet kompilacji do środowiska uruchomieniowego WebAssembly, standardu aplikacji internetowych obsługiwanego przez Mozilla, Microsoft, Google, Apple, Intel, Fastly, RedHat i inne.

Kto tak śmie narzekać?

To tylko niektóre z ograniczeń podniesionych przez Armina Ronachera, programistę z dużym doświadczeniem w Pythonie, który 10 lat temu stworzył popularny microframework Flask Python, aby rozwiązać problemy, które miał podczas pisania aplikacji internetowych w Pythonie. Ronacher jest dyrektorem w amerykańskim startupie Sentry - firmie zajmującej się projektami i technologiami typu open source, z której korzystają zespoły inżynierów i produktowe w GitHub, Atlassian czy Reddit.

Nie mówię, że nie możesz naprawić Pythona. Myślę, że możesz stworzyć nową wersję Pythona, która naprawia wiele z tych rzeczy.

Znaczna część flagowego produktu Sentry jest napisana w Pythonie, umieszczając startup w tej samej klasie firm technologicznych wykorzystujących Python co Instagram, Netflix czy Dropbox.

Sprawdź oferty pracy na TeamQuest

Python tylko do szczególnych zastosowań

Pomimo sukcesu Pythona jako języka, Ronacher uważa, że grozi mu utrata atrakcyjności jako język programowania ogólnego przeznaczenia i przeniesienie go do określonej domeny, takiej jak Mathematica Wolframa, która również znalazła niszę w nauce o danych i uczeniu maszynowym. Nie spodziewasz się, że opracuję aplikację komputerową w języku Mathematica – mówi Ronacher.

Nawet Peter Wang, współzałożyciel i dyrektor generalny firmy Anaconda, twórcy popularnej dystrybucji Anaconda Python do data science, zwraca uwagę na ograniczenia Pythona w zakresie tworzenia aplikacji na komputery stacjonarne i urządzenia mobilne.

Oczywiście, wartość Pythona jako lingua franca do automatyzacji systemów zaplecza i tworzenia skryptów jest trudna do zastąpienia. Ale nie powinniśmy zadowalać się takim stwierdzeniem. To żenujące przyznanie się, ale korzystanie z Pythona do tworzenia i dystrybucji aplikacji, które mają rzeczywiste graficzne interfejsy użytkownika, jest niesamowicie niewygodne. Na komputerach stacjonarnych Python nigdy nie jest językiem pierwszej klasy dla danego systemu operacyjnego i musi uciekać się do platform innych firm, takich jak Qt lub wxPython.

Droga na przód

Python wszedł w róg, w którym bardzo trudno jest wprowadzać innowacje bez psucia już działającego kodu. Ostatnim razem, gdy próbowano wprowadzić większe zmiany w Pythonie, którym był Python 3, wiele osób skończyło z zepsutym kodem. Ekosystemowi zajęło 10 lat aby znowu się zagoić - mówi Ronacher. Według niego „byłoby miło” gdybyśmy mogli uruchamiać wiele procesów i mieć każdy przypięty do jednego rdzenia procesora. Aby to jednak zaimplementować, należałoby usunąć lub zmienić C API, co złamałoby największy ekosystem Pythona: NumPy, skippy i całe środowisko uczenia maszynowego. Jeśli Python ma być długoterminowo konkurencyjny z innymi językami programowania co do aplikacji stosowanych poza analizą danych, musi mieć spójną wizję tego, co reprezentuje, i tę wizję należy różnicować - mówi Wang z Anacondy. Ronacher jest optymistą, że Python można wymyślić na nowo, ale wskazuje również na los Perla, przeboju programowania z początku 2000 roku, teraz znacznie poza pierwszą dziesiątką Tiobe. Przykład Perla pokazuje, dlaczego naginanie przyszłości Pythona będzie wymagało odważnej i zaangażowanej postaci.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej