LINUX.ORG.RU

В GCC добавлена поддержка Modula-2 и планируется включение Rust

 , ,


1

3

В основной состав GCC принят фронтэнд m2 и библиотека libgm2, позволяющие использовать штатный инструментарий GCC для сборки программ на языке программирования Modula-2. Поддерживается сборка кода, соответствующего диалектам PIM2, PIM3 и PIM4, а также принятому ISO-стандарту для данного языка. Изменения включены в ветку GCC 13, релиз которой ожидается в мае 2023 года.

Modula-2 разработан в 1978 году Никлаусом Виртом, продолжает развитие языка Pascal и позиционируется как язык программирования для высоконадёжных промышленных систем (например, применяется в ПО для спутников ГЛОНАСС). Modula-2 является предшественником таких языков, как Modula-3, Oberon и Zonnon. Помимо Modula-2 в состав GCC включены фронтэнды для языков C, C++, Objective-C, Fortran, Go, D, Ada.

Также было одобрено включение фронтэнда для Rust. Разработчикам gccrs рекомендовано начать работу с командами, отвечающими за рецензирование изменений и подготовку релизов GCC, для проведения финальной проверки и одобрения патчей с точки зрения соблюдения технических требований к коду, добавляемому в GCC. В случае, если разработка gccrs продолжится в соответствии с ранее намеченным графиком и не будет выявлено непредвиденных проблем, фронтэнд для языка Rust будет интегрирован в состав выпуска GCC 13, намеченного на май следующего года. Реализация Rust в GCC 13 будет иметь статус бета-версии, пока не включаемой по умолчанию.

>>> Подробности (OpenNet)

★★★★★

Проверено: hobbit ()

В GCC добавлена поддержка Modula-2

Ждём когда добавят Oberon, Oberon-2, Компонентный Паскаль и Oberon-07.

QsUPt7S ()

Как сделан рантайм сборщика мусора? Загрузки модулей?

X512 ★★★★ ()

У нас тут GCC ржавеет.

burato ★★★★★ ()

https://www.excelsior.ru/products/xds

https://github.com/excelsior-oss/xds

Уникальной особенностью систем XDS является полная интеграция между Модулой-2 и Обероном-2, которая позволяет смешивать реализованные на этих языках модули в одном проекте без дополнительных усилий.

XDS-C - система программирования, построенная на базе транслятора из языков Модула-2/Оберон-2 в Си. Вместо объектных файлов она производит текст на диалектах K&R C (Kernigan & Ritchie C), ANSI C, или на C++, который затем может быть скомпилирован любым подходящим компилятором Си/Си++ практически для любой платформы. Сама система XDS-C доступна в двух вариантах: для работы под Windows или Linux.

Forum0888 ()
Ответ на: комментарий от Forum0888

Какова ниша информационных систем для которых Modula-2 будет полезен?

Системы глобального позиционирования и другие автономно работающие устройства. То есть это спутники и различные подводные аппараты.

iZEN ★★★★★ ()
Ответ на: комментарий от Forum0888

Там где требуется быстрый и верифицируемый софт. Военные, космос и так далее.

LongLiveUbuntu ★★★★★ ()

продолжает развитие языка Pascal и позиционируется как язык программирования для высоконадёжных промышленных систем

Почётно.

apt_install_lrzsz ★★ ()

Rust ещё понятно, а Modula-2 же устарела и Modula-3 есть. Будет мёртвым грузом в GCC висеть как какой-нибудь Fortran-77 или Ada.

EXL ★★★★★ ()

Интересно а как получилось, что Rust в GCC включается позже чем D, хотя D вроде значительно менее популярный.

unDEFER ★★★★★ ()
Ответ на: комментарий от unDEFER

Наверное, потому что D намного старше.

И, если не ошибаюсь, Iain Buclaw был внедрён в команде gcc задолго до gdc.

dataman ()
Ответ на: комментарий от menangen

подарил бы еще кто айфончик с макбуком… а там и гцц нафиг не нужен будет

seiken ★★★★★ ()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

C устарел? А ведь первое описание Модулы вышло год-в-год с «C Programming language».

На C написан целый World, а на Modula-2 что там написано? Сколько вакансий предлагают агрегаторы?

EXL ★★★★★ ()
Ответ на: комментарий от EXL

На C написан целый World

Это просто другой мир.

на Modula-2 что там написано?

Специализированные встраиваемые операционные системы и программы для встраиваемых систем.

iZEN ★★★★★ ()
Ответ на: комментарий от menangen

Кому нужен Свифт кроме яблока? У него нет ничего, что позволило бы создать конкуренцию Golang, Rust, D и современному стандарту C++.

small-entropy ()

Хорошая публикация о «истории» создания Модула-3.

https://habr.com/ru/post/585586/ Modula-3 — Исторический контекст

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

И компиляторы Вирта для меня скорее попытки реализации этой идеи.

Forum0888 ()

Modula-2 разработан в 1978 Изменения включены в ветку GCC 13, релиз которой ожидается в мае 2023 года.

45 годиков.
Интересно, создатели ещё живы?

rukez ★★★★ ()
Ответ на: комментарий от Im_not_a_robot

Это троллинг растофанов. Пусть постоят пока в очереди, модула нужнее!

bread ()

Есть замечательные книги в открытом доступе:

  1. Вирт Н. Программирование на языке Модула-2 (1985) (Перевод с англ. М.: Мир, 1987. — 224с., ил.)
  2. Кристиан К. Руководство по программированию на языке Модула-2 (A Guide to Modula-2) (1986) (Перевод с англ. М.: Мир, 1989. — 463с., ил.)
iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN
  1. Вирт Н. Программирование на языке Модула-2 (1985) (Перевод с англ. М.: Мир, 1987. — 224с., ил.)

  2. Кристиан К. Руководство по программированию на языке Модула-2 (A Guide to Modula-2) (1986) (Перевод с англ. М.: Мир, 1989. — 463с., ил.)

«Математическое обеспечение ЭВМ» http://publ.lib.ru/ARCHIVES/M/''Matematicheskoe_obespechenie_EVM''/_''MOEVM''.html#0009

Forum0888 ()
Ответ на: комментарий от EXL

Сколько вакансий предлагают агрегаторы?

Насколько я понимаю, в подобных случаях вакансии выглядят не как «программист на Modula», а как «программист спутников» или что-то в таком роде.

А соискатели уже сами в курсе, что надо будет кодить на модула.

Это как в вакансии водителя троллейбуса не указывают, что ему надо быть крутильщиком руля и нажимальщиком педалей.

apt_install_lrzsz ★★ ()
Ответ на: комментарий от iZEN

Сугубо в твоём ограниченном мирке.

Без подколов, а что написано из того, что работает сейчас? Не 30 лет назад, когда выходили компиляторы Top Speed Modula и др, когда явно что-то было, а сейчас. Пишут, что ПО для ГЛОНАСС, а еще что?

Еще интересно, а какие преимущества Модула-2 перед Object Pascal (Delphi)?

В который как раз ряд вещей из Модулы и вошел. Unit в современном паскале - это Module Модулы, только что вместо разных файлов интерфейса и реализации, все в одном, что наверное даже лучше. Процедурные типы, нетипизированные указатели и типы данных, прямой доступ к памяти - это все тоже вошло. Разве что нет средств распаралеливания на уровне языка, но они и в модуле были сомнительной полезности.

praseodim ★★★★★ ()
Ответ на: комментарий от apt_install_lrzsz

Это как в вакансии водителя троллейбуса не указывают, что ему надо быть крутильщиком руля и нажимальщиком педалей.

Аналогия не совсем верная. Программистов можно найти немало, а вот таких, чтобы УЖЕ умели писать на Модула-2 в нужном для спутников виде, сильно сомневаюсь. В таких случаях проще дообучить на производстве, если не рассчитывать конечно исключительно на выпускников какой-то конкретной кафедры в конкретном вузе.

praseodim ★★★★★ ()
Ответ на: комментарий от praseodim

а что написано из того, что работает сейчас?

Мне самому интересно.

а какие преимущества Модула-2 перед Object Pascal (Delphi)?

В простоте реализации и есть сборка мусора. Не вдаваясь в подробности реализации каких-нибудь визуальных фреймворков-тулкитов вроде Turbo Vision и оболочки над Win32 API (Comctl3d.dll) — VCL.

iZEN ★★★★★ ()
Ответ на: комментарий от Forum0888

«Математическое обеспечение ЭВМ» http://publ.lib.ru/ARCHIVES/M/''Matematicheskoe_obespechenie_EVM''/_''MOEVM''.html#0009

ИМХО очень хорошие книги (хотя они и 1974 года).
Область разработки компиляторов недалеко ушла от Алгол-60.

Для меня это очень удивительно и грустно.

Все и вся в области разработки компиляторов зиждется на грамматиках языков.

Этот путь ведет к синтаксису а-ля C++ наших дней.

Forum0888 ()
Ответ на: комментарий от iZEN

В простоте реализации и есть сборка мусора.

Сборка мусора, в модуле? С обероном и компонентным паскалем не путаешь?

Да и что-то я сомневаюсь насчет простоты реализации, если не для академических, а практических целей. Тем более, в современном паскале есть и то, чего не было в Модуле - ООП, исключения. Может добавили конечно, не знаю.

praseodim ★★★★★ ()
Ответ на: комментарий от praseodim

С обероном и компонентным паскалем не путаешь?

В Modula-3 появилась.

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

а что написано из того, что работает сейчас?
Мне самому интересно.

Ну т.е. это

Сугубо в твоём ограниченном мирке.

был классический пердеж в лужу.

МАКСИМ, ДОБАВЬ РЕАКЦИЙ!

Im_not_a_robot ★★★★★ ()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)
Ответ на: комментарий от Forum0888

Область разработки компиляторов недалеко ушла от Алгол-60.

У Вирта есть и поновее: 1, 2, для любознательных студентов неплохой вводный материал.

quickquest ★★★★★ ()
Ответ на: комментарий от praseodim

Пишут, что ПО для ГЛОНАСС, а еще что?

Хочется ещё спросить какое ПО для ГЛОНАСС надо неистово писать 24/7 из того, что ещё не написано?

OSBuster ()
Ответ на: комментарий от Im_not_a_robot

Какой смысл добавлять мертвый язык, на котором ничего не написано?

Если ты не знаешь о чём-то и на голубом глазу смеешь утверждать, что этого нет (а значит и не нужно), то это показывает лишь узость твоего кругозора, не более.

iZEN ★★★★★ ()

Мне больше интересно, кто эти патчи подготовил и протащил через ревью, а главное зачем? Какой-то дед из фанатов, или за ним стоит кто-то решивший свалить с проприетарного компилятора?

Dark_SavanT ★★★★★ ()

добавлена поддержка Modula-2

Ето что вообще?

планируется включение Rust

А, ну ок, под смузи хорошо зайдёт.

slepoy_pew ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.