Фонд ржавчины на этой неделе объявил, что Ferrous Systems пожертвовает свою спецификацию ферроценового языка (FLS) проекту Rust.
Согласно фонду, это пожертвование рассматривает критический разрыв в экосистеме документации Rust — отсутствие официальной языковой спецификации.
Главный шаг
«Это главный шаг… спецификация позволяет писать множество дополнительных инструментов, которые могут опираться на предсказуемое поведение со стороны языкового компилятора», — сказал Тим Макнамара, основатель Accelerant.dev и автор книги «Ржаст в действии» по программированию Rust, новая стека.
В то время как проект Rust накопил много документации, курсов и учебных пособий, в том числе официальная книга Rust, справочник Rust и многое другое в его онлайн -библиотеке, ключевой недостающей частью была официальная языковая спецификация.
«Отсутствие спецификации ржавчины — это проблема, которая еще не стала большой проблемой», — сказал Mitch Ashiled, аналитик Futurum Group, Митч Эшли, аналитик Futurum. «У ржавчины нет формальной спецификации, что означает, что могут быть потенциальные отклонения в поведении, результатах и переносимости между реализациями компилятора. Это не было огромной проблемой, поскольку« Rustc »является основным компилятором, используемым в сообществе. Если приходит больше реализаций, или если программное обеспечение, созданное в Rust, должно подвергаться формальному процессу проверки, это трудно сделать, когда нет спецификации».
Пришло время
Первоначально опубликованная в 2015 году (Rust 1.0), Rust приближается к своей 10 -летию, и пришло время для спецификации.
Согласно Фонду Rust, в декабре 2022 года был представлен RFC, чтобы поощрять проект Rust начать работу над спецификацией. Этот RFC был утвержден в июле 2023 года, и началась работа. Первоначально команда спецификации проекта Rust (T-SPEC) была заинтересована в создании документа с нуля с использованием ссылки на Rust в качестве руководящего маркера. Тем не менее, команда знала, что уже была внешняя спецификация ржавчины, которая успешно использовалась для целей квалификации компилятора — FLS, сказал фонд.
Что такое FLS?
FLS-это описание языка программирования ржавчины, разработанного Werrous Systems в июле 2022 года в рамках ферроцена, компилятора ржавчины и инструментов, предназначенного для критически важных и регулируемых отраслей промышленности.
«FLS обеспечивает структурированную и подробную ссылку на синтаксис, семантику и поведение Rust’s Rust, служащую основой для проверки, соблюдения и стандартизации», — говорится в заявлении фонда.
А поскольку у Растина не было официальной спецификации языка, и не был планом писать его, FLS представлял собой большой шаг к описанию ржавчины таким образом, чтобы соответствовать отраслевым требованиям, особенно в областях с высокой степенью страхования.
Спецификация представляет собой «еще один флажок, заполненный для ржавчины, который будет иметь кумулятивные эффекты укрепления уверенности в языке», — сказал Макнамара. «Это также интересная разработка, потому что коммерческая модель отличается от традиционных подходов к созданию сертифицированных компиляторов. Компания, стоящая за этой спецификацией, пожертвовала ее и сделала свой коммерческий компилятор с открытым исходным кодом».
Избегая путаницы
Фонд Rust отметил, что команда T-Spec хочет избежать потенциальной путаницы от наличия двух очень заметных спецификаций ржавчины в отрасли, и решила попытаться интегрировать FLS со ссылкой на Rust, чтобы создать официальную спецификацию проекта Rust. Они подошли к железнодорожным системам, которые согласились внести свой вклад в проект Rust и позволить проекту Rust захватить его разработку и управление.
Это также позволит проекту Rust контролировать ее постоянную эволюцию, обеспечивая доверие компаниям и разработчикам, уже полагающимся на FLS, и отмечает основную веху для экосистемы Rust.
Джоэл Марси, директор по технологиям в фонде Rust и член команды T-Spec, сказал, что Frerrous Systems уже сделал огромное количество работы по работе с этими усилиями.
«Официально интегрированная FLS в проект Rust позволит команде T-Spec перегружать наш прогресс в доставке официальной спецификации ржавчины, которая может использоваться разработчиками, поставщиками, критически важными для безопасности и других, которые обращаются к языковой спецификации для их работы»,-сказал он в своем заявлении.
Там будет переходный период, так как FLS интегрируется в проект Rust. Первый этап работы будет включать в себя включение FLS в инструменты и процессы проекта в соответствии с существующими целями проекта Rust. После этой интеграции железные системы прекратят свою собственную спецификацию.
Двигаясь вперед, как FL, так и ссылка на ржавчину сформируют официальную спецификацию ржавчины.
Железные системы и ферроцена
«Первоначально мы создали спецификацию ферроценового языка, чтобы предоставить структурированное и надежное описание ржавчины для сертификации ферроценового компилятора»,-сказал Феликс Гилчер, соучредитель Ferrous Systems.
Ferrous Systems-это берлинская консалтинга, специализирующаяся на разработке и обучении программного обеспечения Rust.
«Будучи компанией с открытым исходным кодом, внесение в эксплуатацию PLS в проект Rust является логичным шагом к развитию развития единой, управляемой сообществом спецификации, которая приносит пользу всем пользователям Rust»,-сказал Гилчер. «Мы рады поддержать эти усилия и с нетерпением ждем долгосрочного воздействия, которое это окажет на принятие Rust в регулируемых и высоких областях».
Ферроцен является инструментальным набором инструментов для ржавчины с открытым исходным кодом для обеспечения безопасности и критически важных миссий, таких как автомобильная, промышленная и медицинская разработка. В январе ферроцена достиг квалификации IEC 62304 класса C для программного обеспечения для медицинских устройств. Фактически, ферроцен является первым набором инструментов для компилятора с открытым исходным кодом для применений в области безопасности и критически важных. По словам Флориан Гилчера, управляющего директора и соучредителя Frens Systems, он имеет квалификацию для автомобильной (ISO 26262, ASIL-D), промышленного развития (IEC 61508, SIL4) и медицинских (IEC 62304, класс C).
Наличие ферроцена, претендующего на эти стандарты, «демонстрирует нашу приверженность развитию разработки программного обеспечения, критически важного для безопасности, посредством инструментов, которые повышают как безопасность, так и производительность»,-говорится в заявлении.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Дэррил К. Тафт охватывает DevOps, инструменты разработки программного обеспечения и проблемы, связанные с разработчиком из своего офиса в районе Балтимора. Он имеет более чем 25 -летний опыт работы в бизнесе и всегда ищет следующий совок. Он работал … читайте больше от Дэррила К. Тафта