TypeScript, czyli microsoftowa wariacja na temat JavaScriptu, okazał się strzałem w dziesiątkę. W większości rankingów popularności był on w zeszłym roku najszybciej zdobywającym popularność językiem programowania w ogóle. Nic dziwnego, że Microsoft chce iść za ciosem i do swojego bogatego portfolio języków dopisuje kolejną pozycję – Bosque.
Bosque (hiszp. las) to dziecko Marka Marrona z Microsoft Research, który zajmował się dotąd rozwojem debugowania metodą time-travel w silniku JS Chakra i Node.js. Podróżowanie w czasie oznacza tu możliwość zatrzymywania wykonywania i cofnięcia się w celu prześledzenia, co powoduje błąd. Bosque to jednak coś nowego – bazujący składniowo na TypeScripcie język, który ma odchodzić od paradygmatu strukturalnego. Sam twórca opisuje Bosque następująco:
Język programowania Bosque jest zaprojektowany do pisania kodu, który jest prosty, oczywisty i łatwy do zrozumienia zarówno dla człowieka, jak i maszyny. Podstawową funkcją języka jest dostarczenie sposobu na uniknięcie złożoności przypadkowej w rozwoju i procesie kodowania. Celem jest zwiększenie produktywności programisty i umożliwienie powstania nowych kompilatorów i doświadczeń deweloperskich.
Co to oznacza w praktyce? W swojej pracy „Regularized Programming with the BOSQUE Language – Moving Beyond Structured Programming” Marron identyfikuje źródła złożoności współczesnego kodu. Są nimi według niego między innymi pętle, rekurencje, obiekty o zmiennych wartościach czy referencje do tego samego obiektu w pamięci. Marron uważa wszystkie te funkcje języków za nadmiernie komplikujące kod naleciałości lat 70. i w Bosque ich nie uświadczymy.
Co zatem w Bosque jest? Niedostępne funkcje rozbija się na koncepcyjnie prostsze instrukcje. Tak na przykład prezentuje się dodawanie zmiennych int
, której wynikiem będzie 5:
function add2(x: Int, y: Int): Int {
return x + y;
}
add2(2, 3)
Więcej przykładów pozwalających zapoznać się ze składnią nowego języka rozwijanego pod okiem Microsoftu dostępnych jest w dokumentacji opublikowanej na GitHube. Twórca Bosque nie ukrywa, że zaprojektowany przez niego język jest w dużej mierze eksperymentem, który ma zachęcać do odchodzenia od programowania strukturalnego i rozbijania bloków na mniejsze koncepcyjnie instrukcje. Eksperymentalny nie znaczy jednak, że Bosque to twór wyłącznie teoretyczny.
Każdy chętny do zgłębienia tego języka może już to zrobić np. dzięki rozszerzeniu bosque-language-tools dla Visual Studio Code. Podobnei jak parser, narzędzie do sprawdzanie typów, czy intepreter dostępne jest ono na GitHubie, całość udostępniana jest na licencji MIT. Twórca języka odradza na razie rzecz jasna wykorzystywanie kodu w Bosque na produkcji.