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 ()
Последнее исправление: hobbit (всего исправлений: 3)

В 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.