Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Bosque: новый язык Microsoft без циклов для повышения качества кода

Bosque: новый язык Microsoft без циклов для повышения качества кода

Структурное программирование и абстрактные типы данных стали популярны в 1970-х, и с тех пор мы используем их почти во всех языках. Эти методологии позволили программистам фокусироваться на намерении и основном поведении кода, не беспокоясь об аппаратной архитектуре. Вскоре это привело к золотому эре компиляторов и интегрированных сред разработки.

Чтобы ещё больше повысить продуктивность, качество ПО и дать возможность для новых компиляторов и инструментов разработки, инженеры Microsoft недавно создали новый язык программирования — Bosque.

Bosque создан для написания простого и понятного кода как для машин, так и для людей. Он предлагает ряд способов избежать «случайной сложности» в процессе кодирования и разработки.

Регуляризованное программирование

Управление потоком в структурном программировании осуществляется через условия, подпрограммы и циклы. Новый язык устраняет источники сложности: изменяемое состояние, ссылочное равенство и циклы. Поэтому разработчики называют эту парадигму «регуляризованным программированием».

Bosque производен от сочетания синтаксиса и типов, вдохновлённых TypeScript, с ML, а также семантики, вдохновлённой JavaScript/Node. Он поддерживает не-навязывающую систему типов, позволяющую программистам гибко использовать различные номинальные, структурные и комбинированные типы для кодирования релевантных особенностей предметной области.

Источник: Microsoft | Moving Beyond Structured Programming

Язык не использует циклы «while», «do while» и «for» и имеет принципиально иной подход к условиям. Марк Маррон, ученый Microsoft, ввёл концепцию «Функторов» для замены структурных циклов с одновременным повышением качества ПО.

Функторы с символьными трансформерами

Bosque предоставляет специализированные массовые алгебраические операции с данными и встроенную поддержку обработки none (или опциональных данных). Также поддерживает конвейер для обработки коллекций, а if и match как выражения.

Из-за богатого набора примитивов выражений в Bosque меньше нуждается в большом наборе комбинаторов операторов. Язык предоставляет assert (только для отладочных сборок) и check (для всех сборок) как первоклассные фичи, помимо постусловий/предусловий и инвариантов классов. Циклических конструкций в Bosque нет.

Bosque может быть крайне полезен в облачных проектах, архитектура которых зависит от микросервисов, бессерверных функций и RESTful API. Он может обеспечить загрузку нулевой стоимости для быстрого запуска, сверхнизкие накладные расходы на трассировку и рантайм с минимальной вариативностью производительности.

Что дальше?

Этот новый язык всё ещё в стадии разработки. Если хотите попробовать, код доступен на GitHub.

Первые эксперименты показывают, что он может усилить несколько опытов следующего поколения: автоматическую маршализацию API, улучшенный фаззинг, символьное тестирование и компиляцию в реальном времени с поддержкой стабильного GC.

Читайте: 10 правил кодирования NASA для написания программ критической безопасности

Bosque подлежит ревизии, есть ошибки и отсутствующий функционал, производительность можно ещё значительно улучшить. Маррон и его команда сфокусируются на более продвинутых инструментах разработчика: автоматическая установка границ использования памяти во времени и верификация приложений на отсутствие ошибок выполнения без дополнительных усилий.

Промышленные технологии

  1. Топ 10 языков программирования для облака, которые должен освоить каждый разработчик
  2. Основы программирования микропроцессоров
  3. Фазово-синхронизационные петли (PLL): основы, применение и лучшие практики проектирования
  4. Операторы в C: исчерпывающее руководство
  5. Изучение C программирования: полное PDF-руководство для начинающих
  6. Печать в Python без перевода строки: мастерство параметра end и другие техники
  7. Microsoft представляет прорыв в конверсационном ИИ с продвинутой многофункциональной нейросетью
  8. GLTR: надежный статистический инструмент для идентификации ИИ-сгенерированного текста
  9. 9 языков программирования, которые обязательно нужно выучить в 2021 году
  10. Освоение программирования на C: подробное руководство для начинающих