LINUX.ORG.RU

Вышла версия 1.0 GNU Modula-2

 gm-2, ,


0

0

11 декабря 2010 разработчики представили версию 1.0 компилятора языка Modula-2.

К релизу были достигнуты следующие цели:

  • Функциональность и API библиотек полностью приведены к соответствию стандартам ISO.
  • Сам компилятор теперь соответствует ISO-стандарту языка Modula-2.
  • Компилятор полностью проходит 10040 тестов на платформах x86 и x86_64 (тем не менее пока имеются некоторые регрессии на Mac OS X и Solaris LP64).

Компилятор GM2 распространяется как дополнение к GCC.

>>> Сайт проекта

★★★★★

Проверено: mono ()
Последнее исправление: Dendy (всего исправлений: 3)

Ответ на: комментарий от anonymous

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

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

> Да какая разница математику на чем прогать?

а там такая проблема не только с математиками, но и с программерами.

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

Moonlight даёт очень много понять что ждёт всё это барахло под Mono... сейчас активно компилят всякие заменители флэша на беты Silverlight 5, а последняя разрабатываемая версия Moonlight даже не совместима с Silverlight 4... вот вам, светлое будущее

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

>IMHO энтузиасты и без GOTO могут дров наломать, а грамотному человек GOTO помочь вполне может.

Это всё неважно, главное, что Ъ.

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

Дык, его всего «полтора человека» пытаются пилить: BlackBox для Linux.

А у него какая лицензия? По-моему, это даже не дотягивает до программ на Mono по легальности.

А с wine он неплохо работает.

не хочется антивирус ставить :)

Не только: How to intall and use Zonnon Compiler with Eclipse on Linux.

Спасибо, я уже читал :) Но Mono is not the answer Ж)

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

ну это уже другая проблема :) с прикладниками туго.

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

> > Что может предложить этот диалект поцкаля против c+ruby?

Маленькую РБНФ.

Сомнительное достоинство для языка программирования. Между прочим, полная спецификация грамматики Питона занимает 151 строку. Вместе с комментариями и пустыми строками.

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

Кто сейчас ловит кайф от Modula-2


[внезапно] на модуле-2 просто пишут. например почти никто не знает что самая лучшая (эталонная) программа для рипа аудио-CD написана на модула-2. все теплые ламповые рипы сделаны именно прогой на модула-2.

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

Для каких-то юзкейсов написать компилятор с нуля - достоинство. Или провести статический анализ.

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

То есть во всем языке одно достоинство,

А я разве говорил, что модула-2 - это альернратива всем языкам? Я просто привел контраргумент к твоему намеку, что ruby+c лучше ВО ВСЕХ качествах.

да и то сомнительное в силу редкости употребления.

Т.е. частота использования - это по-твоему главный критерий оценки? Есть задачи и есть оптимальный способы их решения. Остольно - суета.

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

> Я просто привел контраргумент к твоему намеку, что ruby+c лучше ВО ВСЕХ качествах.

Вообще-то на этот «контраргумент» был ответ, что у Питона полная грамматика языка занимает всего 151 строку вместе с комментариями и пустыми строками. А в модуле сколько?

Т.е. частота использования - это по-твоему главный критерий оценки?

Нет, не главный, но один из основных. Удобство, пожалуй, это сумма произведений частот употребления на удобства конкретных фич.

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

>Из языка исключён оператор безусловного перехода GOTO.

Ещё одна жаба, закопать.

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

эталонная программа для рипа аудио CD-DA дисков - только одна.

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

>В то время как нормальные люди делают редакторы с подсветкой синтаксиса, вирты встраивают подсветку синтаксиса в язык.

И это правильно, ибо учебные языки должны на самих ранних стадиях диагностировать отклонения в развитии мозгов обучаемых.

AVL2 ★★★★★
()

>Компилятор GM2 распространяется как дополнение к GCC.

лучше бы gcc потрошили и делали свой LLVM под GPL, а то боюсь скоро LLVM зарулит gcc по всем параметрам(((

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

>Да какая разница математику на чем прогать? Для математкика язык столь же важный выбор, что и для программиста выбор текстового редактора.

Конечно, если вся математика каладывается в три действия (с делением проблемы) и не выходит за пределы integer.

Правда, это ведь даже не арифметика, но для современных прыщеблядков это уже высшая математика...

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

>лучше бы gcc потрошили и делали свой LLVM под GPL, а то боюсь скоро LLVM зарулит gcc по всем параметрам(((

Какая разница, какой компилятор мощнее а язык удобнее, если ядро состоит из СИсястых библиотек собирающихся gcc и ничем больше. Максимум что могут сделать фанаты LLVM так слепить урезанный форк линукса наподобии андроида.

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

Преподаватель должен максимально быстро «декомпилировать» смысловую часть программы, находить ошибки и видеть, насколько хорошо студент усвоил материал.

Поэтому учащегося и заставляют максимально явно прописывать в программе, что же он хочет сказать. В частности, явно отделять ключевые слова от идентификаторов.

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

Все это попахивает «умением разбираться в чужом коде». Объясните мне, каким образом ЗАБОР КЛЮЧЕВЫХ СЛОВ поможет что-то быстро понять?

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

>грамотному человек GOTO помочь вполне может

Это выражение - оксюморон. Приведи мне хоть один пример применения goto и я научу тебя как без него обойтись.

A-234 ★★★★★
()
Ответ на: комментарий от ilias

> Объясните мне, каким образом ЗАБОР КЛЮЧЕВЫХ СЛОВ поможет что-то быстро понять?

Ну по крайней мере именно так мы быстро поняли, что авторы языка --- замаскированные пришельцы.

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

> Не понимаю. Когда есть множество свободных проектов, которые действительно приносят пользу, и которые можно и нужно дорабатывать, они тратят десятки человеколет на разработку компиляторов сомнительной полезности

Никто не гарантирует, что разработчики, занятые в этом проекте, захотели бы принять участие в другом.

PolarFox ★★★★★
()
Ответ на: комментарий от A-234

Да, и в носу ковырять можно отбойным молотком... 8)

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

> В частности, явно отделять ключевые слова от идентификаторов.

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

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

> Учащийся может написать капсом весь текст программы, так даже удобнее будет.

Ога, на форумах блондинок все только и пишут капсом. Очень удобно и, главное, читабельно!

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

Вс3ад такое будущее.

В общем, вроде разобрался.

Запустить оберон под Mono

1. Качаем GPCP for JVM (на дотнет они походу забили :) )

2. Качаем IKVM

3. Качаем Mono (или не качаем - в бубунте оно и так есть)

4. Меняем в ./bin/cprun б-мерзкое java на православное ikvm

Далее - нереальная детская порнография: :)

(* hello.cp *)
MODULE Hello;
  IMPORT CPmain, Console;
BEGIN
  Console.WriteString("Hello CP World"); Console.WriteLn;
END Hello.
5. cprun gpcp hello.cp

6. cprun Hello - с этого места школота становится нириально кулхаццкой!

7. Ну а дальше - все довольно банально: используя ikvmc создаем .net-сборку из class-файла...

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

Оберон от капсов избавлен. Блондинистость - она где-то на уровне новости про modula-2 :)

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

лучше бы gcc потрошили и делали свой LLVM под GPL


hm

а то боюсь скоро LLVM зарулит gcc по всем параметрам(((


бесспорно. а почему ":(" ? развитие должно быть. gcc же костыльная система сама себя этим убивающая.

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

Конечно, если вся математика каладывается в три действия (с делением проблемы) и не выходит за пределы integer.

Невижу никакой логики. Что мешает написать/заюзать готовую либу?

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

В этом вашем LLVM есть нормальная реализация Ады?

По теме: отлично же!

buddhist ★★★★★
()

еще один, 100500й компилятор. Мертворожденный компилятор мертвого языка. Еще одна группа эээ... програмистов, считащих, что они сделали что-то полезное. Да ничего нужного и полезного не вижу, только вред. Потрачены человекочасы и еще будут потрачены. Прибавление в зоопарке компиляторов, который и так уже раздут, где все ниши давным давно заняты.
А в то же время, даже офис и тот во-многом не допилен.
Но мы же не можем по-другому. Каждому же надо сделать свой компилятор, что был. Что это? Разработка нормального софта и стимулирование своего ЧСВ? Понятно, что многим нужно только второе. Но, блин, нельзя что-ли идти таким путем, что бы достичь обе цели?
Да да, я знаю что разработка компилятора дает +100 к ЧСВ. Также неплохо дают - никчемный, зато свой, форк, а также свой дистр. Зато нормлальный софт дает + к карме, но похоже что ЧСВ перевешивает =)

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

>Ога, на форумах блондинок все только и пишут капсом. Очень удобно и, главное, читабельно!

Растягиваешь консоль на весь экран, ставить шрифт monospace полужирный 14-16 и капс превращается в конфетку.

Napilnik ★★★★★
()

Можно нескромный вопрос?! Выход компилятора явился причиной, по которой решила остаться? Или была другая? Ломки не выдержала?

anonymous
()
Ответ на: комментарий от A-234

А ничего, что при этом появится ненужный по сути уровень вложенности и, как следствие, лишний отступ? Ваше предложение ухудшит читабельность кода.

По-моему, для вас goto --- это религиозный запрет, а не обдуманная позиция.

ilias
()
Ответ на: комментарий от A-234

> Тривиально, строки с 891 по 916 заключаются в оператор do{...}while(0), вместо goto используется break.

Описываемая функция начинается со строки 921, как можно заметить по ссылке (http://lxr.linux.no/linux+v2.6.36/drivers/net/wireless/libertas/if_sdio.c#L921)

Рецепт «пять вложенных циклов do{...}while(0)» --- не нужен, сразу предупреждаю.

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

Кстати. У меня тоже вопрос.

На кой ляд метки gm-2 modula-2, если по ним всего одна статья (а в близком и среднем будущем их больше не предвидится)?

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

> А в то же время, даже офис и тот во-многом не допилен.

Разрешаю вам пилить офис.

А еще встать у казино в Лас-Вегасе и объяснять заходящим в него, как бы они могли потратить свои деньги.

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

> По-моему, для вас goto --- это религиозный запрет, а не обдуманная позиция.

Все гонители goto в Си пока что оказываются либо теоретиками («пять уровней вложенности / пять функций --- гораздо удобнее»), либо религиозными фанатиками.

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

>Невижу никакой логики. Что мешает написать/заюзать готовую либу?

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

И во всех языках такие либы есть.

Нафиг только в хаскеле делали бездонные числа, а в фортране степени и прочее на уровне языка...

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

goto в сях обусловлен слабостью самого языка. В нормальных (и одновременно несистемных) языках goto не нужен.

AVL2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.