Разработчик Модула-2? - PullRequest
2 голосов
/ 04 мая 2009

Не думаю, что новый проект реализован на таких языках, как Модула, Ада, Оберон ... больше (верно?). Но все же есть устаревшие системы, плавающие вокруг, выскакивающие тут и там в поисках своих создателей. Они не могут их найти, потому что могут быть на пенсии, сидя на пляже, где-нибудь развлекаясь.

Serious:
1) Мне интересно, есть ли еще активные (опытные) программисты Modula?
2) Кто-нибудь сталкивался с переносом кода Modula на новое поколение оборудования?
3) Кто-нибудь знает об инструменте, который может реинжинирироваться, означает отображение процедур и мод-файлов графическим способом. Эти инструменты доступны, например, для. Программы на Си.

Конечно, синтаксис Modula не такой захватывающий по сравнению с современными .net и Java API с тысячами методов, но если кто-то бросит в вас около 100.000 строк почти недокументированного sourcode (приятно смешанного с ассемблером около 8000 строк), вам лучше знаю, если вы лучше отказаться от него. У меня есть эта просьба, и я очень устойчив. (Опция: перенести и сохранить источник по модулю или перейти на другой язык через 9 месяцев!)

ура

Ответы [ 7 ]

5 голосов
/ 05 марта 2010

1) Мне интересно, есть ли еще активные (опытные) программисты Modula?

Их много, но вам нужно немного поискать в Интернете, чтобы найти их. Если вы ищете «Биографическая справка» (или «Резюме») и «Модула-2», должно быть много хитов. Кроме того, любой, кто имеет опыт работы в Обероне, Паскале или Дельфи, сможет справиться с Модулой-2.

Также есть активные проекты Modula-2, в частности:

2) Кто-нибудь сталкивался с переносом кода Modula на новое поколение оборудования?

Спросите в списке рассылки GNU Modula-2. Многие пользователи GNU Modula-2 имеют код Modula-2 из 16-битных систем DOS, который им нравится переносить на современные платформы. На сайте GNU Modula-2 это упоминается как одна из важных причин для GM2. Список рассылки GM2 находится по адресу:

Существует также группа новостей Modula-2 Usenet, вы можете связаться с ней через интерфейс Google на

И последнее, но не менее важное: на Freenode есть IRC-канал Modula-2

  • ИРЦ: //irc.freenode.net/#modula-2

3) Как оценить 100.000 строк исходного кода Modula-2

"если кто-то уронит на вас около 100 000 строк почти недокументированного кода Sourcode (приятно смешанного с каким-нибудь ассемблером из 8000 строк), вам лучше знать, если вам лучше отклонить его. У меня есть этот запрос, и я очень устойчив. сохранить источник по модулю или перейти на другой язык через 9 месяцев!) "

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

4 голосов
/ 04 мая 2009

1) Мне интересно, есть ли еще активные (опытные) программисты Modula?

Да, я один. Но у меня уже есть работа: -)

2) Кто-нибудь сталкивался с переносом кода Modula на новое поколение оборудования?

Непонятно, имели ли вы в виду перенос кода или перенос компилятора. Портировать компилятор Wirth's Modula-2 (или компилятор Oberon) должно быть легко. Ада и Модула-3 - это другая история.

3) Кто-нибудь знает об инструменте, который можно перепроектировать, означает отображение процедур и файлов Mod в графическом виде. Эти инструменты доступны, например, для. Программы на Си.

Я не понимаю вопроса. Если вы хотите визуализировать график импорта программы Modula-2, вы можете легко написать что-нибудь, что будет излучать dot . Визуализация графиков вызовов - другая история.

Вот мой итог по Модуле-2 и Оберону:

  1. Любой программист на С, достойный его или ее соли, может быстро выучить достаточно Модула-2, чтобы поддерживать большое унаследованное приложение. Другая история оберона; его модель экспортируемых имен и расширений типов не похожа на модели объектов, найденные в других языках OO.

  2. Гений Вирта как языкового дизайнера заключался в том, чтобы упростить процесс написания компилятора. Так что если вам нужны инструменты, любой хороший автор компиляторов может их создать. Компилятор Вирта должен быть доступен и легко портироваться.

Ада не заслуживает упоминания на одном дыхании с Модулой-2 и Обероном.

2 голосов
/ 07 августа 2010

Ада все еще очень активный язык. Я использую его в своих собственных исследованиях с 1995 года и в своих лекциях с прошлого года в университете.

1 голос
/ 09 июля 2012

Да.

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

Я построил несколько больших систем в Модуле-2 в течение десяти лет, и у меня есть безумная привычка брать на себя невыполнимые задачи.

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

О, да - еще лучше, мы оба в Сингапуре: -)

1 голос
/ 05 марта 2010

Modula-2 архитектурно не так уж отличается от C. Программисту, знакомому с C, не составит труда выяснить Modula-2. Учитывая, что ваше приложение имеет значительный объем ассемблерного кода, вам все равно понадобится человек с низкими навыками.

IIRC Грамматика Modula-2 является LL (1) или почти так, поэтому написание синтаксического анализатора для генерации графов вызовов для кодовой базы Modula-2 не выходит за рамки человеческого ума. Graphviz - ваш друг, если вы хотите быстрый и простой способ визуализации графиков вызовов. Опять же, это говорит о том, что вы готовы нанять «настоящего программиста» для выполнения работ по переносу.

Если вам нужен достаточно жизнеспособный компилятор Modula-2, вы можете взглянуть на Amsterdam Compiler Kit , который имеет компетентный компилятор Modula-2, который может работать с широким спектром платформ, хотя он и не ' Поддерживает Win32 IIRC.

Я бы предположил, что документировать и портировать существующую кодовую базу Modula-2, вероятно, проще, чем пытаться переписать ее на C. Однако, если вам нужно перейти на другую архитектуру процессора, вам придется переписать язык ассемблера все равно Это скорее меняет ценностное предложение переноса.

Если вы делаете портирование, то вы можете рассмотреть возможность сделать это в два этапа.

  1. Договоритесь с заказчиком о создании утилиты для генерации графа вызовов и предоставьте ему технико-экономическое обоснование с рекомендациями относительно того, что делать, и некоторой оценкой объема.

  2. Сделайте порт, либо перенеся базу кода, либо переписав ее. Помните, что вам может не потребоваться язык низкого уровня для всей базы кода, если вы используете его на современном компьютере. Вы можете сделать это в смеси (скажем) Python и C с меньшими усилиями, чем было бы необходимо для переписывания чисто на C.

1 голос
/ 04 мая 2009

Я сам почти ничего не знаю о Modula, однако я работал в исследовательском центре в Бразилии, у которого был проект сети с коммутацией пакетов (Compac), который был полностью создан в Modula-2. Если я не ошибаюсь, они даже сами разработали компилятор / компоновщик. Поскольку я не вправе указывать вам конкретных лиц, я бы посоветовал вам выполнить поиск в Google по запросу "compac" и "cpqd", и я могу в значительной степени гарантировать, что вы найдете имена людей, причастных к этому. Неудивительно, что ссылки на него довольно старые, начиная с конца 80-х годов.

0 голосов
/ 21 февраля 2012

ADW Modula-2 теперь выпущен как бесплатное программное обеспечение. http://www.modula2.org/adwm2/ Поскольку он бесплатный и поддерживает 32- и 64-битные приложения для Windows (и я знаю Modula-2), я взял его и использую для небольших утилит, которые я хочу стать 64-битными Бинарный файл Windows (большая часть моей работы на Java и .Net, которые хороши, но иногда лучше использовать чистый двоичный файл. Я уже использую MASM32 для 32-битных двоичных приложений Windows).

редактировать

Есть также проект в разработке (все еще очень ранний, еще не пригодный для использования на дату этого редактирования), который теперь компилирует Modula-2 на JVM (с опцией перехода на Java). https://github.com/m2sf/m2j

...