2

猜猜没有新项目可以用 Modula、Ada、Oberon 等语言实现了(对吧?)。但是仍然有遗留系统四处飘荡,到处寻找它们的创造者。他们找不到他们,因为他们可能会退休,坐在海滩上享受自己的地方。

严肃:
1)我想知道周围是否还有活跃的(有经验的)Modula 程序员?
2) 有人将 Modula 代码移植到新一代硬件吗?
3) 有谁知道可以重新设计的工具,即以图形方式映射程序和 Mod 文件。这些工具可用于例如。C 程序。

当然,与今天的 .net 和具有 1000 种方法的 Java API 相比,Modula Syntax 并没有那么令人惊叹,但是如果有人向您丢下大约 100.000 行几乎没有记录的源代码(与大约 8000 行汇编程序很好地混合在一起),您最好知道您是否最好拒绝它。我有这个要求,我很抗拒。(选项:移植并保留模源或在 9 个月内迁移到其他语言!)

干杯

4

7 回答 7

5

1)我想知道周围是否还有活跃的(有经验的)Modula 程序员?

它们有很多,但是您必须进行一些网络搜索才能找到它们。如果你搜索“Curriculum Vitae”(或“Resume”)和“Modula-2”,应该会有很多命中。此外,任何具有 Oberon、Pascal 或 Delphi 经验的人都将能够处理 Modula-2。

还有活跃的 Modula-2 项目,最值得注意的是:

2) 有人将 Modula 代码移植到新一代硬件吗?

在 GNU Modula-2 邮件列表上提问。许多 GNU Modula-2 用户拥有来自他们喜欢移植到现代平台的 16 位 DOS 系统的 Modula-2 代码。GNU Modula-2 网站将此列为 GM2 的一个重要动机。GM2 邮件列表位于:

还有 Modula-2 Usenet 新闻组,您可以通过 Google 界面访问它

最后但同样重要的是,Freenode 有一个 Modula-2 IRC 频道

  • irc://irc.freenode.net/#modula-2

3) 如何评估 100.000 行 Modula-2 源代码

“如果有人向你丢下大约 100.000 行几乎没有记录的源代码(与大约 8000 行汇编程序很好地混合在一起),你最好知道你是否最好拒绝它。我有这个要求,我非常抗拒。(选项:端口并保留模块源或在 9 个月内迁移到其他语言!)”

您可能想联系著名的 Modula-2 学者和书籍作者 Rick Sutcliffe,他也是 Modula-2 常见问题解答的维护者,他在该常见问题解答中表示,他确实被聘为评估 Modula-2 源代码的咨询工作公司接管情况。在我看来,您的情况可能足以证明聘请专家来确定提供给您的软件的价值是合理的。

于 2010-03-05T13:30:16.460 回答
4

1)我想知道周围是否还有活跃的(有经验的)Modula 程序员?

是的,我是其中之一。但我已经有工作了:-)

2) 有人将 Modula 代码移植到新一代硬件吗?

不清楚您的意思是移植代码还是移植编译器。移植 Wirth 的 Modula-2 编译器(或 Oberon 编译器)应该很容易。Ada 和 Modula-3 是另一回事。

3) 有谁知道可以重新设计的工具,即以图形方式映射程序和 Mod 文件。这些工具可用于例如。C 程序。

我不明白这个问题。如果您希望可视化 Modula-2 程序的导入图,您可以轻松编写一些东西来发出dot。可视化调用图是另一回事。

这是我对 Modula-2 和 Oberon 的总结:

  1. 任何称职的 C 程序员都可以快速学习足够的 Modula-2 来维护大型遗留应用程序。奥伯伦的另一个故事;它的导出名称和类型扩展模型与其他 OO 语言中的对象模型不同。

  2. 作为语言设计师,Wirth 的天才之处在于让编写编译器的人轻松搞定。因此,如果您需要工具,任何优秀的编译器编写者都可以生产它们。Wirth 的编译器应该可用且易于移植。

Ada 不应该与 Modula-2 和 Oberon 相提并论。

于 2009-05-04T02:15:22.633 回答
2

Ada 仍然是一种非常活跃的语言。我从 1995 年开始在自己的研究中使用它,从去年开始在大学的讲座中使用它。

于 2010-08-06T21:43:17.110 回答
1

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. 做移植,移植代码库或重写它。请记住,如果您在现代计算机上运行整个代码库,您可能不需要低级语言。与纯粹用 C 重写所需的工作相比,您可以在(比如说)Python 和 C 的混合体中完成它。

于 2010-03-05T13:55:56.577 回答
1

我自己对 Modula 了解不多,但是我在巴西的一个研究中心工作,该中心有一个完全在 Modula-2 中创建的分组交换网络项目 (Compac)。如果我没记错的话,他们甚至自己开发了编译器/链接器。由于我不能随意将您指向特定的人,我建议您在 Google 上搜索“compac”和“cpqd”,我几乎可以保证您会找到参与其中的人员的姓名。从 80 年代后期开始,对它的引用已经很老了,这不足为奇。

于 2009-05-04T02:11:08.633 回答
1

是的。

我知道你很久以前就问过这个问题,但我也知道没人喜欢处理的项目会延迟......

在过去的十年中,我在 Modula-2 中构建了几个大型系统,并且养成了承担不可能完成任务的疯狂习惯。

我已经有大约十年没有接触过它了,但我绝对可以肯定我可以为您将您的系统移植到几乎任何其他平台上。如果您仍然感兴趣,为什么不与我联系?

哦,是的 - 更好的是,我们都在新加坡 :-)

于 2012-07-09T16:34:37.300 回答
0

ADW Modula-2 现已作为免费软件发布。 http://www.modula2.org/adwm2/ 因为它是免费的并且支持 32 位和 64 位 Windows 应用程序(而且我知道 Modula-2),所以我选择了它并将它用于我想要的小型实用程序工作成为 64 位 Windows 二进制文件(我的大部分工作都是在 Java 和 .Net 中进行的,这很好,但有时纯二进制文件是最好的。我已经将 MASM32 用于 32 位二进制 Windows 应用程序)。

编辑

现在还有一个项目正在进行中(仍处于早期阶段,截至本次编辑之日尚不可用),用于在 JVM 上编译 Modula-2(带有转译为 Java 选项)。 https://github.com/m2sf/m2j

于 2012-02-21T15:28:58.997 回答