Modula-2 开发商?

发布于 2024-07-18 23:29:35 字数 469 浏览 6 评论 0原文

我猜不会再用 Modula、Ada、Oberon 等语言实现新项目了(对吗?)。 但仍然有一些遗留系统四处流传,四处冒出,寻找它们的创造者。 他们找不到他们,因为他们可能已经退休,坐在某个海滩上享受时光。

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

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

干杯

Guess no new project is implemented in languages like Modula, Ada , Oberon .. anymore (right?). But still there are legacy systems floating around, popping out here and there looking for their creators. They cant find them because they might be retired sitting at a beach somewhere enjoying themselves.

Serious:
1) I am wondering if there are still active (experienced) Modula programmers around ?
2) Anyone experience with porting Modula code to a new hardware generation ?
3) Does anyone know about a tool that can re-engineer, means map Procedures and Mod-files in a graphical way. These tools are available for eg. C programs.

Sure, Modula Syntax is not that breathtaking in comparison to todays .net and Java API's with 1000's of methods, but if someone drop about 100.000 lines of almost undocumented sourcode at you (nicely mixed with some 8000 lines assembler), you better know if you better reject it. I have this request and I am very resistant. (Option: port and keep modula source or migrate to other language in 9 months!)

cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

梦断已成空 2024-07-25 23:29:35

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

它们有很多,但您必须进行一些网络搜索才能找到它们。 如果您搜索“简历”(或“简历”)和“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 界面访问它:

上有一个 Modula-2 IRC 频道

  • 最后但并非最不重要的一点是,Freenode irc://irc.freenode.net/ #modula-2

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

“如果有人向您扔了大约 100.000 行几乎未记录的源代码(与一些 8000 行汇编程序很好地混合),您最好知道是否最好拒绝它。我(选项:移植并保留 modula 源或在 9 个月内迁移到其他语言!)”

您可能需要联系 Rick Sutcliffe,他是一位著名的 Modula-2 学者和书籍作者,也是Modula-2 常见问题解答的维护者,他在其中表示,他确实受聘从事在公司接管情况下评估 Modula-2 源代码的咨询工作。 在我看来,您的情况可能非常相似,足以证明有必要聘请专家来确定提供给您的软件的价值。

1) I am wondering if there are still active (experienced) Modula programmers around ?

There are plenty of them, but you have to do a bit of web search to find them. If you search for "Curriculum Vitae" (or "Resume") and "Modula-2" there should be plenty of hits. Also, anybody who has experience in Oberon, Pascal or Delphi will be able to handle Modula-2.

Also there are active Modula-2 projects, most notably:

2) Anyone experience with porting Modula code to a new hardware generation ?

Ask on the GNU Modula-2 mailing list. Many GNU Modula-2 users have Modula-2 code from 16-bit DOS systems they like to port to modern platforms. The GNU Modula-2 website lists this as one important motivation for GM2. The GM2 mailing list is at:

There is also the Modula-2 Usenet news group, you can reach it via the Google interface at

Last but not least, there is a Modula-2 IRC channel at Freenode

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

3) How to assess 100.000 lines of Modula-2 source code

"if someone drop about 100.000 lines of almost undocumented sourcode at you (nicely mixed with some 8000 lines assembler), you better know if you better reject it. I have this request and I am very resistant. (Option: port and keep modula source or migrate to other language in 9 months!)"

You may want to contact Rick Sutcliffe, a well known Modula-2 scholar and book author who is also the maintainer of the Modula-2 FAQ in which he states that he does get hired to do consulting work for assessing Modula-2 source code in company take-over situations. It seems to me that your situation might be similar enough to justify hiring an expert to establish the value of the software that is offered to you.

梦罢 2024-07-25 23:29:35

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 相提并论。

1) I am wondering if there are still active (experienced) Modula programmers around ?

Yes, I'm one. But I already have a job :-)

2) Anyone experience with porting Modula code to a new hardware generation ?

Not clear if you meant porting code or porting a compiler. Porting Wirth's Modula-2 compiler (or Oberon compiler) should be easy. Ada and Modula-3 are another story.

3) Does anyone know about a tool that can re-engineer, means map Procedures and Mod-files in a graphical way. These tools are available for eg. C programs.

I don't understand the question. If you are looking to visualize the import graph of a Modula-2 program, you could easily write something to emit dot. Visualizing call graphs is another story.

Here's my bottom line on Modula-2 and Oberon:

  1. Any C programmer worth his or her salt can quickly learn enough Modula-2 to maintain a large legacy application. Oberon's another story; its model of exported names and type extension is not like the object models found in other OO languages.

  2. Wirth's genius as a language designer was to make things easy for the person writing the compiler. So if you need tools, any good compiler writer can produce them. Wirth's compiler should be available and easy to port.

Ada does not deserve to be mentioned in the same breath with Modula-2 and Oberon.

烟花易冷人易散 2024-07-25 23:29:35

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

Ada is still an very active language. I use it in my own research since 1995 and in my lectures since last year at a university.

枫以 2024-07-25 23:29:35

我自己对 Modula 不太了解,但是我在巴西的一个研究中心工作,该中心有一个完全在 Modula-2 中创建的数据包交换网络项目 (Compac)。 如果我没记错的话,他们甚至自己开发了编译器/链接器。 由于我无法随意向您指出特定的人,因此我建议您在谷歌上搜索“compac”和“cpqd”,我几乎可以保证您会找到参与其中的人员的姓名。 毫不奇怪,对它的引用相当古老,可以追溯到 80 年代末。

I myself don't know much of Modula, however I worked at a research center in Brazil that had a packet switching network project (Compac) that was entirely created in Modula-2. If I'm not mistaken they even developed the compiler/linker themselves. Since I don't feel at liberty to point you to specific persons, I would suggest you do a google search for "compac" and "cpqd" and I can pretty much guarantee you will find names of people involved in it. It should come as no surprise that references to it are quite old, from late 80's.

浅黛梨妆こ 2024-07-25 23:29:35

Modula-2 在架构上与 C 没有什么不同。熟悉 C 的程序员应该可以轻松地理解 Modula-2。 鉴于您的应用程序具有大量汇编代码,那么您无论如何都需要具有低级技能的人员。

IIRC Modula-2 的语法是 LL(1) 或接近 LL(1),因此编写一个解析器来生成 Modula-2 代码库的调用图并不超出人类的智慧。 如果您想要一种快速、简单的方法来可视化调用图,Graphviz 是您的朋友。 同样,这表明您准备雇用“真正的程序员”来进行移植工作。

如果您需要一个相当可行的 Modula-2 编译器,您可以查看 Amsterdam Compiler Kit,它确实有功能强大的 Modula-2 编译器,可以针对多种平台,尽管它不支持 Win32 IIRC。

我建议记录和移植现有的 Modula-2 代码库可能比尝试用 C 语言重新编写它更容易。但是,如果您需要迁移到不同的处理器架构,那么您将不得不重新编写汇编语言无论如何。 这确实改变了移植的价值主张。

如果是您进行移植,那么您可能会考虑分两步进行。

  1. 与客户安排一个实用程序来生成调用图,并向他们提供可行性研究,建议做什么以及对范围的一些估计。

  2. 进行移植,要么移植代码库,要么重写它。 请记住,如果您在现代计算机上运行整个代码库,您可能不需要低级语言。 您可以使用(例如)Python 和 C 的混合语言来完成此操作,比纯粹用 C 重写所需的工作量要少。

Modula-2 is architecturally not that dissimilar to C. A programmer familiar with C should have little trouble figuring out Modula-2. Given that your application has a significant body of assembler code then you will need someone with low-level skills anyway.

IIRC Modula-2's grammar is LL(1) or nearly so, so writing a parser to generate call graphs for a Modula-2 code base is not beyond the wit of man. Graphviz is your friend if you want a quick and easy way of visualising the call graphs. Again, this suggests that you're up for employing a 'real programmer' to do the porting work.

If you need a reasonably viable Modula-2 compiler, you could look at the Amsterdam Compiler Kit which does have a competent Modula-2 compiler that can target a wide variety of platforms, although it doesn't support Win32 IIRC.

I would suggest that documenting and porting the existing Modula-2 code base is probably easier than attempting to re-write it in C. However, if you need to move to a different processor architecture then you will have to re-write the assembly language bits anyway. This does rather change the value proposition of porting.

If it is you doing the porting then you might consider doing it in two steps.

  1. Arrange with the customer to do a utility to generate the call graph and give them a feasibility study recommending what to do and some estimate of the scope.

  2. Do the port, either porting the code base or re-writing it. Bear in mind that you may not need a low level language for the entire code base if you're running it on a modern computer. You may be able to do it in a mixture of (say) Python and C with less effort than would have been needed for a rewrite purely in C.

明月松间行 2024-07-25 23:29:35

是的。

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

我在十年的时间里用 Modula-2 构建了几个大型系统,并且有这种疯狂的习惯承担不可能的任务。

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

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

Yup.

I realise that you asked this question quite some time ago but I also know that projects that nobody like to handle get kind of delayed...

I built several large systems in Modula-2 over a span of ten years and have this insane habit of taking on impossible tasks.

I have not touched it for about ten years but am absolutely certain that I can port your system for you to almost any other platform. Why not get in touch with me if you are still interested?

Oh yeah - better still, we are both in Singapore :-)

寂寞花火° 2024-07-25 23:29:35

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

编辑

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

ADW Modula-2 has now been released as freeware. http://www.modula2.org/adwm2/ Since it's free and supports 32 & 64-bit Windows applications (and I know Modula-2), I've picked it up and am using it for small utility work that I want to be a 64-bit Windows binary (most of my work is in Java and .Net, which are fine but sometimes a pure binary is best. I use MASM32 for 32-bit binary Windows apps already).

edit

There's also a project in the works (still very early on, not yet usable as of the date of this edit) now to compile Modula-2 on the JVM (with a transpile to Java option). https://github.com/m2sf/m2j

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文