2

Modula、Ada、Oberonなどの言語で実装された新しいプロジェクトはもうないと思います(そうですか?)。しかし、いまだにレガシー システムがあちこちに浮かんでいて、作成者を探してそこかしこに飛び出しています。彼らは引退してどこかのビーチに座って楽しんでいる可能性があるため、それらを見つけることができません。

深刻な問題:
1) アクティブな (経験豊富な) Modula プログラマーがまだ周りにいるかどうか疑問に思っています。
2) Modula コードを新しいハードウェア世代に移植した経験のある人はいますか?
3) リエンジニアリングできるツールについて知っている人はいますか? つまり、手順と Mod ファイルをグラフィカルな方法でマップします。これらのツールは、たとえば次の場合に利用できます。C プログラム。

確かに、Modula Syntax は、数千のメソッドを持つ今日の .net および Java API と比較して息をのむようなものではありませんが、誰かが約 100.000 行のほとんど文書化されていないソースコード (約 8000 行のアセンブラーとうまく混合されています) をドロップした場合、拒否したほうがいい。私はこの要求を持っており、非常に抵抗しています。(オプション: modula ソースを移植して保持するか、9 か月以内に他の言語に移行します!)

乾杯

4

7 に答える 7

5

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 Web サイトでは、これが GM2 の重要な動機の 1 つとして挙げられています。GM2 メーリング リストは次の場所にあります。

Modula-2 Usenet ニュース グループもあります。次の URL の Google インターフェイスからアクセスできます。

最後になりましたが、Freenode には Modula-2 IRC チャネルがあります。

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

3) 100.000 行の Modula-2 ソース コードを評価する方法

「誰かが約 100.000 行のほとんど文書化されていないソースコード (約 8000 行のアセンブラーとうまく混合されている) をあなたにドロップした場合、それを拒否した方がよいかどうかを知っておく必要があります。私はこの要求を持っており、私は非常に抵抗しています。(オプション: port と modula source を保持します。または 9 か月で他の言語に移行できます!)"

Rick Sutcliffe に連絡することをお勧めします。Rick Sutcliffe は有名な Modula-2 の学者であり、Modula-2 FAQ の管理者でもあり、Modula-2 のソース コードを評価するためのコンサルティング業務を行うために雇われていると述べています。会社の乗っ取り状況。あなたの状況は、あなたに提供されるソフトウェアの価値を確立するために専門家を雇うことを正当化するのに十分似ているように思えます.

于 2010-03-05T13:30:16.460 に答える
4

1) 現役の (経験豊富な) Modula プログラマーがまだいるかどうか疑問に思っています。

はい、私は 1 つです。しかし、私はすでに仕事を持っています:-)

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 の才能は、コンパイラを書く人にとって物事を簡単にすることでした。したがって、ツールが必要な場合は、優れたコンパイラ作成者であれば誰でもツールを作成できます。With のコンパイラが利用可能で、簡単に移植できる必要があります。

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コンパイラが必要な場合は、Win32 IIRCをサポートしていませんが、さまざまなプラットフォームをターゲットにできる有能なModula-2コンパイラを備え たAmsterdamコンパイラキットを見ることができます。

既存のModula-2コードベースの文書化と移植は、Cで書き直そうとするよりもおそらく簡単だと思います。ただし、別のプロセッサアーキテクチャに移行する必要がある場合は、アセンブリ言語を書き直す必要があります。とにかくビット。これはむしろ、移植の価値提案を変えます。

移植を行っているのであれば、2つのステップで行うことを検討してください。

  1. コールグラフを生成するためのユーティリティを実行するように顧客と調整し、何をすべきかを推奨する実現可能性調査と範囲の見積もりを提供します。

  2. コードベースを移植するか、コードベースを書き直して、移植を行います。最新のコンピューターで実行している場合は、コードベース全体に低水準言語が必要ない場合があることに注意してください。純粋にCで書き直す場合よりも少ない労力で、(たとえば)PythonとCを組み合わせて実行できる場合があります。

于 2010-03-05T13:55:56.577 に答える
1

私自身は Modula についてあまり詳しくありませんが、Modula-2 で完全に作成されたパケット交換ネットワーク プロジェクト (Compac) を持つブラジルの研究センターで働いていました。私が間違っていなければ、彼らはコンパイラ/リンカー自体を開発しました。特定の人物を指し示す自由はないと思うので、「compac」と「cpqd」をグーグルで検索することをお勧めします。それに関与している人々の名前が見つかることはほぼ保証できます。それへの言及がかなり古く、80 年代後半からであることは驚くべきことではありません。

于 2009-05-04T02:11:08.633 に答える
1

うん。

かなり前にこの質問をしたことは承知していますが、誰も処理したくないプロジェクトが遅れることも知っています...

私は 10 年間にわたって Modula-2 でいくつかの大規模なシステムを構築してきましたが、不可能なタスクを引き受けるという常軌を逸した癖があります。

私は約 10 年間それに触れていませんが、あなたのシステムを他のほとんどすべてのプラットフォームに移植できると確信しています。まだ興味がある場合は、私に連絡してみませんか?

そうそう - さらに良いことに、私たちは両方ともシンガポールにいます :-)

于 2012-07-09T16:34:37.300 に答える
0

ADW Modula-2 がフリーウェアとしてリリースされました。 . _ 64 ビットの Windows バイナリにする必要があります (私の作業のほとんどは Java と .Net で行われていますが、どちらも問題ありませんが、純粋なバイナリが最適な場合もあります。32 ビット バイナリの Windows アプリには既に MASM32 を使用しています)。

編集

JVM で Modula-2 をコンパイルするプロジェクト (Java へのトランスパイル オプション付き) も進行中です (まだ非常に初期段階で、この編集の日付の時点ではまだ使用できません)。 https://github.com/m2sf/m2j

于 2012-02-21T15:28:58.997 に答える