Bosque - Microsoft представила нову мову програмування
Bosque - Microsoft представила нову мову програмування
Деякі особливості мови Bosque:
1) Всі значення Bosque є незмінними (immutable), щоб кожен блок коду не містив ніяких сайд-ефектів. На думку авторів мови, це корисно як для людини, так і для комп'ютера.
2) У мові немає циклів for, while тощо. Загалом ніяких немає. Натомість є колекції та пайплайни. Інакше кажучи, замість циклів потрібно використовувати більш високорівневі штуки типу map, filter тощо.
3) Рядки можна робити різних типів. Тобто, наприклад, можна зробити рядок-ім'я або рядок-zipcode, і для type-чекера це будуть два різні рядки. Якщо ви в аргументі функції чекаєте на zipcode, а вам помилково туди пхають ім'я, то компілятор це не проковтне. Синтаксис такий: String[Zipcode].
4) Виклик функцій можна робити із зазначенням назви аргументів з сигнатури функції, наприклад: myfunc(x=1, y=2)
5) У стандартній бібліотеці є різні колекції, і з колекціями можна працювати по-різному. Можна просто по ланцюжку викликати map, потім filter і т.д., а можна працювати через пайплайни.
6) рекурсія може ускладнити програму, тому рекурсивні функції треба позначати словомrec
7) програми на Bosque є детермінованими. Тобто в мові немає невизначеної поведінки. Наприклад, не можна використовувати змінні, доки вони не були визначені; алгоритми сортування лише стабільні і т.д. Якщо програма видала якийсь результат, то такий самий результат буде і потім, жодних сюрпризів
8) Замість класів та інтерфейсів у мові є поняття entity та concept.
Компілятор для Bosque написано на Typescript