Bosque:новый язык программирования Microsoft без циклов
- Язык Bosque направлен на улучшение качества программного обеспечения и повышение производительности программистов.
- Он избавляется от таких источников сложности, как изменяемое состояние, ссылочное равенство и циклы.
- Он основан на языках программирования TypeScript и JavaScript.
Структурированное программирование и абстрактные типы данных стали популярными в 1970-х годах, и с тех пор мы используем их почти во всех языках программирования. Эти методологии позволяли программистам сосредоточиться на предназначении и основном поведении своего кода, не беспокоясь об архитектуре оборудования. Вскоре это привело к золотой эре компиляторов и интегрированной среды разработки.
Для дальнейшего повышения производительности, улучшения качества программного обеспечения и включения нескольких новых компиляторов и инструментов разработчика инженеры Microsoft недавно разработали новый язык программирования под названием Bosque.
Bosque предназначен для написания простого и понятного кода как для машин, так и для людей. Он предлагает несколько способов избежать "случайной сложности" в процессе кодирования и разработки.
Регулярное программирование
Управление потоком в модели структурированного программирования управляется условиями, подпрограммами и циклами. С другой стороны, новый язык программирования избавляется от таких источников сложности, как изменяемое состояние, ссылочное равенство и циклы. Вот почему разработчики описали эту парадигму как «регуляризованное программирование».
Bosque является производным от сочетания синтаксиса, вдохновленного TypeScript, и типа плюс ML, и семантики, вдохновленной JavaScript / узлами. Он поддерживает систему непредубежденных типов, которая позволяет программистам использовать различные номинальные, структурные и комбинированные типы для гибкого кодирования соответствующих характеристик предметной области.
Ссылка:Microsoft | Выход за рамки структурного программирования
В языке не используются циклы while, do while и for и есть совершенно другой подход к применению условий. Марк Маррон, специалист по информатике в Microsoft, представил концепцию «функторов» для замены структурированных циклов и повышения качества программного обеспечения.
Функторы с символическими преобразователями
Bosque предоставляет специализированные операции с объемными алгебраическими данными и интегрированную поддержку none (или дополнительные данные) обработка. Он также поддерживает конвейер для обработки коллекции и if и совпадать как выражения.
Необходимость в большом наборе комбинаторов операторов меньше из-за богатого набора примитивов выражений в Bosque. Язык предоставляет assert (доступно только для отладочных сборок) и проверить (включен для всех сборок) в качестве первоклассных функций в дополнение к пост-/ предварительным условиям и инвариантам класса. Кроме того, в Bosque нет конструкции с зацикливанием.
Bosque может быть чрезвычайно полезен в облачных проектах разработки, архитектура которых зависит от микросервисов, бессерверных функций и RESTful API. Это может обеспечить загрузку с нулевыми затратами для быстрого запуска, сверхнизкой трассировки накладных расходов и времени выполнения с минимальной изменчивостью производительности.
Что дальше?
Этот новый язык все еще находится в стадии разработки, и если вы хотите его протестировать, код доступен на GitHub.
Первоначальные эксперименты показывают, что он может расширить возможности нескольких возможностей следующего поколения, таких как автоматический маршалинг API, улучшенный фаззинг, символьное тестирование и компиляция в реальном времени со стабильной поддержкой сборки мусора.
Прочтите:10 правил программирования НАСА для написания критически важных для безопасности программ
Bosque подлежит пересмотру, в нем есть несколько ошибок и недостающих функций, а производительность еще можно значительно улучшить. Маррон и его команда сосредоточатся на более продвинутых инструментах разработчика, таких как автоматическая установка границ использования памяти с течением времени и проверка приложений на отсутствие ошибок времени выполнения без дополнительных усилий.
Промышленные технологии
- 10 самых крутых языков облачного программирования
- Программирование микропроцессора
- Циклы с фазовой синхронизацией
- Операторы программирования на C
- Язык программирования C PDF:учебник по основам для начинающих
- Новая строка Python:как печатать БЕЗ новой строки в Python
- Microsoft делает новый прорыв в области разговорного ИИ
- GLTR:новый метод определения языка, созданного компьютером
- 9 новых языков программирования, которые нужно выучить в 2021 году
- C Учебник