
現在、新しいプロジェクトでタイトル通り「PerlプログラムをJavaに変換する」
プログラムをやっています。業務ロジックをJavaに変換するだけなので
大して難しくないと会社から言われてたんですが、Perlの解読に難航してます。
正直、Javaの知識はあります。ですが、3年以上前でSwingアプリでした。
それ以降は、VB6.0とVBAの開発に特化していた為、とても古い知識しか
ないと自分でも痛感していました。
最近はWEBアプリでフレームワークは当たり前のJAVA開発。
独学で少しづつやっていたものの、壁にぶち当たっています。
Perlは尚更経験なんて皆無に等しいです。。。
JavaのSwingまでの知識で、本来PerlをJavaに変換するのって
容易に出来るものでしょうか?プログラム変換の経験者が
いましたら、意見をお聞きしたいです。
開発環境はEclipseで規約等はきちんと設計されてますが。。。
やはり単純なスキル不足なのでしょうか(^^;;
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
『「PerlプログラムをJavaに変換する」プログラム』を作ろうとされているわけではないのですよね?Perlで書かれた既存のプログラムをJavaに変換しようとされているのですよね?
> 業務ロジックをJavaに変換するだけなので
> 大して難しくないと会社から言われてたんですが、Perlの解読に難航してます。
「業務ロジック」というのがどういうことを指すのかで変わってくると思います。CGI のようにユーザーインターフェースが比較的少ないもので、かつ、なにかのライブラリーにべったりと依存しているようなことがなければ、PerlからJavaへは、かなり一対一の対応が付くでしょう。しかし、GUIのライブラリーを呼ぶようなものだと、大変でしょう。
すなわち、言語の素(す)の部分の変換と、ライブラリー(外部関数群)の変換は分けて捉えたほうが良いでしょう。素の部分の変換なら、Javaをやっていて若い柔軟性のあるかたなら一週間ほどPerlをみっちり覚えればなんとかなりそうな気もします。そうすれば連想配列を Hashtable/HashSet に置換するなどのルーチンワークでかなりいけます。ただ、PerlはJavaから見れば奇抜な言語ですので、かなりの柔軟性が要ります。理論づくめで学ぼうとする人にとっては辛いでしょう。
また、画面などのユーザーインターフェースがあると、とたんに難しくなります。ライブラリーもどんなライブラリーを使っているかで違ってきます。移植上の問題点も言語というよりも、どんなライブラリーを使っているかが問題点になります。
あと、PerlだとJavaと違ってデバッガーがないので大変です。ないというかデバッガーを使って統合的に開発するという慣習が少ないので、面食らいます。そういう点で、もとのPerlプログラムの解読も難しいでしょう。
No.3
- 回答日時:
>大して難しくないと会社から言われてたんですが
どうかんがえても難しい。
何も考えずに言ったか、あるいは神プログラマです。
http://www.perl.com/
perlのコード自体はC言語ですし
ものすごい量があるのですよ?(不要な部分を含めてですが約50M)
構文解析だって大変ですし
スカラー型に対応するクラスなんかも必要だろうし。。
Javaに変換するべきperlのコードが相当量あるのだと思いますが
とりあえず、簡単そうなものを一度手作業で変換してみてください。
どういうロジックが必要か想像できるでしょう。
(それが出来ないと話が進みません。)
もし難しいと判断しても
そうすることで
理由を会社に説明することができるでしょう。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- その他(ビジネス・キャリア) グーグルの障害者訓練プログラム募集あるがどうだろ?6時間勤務で月収22万!! 1 2023/02/17 20:36
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- Java JavaでWebページ作成 7 2023/07/21 21:09
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- Java javaでパソコンの内臓カメラや内臓マイクの映像や音をリアルタイムで映し出した 1 2022/07/09 14:02
- オンラインゲーム とても急いでいます。Minecraft Java版についてです。 MinecraftのJava版でマ 1 2023/03/15 21:19
- Java Java 年数計算 3 2023/01/28 10:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダブルクォーテーションのrepla...
-
javaで質問です。 文字列2023/2...
-
javascriptで文字列のsjis利用...
-
byte型のマイナスの扱いについて
-
Path型をString型へ変換する(Java)
-
"\\n"を"<br>"にうまく変換でき...
-
InputStream型のキャスト
-
JIS8の半角かな文字をUnicodeの...
-
半角全角混在データの中の半角...
-
文字列の比較
-
秒数(Long)→HH:mm:ssへの変換...
-
カタカナをローマジに変換する。
-
javaの日本語並び替えについて...
-
文字化け
-
javaで入力したの半角カタカナ...
-
2バイト濁音を1バイト濁音に...
-
エクセルの文字列置換について...
-
Arduino(C言語) String "1101" ...
-
Visual Basic でのコードをASCI...
-
エクセルVBAで「〜」が表現でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
Path型をString型へ変換する(Java)
-
javascriptで文字列のsjis利用...
-
ダブルクォーテーションのrepla...
-
Visual Basic でのコードをASCI...
-
JavaのStringクラスに「外字」...
-
C言語32bitから64bitの移行につ...
-
int型のゼロ埋め
-
byte[] を long,float とかに...
-
エクセルVBAで「〜」が表現でき...
-
文字列の比較
-
UTF-8とUnicodeの互換性
-
COBOLで半角カナを全角カナに変換
-
javaの初歩的な質問です。
-
VBAでアルファベットと記号を昇...
-
Windows-31Jからutf-8への変換...
-
カタカナをローマジに変換する。
-
substring バイト単位でやりたい
-
TEXTAREAからのデータを改行入...
-
カタカナの「ソ」以降の文字が...
おすすめ情報