• 締切済み

PerlプログラムをJavaに変換する知識

現在、新しいプロジェクトでタイトル通り「PerlプログラムをJavaに変換する」 プログラムをやっています。業務ロジックをJavaに変換するだけなので 大して難しくないと会社から言われてたんですが、Perlの解読に難航してます。 正直、Javaの知識はあります。ですが、3年以上前でSwingアプリでした。 それ以降は、VB6.0とVBAの開発に特化していた為、とても古い知識しか ないと自分でも痛感していました。 最近はWEBアプリでフレームワークは当たり前のJAVA開発。 独学で少しづつやっていたものの、壁にぶち当たっています。 Perlは尚更経験なんて皆無に等しいです。。。 JavaのSwingまでの知識で、本来PerlをJavaに変換するのって 容易に出来るものでしょうか?プログラム変換の経験者が いましたら、意見をお聞きしたいです。 開発環境はEclipseで規約等はきちんと設計されてますが。。。 やはり単純なスキル不足なのでしょうか(^^;;

みんなの回答

  • unibon
  • ベストアンサー率47% (160/340)
回答No.4

『「PerlプログラムをJavaに変換する」プログラム』を作ろうとされているわけではないのですよね?Perlで書かれた既存のプログラムをJavaに変換しようとされているのですよね? > 業務ロジックをJavaに変換するだけなので > 大して難しくないと会社から言われてたんですが、Perlの解読に難航してます。 「業務ロジック」というのがどういうことを指すのかで変わってくると思います。CGI のようにユーザーインターフェースが比較的少ないもので、かつ、なにかのライブラリーにべったりと依存しているようなことがなければ、PerlからJavaへは、かなり一対一の対応が付くでしょう。しかし、GUIのライブラリーを呼ぶようなものだと、大変でしょう。 すなわち、言語の素(す)の部分の変換と、ライブラリー(外部関数群)の変換は分けて捉えたほうが良いでしょう。素の部分の変換なら、Javaをやっていて若い柔軟性のあるかたなら一週間ほどPerlをみっちり覚えればなんとかなりそうな気もします。そうすれば連想配列を Hashtable/HashSet に置換するなどのルーチンワークでかなりいけます。ただ、PerlはJavaから見れば奇抜な言語ですので、かなりの柔軟性が要ります。理論づくめで学ぼうとする人にとっては辛いでしょう。 また、画面などのユーザーインターフェースがあると、とたんに難しくなります。ライブラリーもどんなライブラリーを使っているかで違ってきます。移植上の問題点も言語というよりも、どんなライブラリーを使っているかが問題点になります。 あと、PerlだとJavaと違ってデバッガーがないので大変です。ないというかデバッガーを使って統合的に開発するという慣習が少ないので、面食らいます。そういう点で、もとのPerlプログラムの解読も難しいでしょう。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

>大して難しくないと会社から言われてたんですが どうかんがえても難しい。 何も考えずに言ったか、あるいは神プログラマです。 http://www.perl.com/ perlのコード自体はC言語ですし ものすごい量があるのですよ?(不要な部分を含めてですが約50M) 構文解析だって大変ですし スカラー型に対応するクラスなんかも必要だろうし。。 Javaに変換するべきperlのコードが相当量あるのだと思いますが とりあえず、簡単そうなものを一度手作業で変換してみてください。 どういうロジックが必要か想像できるでしょう。 (それが出来ないと話が進みません。) もし難しいと判断しても そうすることで 理由を会社に説明することができるでしょう。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

Perlのプログラムを手動で、JAVAに書き直すのはそれほど難しくないと思いますが、プログラム(自動)で、JAVAに変換するプログラムを作るのはかなり難しい(し面倒)と思います。(JAVAでPerlパーサーを作成するというような意味合いになりますよね) Perlのソースは手に入るでしょうからそれをJAVAで書き直すというようなことはできるかもしれませんが、気の遠くなるような作業です。 大まじめにやるのでなく簡略版ならある程度できるのかもしれませんが、 それなりの業務アプリをバグなくトランスレートするようなプログラムは、かなり難しいと思います。

回答No.1

こんばんは。 私は3年間Java+jspで開発をした後にPerlの開発に5ヶ月間携わりました。 PerlはJavaというよりJspに近いかもしれません。 また、Perlを解読するためには基礎的なことはちゃんと理解している必要があります。 JavaのSwingまでの知識だけでやっつけようと思っても限界があると私は思います。 例えばfor構文など基本的な所は似ていますが、 perlで「変数の頭に@が付いたら配列」などは知らないとどうにもならない事だと思います。 しかし(未知のperlという事で苦労されていると思いますが)分かってみればperlは簡単です。 慣れてくれば加速度的に早くperl解読できるようになると思います。 頑張ってください ^^

関連するQ&A

専門家に質問してみよう