みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

手続き型言語からオブジェクト指向型言語にコンバート

COBOLで書かれたプログラムをC#、JAVAなどのプログラムに書き換えるって簡単ですか?

COBOLは構造化プログラミングと呼ばれ、JAVAなどはオブジェクト指向でタイプが違うのではないかと思うのですがいかがでしょう?

投稿日時 - 2006-05-18 15:25:21

QNo.2159005

困ってます

質問者が選んだベストアンサー

がるです。
このあたりは、「リファクタリング」というものについて調べると、色々と出てくるかと思うのですが。
以下、我流ですが「一つの方法」として捕らえていただけると。

1クラスを「ある意味のあるデータの塊を表す」ものであると仮定します。わかりやすいところですと、DBの1テーブルの1レコードを1インスタンスにするイメージです。
構造体でもよいのですが、後々を考えて、クラスにされるとよろしいかと思います。この場合、構造体に+αしたものがクラスである、程度の認識でよろしいかと。

そうすると「このデータを扱うときはこのクラス」という感じで集約することが出来るので、後々楽に処理をしたりすることが出来るようになります。

以上、参考になれば幸いです。

投稿日時 - 2006-05-22 13:53:08

お礼

ご回答ありがとうございます。
なるほどと思う意見ですね。

現在、試しに1本だけCOBOLをC#に変更しています。
C#には慣れていないので苦しんでいます。

投稿日時 - 2006-05-23 09:12:30

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

がるです。
とりあえずまず「ベタ」で書いてしまって。
その後で、リファクタリングの手法で、ゆっくりオブジェクト化していくのが、業務をベースに考えると現実的であるように思われます。
リファクタリングのコツは「まずはコアとなるデータクラス群の実装」からでしょうか。
共通化がすら出来ていない(コピペの嵐)なソースであれば、まず「共通化」をするところから、かもしれませんが。

投稿日時 - 2006-05-19 19:27:14

お礼

回答ありがとうございます。

初心者なのでよくわからないのですが。
データクラス群の実装とは、構造体を使うのでしょうか。1レコードをCSV形式でリードして構造体を使うのかな??と考えているところです。

またよかったらご教授ください。

投稿日時 - 2006-05-22 08:42:31

ANo.1

がると申します。
…まぁ物凄くアバウトな発言をすると「JavaやC#で、mainのみのベタ書きなコードを書く」ことで、ある程度まで似た様な書式で移植は出来るかと思うのですが。
真面目に考えると、やはり一度はきちんとクラス化してオブジェクト切って…という作業が必要で。その場合、結構な工数がかかるのではないかと思われます。

投稿日時 - 2006-05-18 17:09:29

お礼

おっしゃるとおりですね。

オブジェクト指向の特性を生かしてないですが、
mainベタ書きで仕方ないんでしょうね。

ありがとうございました。

投稿日時 - 2006-05-18 17:48:02

あなたにオススメの質問