Apple pozbywa się skryptowych języków z macOS-a i oddala od UNIX-owych korzeni

Adam Golański , 07.06.2019 r.
python

Korzystający z macOS-a programiści nierzadko mówili, że powodem dla którego wybrali sprzęt Apple zamiast normalnego laptopa z Windowsem była dostępność od ręki najpopularniejszych skryptowych języków programowania. Perl, Python czy Ruby były po prostu częścią tego certyfikowanego UNIX-a, podobnie zresztą jak pięknie zintegrowane z systemowym API Cocoa środowisko uruchomieniowe Javy. Wraz z wydaniem Mac OS-a X 10.7 Lion, Apple jednak pozbyło się Javy ze swojego systemu. Teraz zaś widać, że taki sam los czeka niezależne od Apple skryptowe języki programowania.

Wśród wielu ciekawych informacji o nowym macOS-ie 10.15 Catalina, jedna przeszła bez większego echa. To raptem dwa akapity na końcu dokumentu macOS 10.15 Beta Release Notes, opublikowanego w serwisie deweloperskim Apple’a.

Środowiska uruchomieniowe języków skryptowych, takich jak Python, Ruby i Perl, są zawarte w systemie MacOS w celu zapewnienia zgodności ze starszym oprogramowaniem. Przyszłe wersje systemu MacOS nie będą domyślnie zawierały tych środowisk i mogą wymagać zainstalowania dodatkowych pakietów. Jeśli twoje oprogramowanie zależy od języków skryptowych, zaleca się, abyś umieścił środowisko uruchomieniowe w samej aplikacji.

Apple poinformowało także, że kończy z Pythonem 2.7 i nie zaleca już jego dalszego stosowania, zamiast tego należy w terminalu napisać po prostu python3.

Decyzja firmy z Cupertino doskonale wpisuje się w trend, który widzimy od samego początku istnienia Mac OS-a X – odchodzenia krok po kroku od uniksowych korzeni, dzielonych ze współczesnymi systemami *BSD. Unix nie został bowiem wybrany jako fundament systemu operacyjnego Maców ze względu na jakieś szczególne do niego upodobanie, lecz raczej dlatego, że uniksowe założenia i architektura zasadniczo nie przeszkadzały w realizacji celów Apple, były zrozumiałe, wygodne, dostępne pod ręką.

Od Unixa do systemu marki Apple

20 lat rozwoju systemu pokazało nam jednak, że celem Apple jest stworzenie zupełnie innego systemu operacyjnego, wolnego od zaszłości lat siedemdziesiątych poprzedniego stulecia. Pozbyto się serwera X, pozbyto się wspomnianej Javy, porzucono standardową bibliotekę OpenGL na rzecz własnościowego Metalu, stworzono nowe API procesów, przeforsowano własne systemowe języki programowania i kompilatory.

Niezależne od Apple, dostarczane ogólnosystemowo języki skryptowe po prostu nie wpisują się w tę wizję systemu dla Maców. „Jabłko” najwyraźniej nie chce mieć takich problemów jakie nękają Linuksa, gdy zmiana wersji środowiska uruchomieniowego Pythona prowadzi do problemów z zainstalowanymi pythonowymi aplikacjami. Widzimy to dzisiaj w wielu linuksowych dystrybucjach, które tylko dla zachowania kompatybilności trzymają się wciąż Pythona 2.7. Sam producent Maców woli tymczasem się skupić na pracy nad Swiftem/ Swiftem UI i jego narzędziami.

Zainteresowani programiści będą oczywiście mogli zainstalować sobie samodzielnie potrzebne im języki i narzędzia, np. poprzez Homebrew czy Finka. Wydawane oprogramowanie na macOS-a będzie jednak już musiało być być przygotowywane tak jak na Windowsa – w pakiecie z kompatybilnym interpreterem. Nikt bowiem nie zakłada, że typowy użytkownik „okienek” ma na pewno w systemie Pythona czy Ruby’ego (nie wspominając już o problemach, jakie pojawiają się przy korzystaniu na Windowsie z takich ogólnosystemowo zainstalowanych runtime’ach).

Jedno czego można żałować, to edukacja. Dostępność działających od ręki języków programowania była czymś bardzo atrakcyjnym dla początkujących. Zamiast błądzić po omacku w kwestii instalacji i konfiguracji środowiska programistycznego, mogli po prostu po prostu otworzyć Terminal – i napisać swój pierwszy program.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: