Nowy język Microsoftu na językach wszystkich. Przyglądamy się Bosque
Bosque to nowy język programowania zaprojektowany i zaproponowany przez Microsoft. Ma on stanowić odpowiedź na potrzeby nowoczesnego programisty i być pozbawiony wad już istniejących języków.
Spis treści
Miejsce na nowy język?
Mogłoby się wydawać, że dzisiejszy stan wiedzy informatycznej oferuje takie bogactwo wyboru języków programistycznych, że znalezienie takiego, który byłby przystosowany do nawet najbardziej unikalnych potrzeb, nie powinno stanowić większego problemu. Mimo tego od czasu do czasu docierają do nas informacje o opracowywaniu nowych języków, które zazwyczaj nie zapisują się jednak w powszechnej świadomości developerów i stanowią raczej ciekawostkę. Czy na rynku jest miejsce na język, który stanie się czymś więcej niż niszową zabawką dla garstki zapaleńców? Microsoft, twórca popularnego frameworka .Net, który zadebiutował w 2002 roku, a także TypeScripta, nadzbioru języka JavaScript, wierzy, że tak. Na razie projekt jest w fazie eksperymentalnej.
Nowy język, nowe ideały
Za powstaniem Bosque stoją pewne konkretne ideały. Nowy język ma umożliwić prostsze programowanie przy jednoczesnym zapewnieniu wyższej jakości kodu. Brzmi jak mrzonka? Marc Marron, pracujący dla Microsoftu programista odpowiedzialny za zaprojektowanie Bosque, twierdzi, że ma on parę atutów, które to umożliwią. Stworzony w ramach projektu open source język wykazuje pewne podobieństwo składniowe do TypeScripta, został też zainspirowany semantyką ML i NodeJS. Jednak według Marrona to, co wyróżnia go spośród już istniejących języków, to bycie próbą wyjścia poza dominujący od lat 70. model programowania strukturalnego.
“Język programowania Bosque jest przeznaczony do pisania kodu prostego, oczywistego i łatwego do zrozumienia, zarówno dla ludzi, jak i maszyn”, pisze na stronie projektu Marc Marron. “Kluczowe cechy projektowe języka pozwalają uniknąć przypadkowego komplikowania się procesu kodowania. Celem jest zwiększenie produktywności programistów, zwiększenie jakości oprogramowania i umożliwienie korzystania z szeregu nowych kompilatorów i narzędzi programistycznych.” Wśród cech, które miałyby wpłynąć na zmniejszony poziom komplikacji kodu napisanego w Bosque znalazło się m.in. kompletne zrezygnowanie z takich struktur jak pętle czy iteracje. Według projektanta z Microsoftu są one częstą przyczyną nieprzewidzianego przez developera zachowania pisanych programów. Do problematycznych cech charakterystycznych dla innych języków, których nie ma powielać Bosque, Marron zaliczył też mutowalność obiektów oraz niedeterministyczne zachowanie kodu.
Nowy nie znaczy niezrozumiały
Co ciekawe, trzymanie się niezależnego podejścia i odrzucenie typowych konwencji charakterystycznych dla tworzenia języków programowania nie przeszkodziły projektantowi Bosque w zachowaniu jednej bardzo ważnej cechy produktu: zrozumiałości tworzonych konstrukcji dla adeptów innych języków. Nie trzeba nikogo przekonywać, że to solidna podstawa w kontekście oceny potencjału adopcji języka. Oczywiście w razie czego każdy może ocenić to samodzielnie, przyglądając się próbce kodu zamieszczonej na GitHubie. A dla ciekawskich, którzy chcieliby sprawdzić Bosque w akcji, powstał specjalny interpreter, który do poprawnego działania wymaga zainstalowanego menadżera pakietów npm. Dzięki niemu uruchomimy proste programy napisane w Bosque z poziomu linii poleceń. Dostępne jest też rozszerzenie dla Visual Studio Code. “Model ten opiera się na zdobyczach programowania strukturalnego i abstrakcyjnych typach danych, upraszczając istniejące modele programowania do formy ‘uregulowanej’, która eliminuje główne źródła błędów, upraszcza zrozumienie i modyfikację kodu oraz pozwala na zamianę zautomatyzowanych zadań związanych z rozumowaniem o kodzie w banalne propozycje”, pisze Marron w artykule dotyczącym Bosque.
Nieoszlifowane krawędzie
Nie wszystkie elementy zaproponowane przez Marrona udało się już zaimplementować, jednak prawdopodobnie stanie się to w niedługiej przyszłości. Można spodziewać się, że opensource’owy charakter języka przyczyni się do jego rozwoju, a z czasem udostępnione zostaną narzędzia umożliwiające np. pisanie aplikacji w Bosque. Póki co Marc Marron skupia się na zadaniach ze swojej to-do list, takich jak poprawki błędów zgłoszonych przez społeczność oraz rozwijanie funkcji wspierających pisanie większych programów w języku. “Język Bosque jest obecnie w bardzo wczesnym stanie rozwoju, wymaga naprawdę dużo pracy i nie jest jeszcze gotowy do praktycznych zastosowań”, tłumaczy Marron we wpisie na Ycombinator. “(…) tak więc rzuć okiem, spodziewaj się wielu nieoszlifowanych krawędzi, a my będziemy niezmiernie wdzięczni za komentarze, sugestie i PR na repo GitHuba”.
Źródło: microsoft.com, ycombinator.com, spidersweb.pl