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