Blog IT, Blog Marketing

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

Mobile app developer (Android/iOS) 17000 - 25000 PLN

Warszawa
Aplikuj

Specjalista ds. Sprzedaży

Łódź
Aplikuj

SAP Basis DB Lead 15000 - 18000 PLN

Warszawa
Aplikuj

Test Engineer

Waltrop
Aplikuj

Mobile app developer(Android/iOS) 17000 - 25000 PLN

Warszawa
Aplikuj

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.

[quote]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.[quote]

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