ProgramowanieRynek
30 urodziny Pythona – popularne narzędzie programowania wciąż zarządzane przez wolontariuszy
Python, jeden z najpopularniejszych języków programowania, obchodzi właśnie okrągłe 30 urodziny. Będąc u szczytu swej popularności, wciąż nie jest w stanie zadowolić wszystkich użytkowników. Nadal musi się też mierzyć z wyzwaniami związanymi z obsługą i objętością projektu, który wciąż zarządzany jest przez grupę wolontariuszy.
Pierwsza odsłona języka programowania Python, który w założeniach zastąpić miał rozwijanych w latach 80-tych XX wieku język ABC, została wydana w 1991 roku. We wczesnych latach swojego istnienia Python nie miał zbyt wielu konkurentów. Był stosunkowo prosty do nauczenia oraz pozwalał na stosunkowo łatwą modyfikację kodu – uważają specjaliści, którzy chwalą go też za początkową czytelność oraz przystępne środowisko uruchomieniowe o przewidywalnej wydajności. Szczególną popularność język Python zyskał m.in. wraz z upowszechnieniem się webserwisów.
“Możliwość modyfikowania języka Python umożliwiła realizację wielu projektów, które sprawiły, że odniósł on sukces. Myślę tu o takich projektach jak NumPy i inne, które rozwinęły możliwości Pythona poprzez moduły rozszerzeń napisane w C” – mówi w wywiadzie udzielonym serwisowi The Register Armin Ronacher, dyrektor ds. rozwoju oprogramowania w firmie Sentry i twórce platformy Flask. „Przez długi czas Python nie był zbyt skomplikowanym językiem, umożliwiającym analizowanie działania środowiska uruchomieniowego. To z kolei sprawiło, że język ten trafił w potrzeby osób zajmujących się tworzeniem webserwisów”.
Armin Ronacher nie zgadza się jednocześnie z kierunkiem rozwoju jaki Python obrał w ostatnim czasie. Według niego jednym z problemów, z jakimi boryka się obecnie Python jest implementacja Unicode. “Python 3 marnuje zasoby pamięci obliczeniowej na potrzeby bezpośredniego indeksowania znaków, co i tak nie jest zbyt użyteczne przy współczesnym kodowaniu Unicode” – tłumaczy Armin Ronacher. Według niego, rozwój języka Python sprawił, że stał się on znacznie trudniejszy do opanowania niż pierwotnie, a jednocześnie – pozbawiony wielu potrzebnych narzędzi. “Wiele funkcji dostępnych w nowej wersji Pythona, jak system asynchronicznego IO, obsługa typowania czy nowa składnia instrukcji match czynią ten język trudnym do nauczenia. Z drugiej strony, nadal brak jest szeregu kluczowych funkcji, jak lepsza obsługa pakowania aplikacji” – mówi Armin Ronacher, dodając, że system cargo lepiej działa choćby w Rust.
Niezależnie jednak od pewnych niedogodności, które wiążą się z programowaniem przy użyciu języka Python, jest on obecnie drugim lub trzecim wyborem wśród programistów z całego świata.
Kto odpowiada za Pythona?
Przypomnijmy, że twórcą języka programowania Python jest Guido van Rossum, a jego nazwa to wyraz hołdu dla Monty Pythona, słynnej brytyjskiej trupy komediowej. Python jest obecnie zarządzany przez zespół Python Steering Council (PSC). Wchodząca w jego składa piątka osób nadzoruje wszelkie zmiany techniczne i sprawuje pieczę nad – liczącą blisko setkę aktywnych deweloperów – społecznością pracującą nad rozwojem środowiska Python. Od 20 lat rozwój języka Python wspiera również fundacja Python Software Foundation (PSF). Jej celem jest “promowanie, ochrona i rozwój języka programowania Python, a także wspieranie rozwoju zróżnicowanej, międzynarodowej społeczności programistów Pythona”.
Wśród największych wyzwań stojących obecnie przed rozwojem języka Python przedstawiciele komitetu sterującego PSC wskazują m.in. dużą złożoność projektu i brak wsparcia finansowego. “Nadal jesteśmy projektem prowadzonym przez wolontariuszy, podczas gdy obecny rozmiar projektu wymaga dużych nakładów pracy” – mówi, cytowany przez The Register, Brett Cannon, członek PSC.
Przypomnijmy, że wiele z wiodących obecnie języków programowania ma silne powiązania z korporacjami. I tak, Java została pierwotnie wydana przez firmę Sun Microsystems, a dziś rozwijana przy zaangażowaniu koncernu Oracle; Swift związany jest z Apple; C# z firmą Microsoft, zaś a Go i Dart wywodzą się z Google. Python natomiast nigdy nie miał wsparcia ze strony świata korporacyjnego. “Musimy stale poszukiwać finansowania. Brakuje nam też etatowych programistów, którzy pomogliby w zwiększeniu dynamiki rozwoju Pythona. Z drugiej, nasza niezależność oznacza, że rozwój języka Python w całości jest podyktowany faktycznymi potrzebami programistów, a nie potrzebami biznesowymi konkretnej grupy podmiotówh” – dodaje Brett Cannon.
Niejako naprzeciw wspomnianym problemom wyszli niedawno przedstawiciele Google. Ogłosili oni bowiem plany przekazania wsparcia sięgającego ponad 350 tys. dolarów na rzecz fundacji PSF. Kwota te miałaby wesprzeć dwa konkretne projekty: system wykrywania złośliwego oprogramowania dla Python Package Index (PyPI) oraz ulepszenia narzędzi i usług Pythona. Wsparcie Google pozwoli też na sfinansowanie programu CPython Developer-in-Residence na rok 2021, co zapewni środki niezbędne do dalszego rozwoju, napisanej w C standardowej implementacji języka Python – CPython. Google, na potrzeby projektów związanych z rozwojem języka Python udostępnia również infrastrukturę Google Cloud.