• 締切済み

プログラム言語はなぜ相互変換できないのでしょうか?

当方perlしか分かりませんが、他の言語を見ると結構共通している部分がありCなども簡単な修正は勉強しなくても出来ます。 人が使う言葉ほどはややこしくありませんし、現状どの辺りが難しく相互変換(例えば、perl⇔php⇔ruby⇔C)が出来ないのでしょうか? また、機械語に翻訳された物であれば、それを逆に辿って好きな言語で表示させるなど素人考えでは出来そうな気がするのですが、どの辺りが難しいのでしょうか?

みんなの回答

回答No.2

例がC言語以外全部インタプリタ言語なのはわざとですか? 共通部分なんてありませんよ。 見た目が似ている文法や同じ名前の関数(メソッド)がたまにあるだけです。 また、言語の構造が異なるので、Perlなら1行で済む処理にJAVAだと5~10行くらい必要だったりします(たとえば文字列の出力)。処理のされ方がまったく違うわけです。 つまり、難しいとかいう次元の話ではなく、変換は不可能です。同じ材料からできているからといって「豆腐と味噌」や「醤油と納豆」が交換がききますか? そういう意味では、機械翻訳なら誰にでもできる分自然言語のほうがむしろずっと簡単です。 もちろん、各言語に精通した人が「同じことをするコードを手作業で書く」ことは可能ですが…。 >機械語に翻訳された物であれば~ たとえばここにひとつのハンバーガーがあったとします。 味や食感を含め、全ては中にある成分で決まっていますが、だからといって「好きな材料からこのハンバーグが作れる」ということになりますか? たとえばここに「60」がセットされたメモリアドレスがあるとします。 この「60」がある2つの定数の乗算結果だとして、逆算して定数Aと定数Bに適切な値をセットできますか?機械語になった時点で「定数Aと定数Bの定義」という情報は消失しています(その値に置き換わるため)。さてそれをどう「逆に辿る」ことができるのでしょうか? つまり、そもそも「逆に辿る」ことはができないので、機械語からC言語などへという変換はできません。 ※とはいえアセンブラ限定ならまあ多少は…

全文を見る
すると、全ての回答が全文表示されます。
  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

PHP等のスクリプト言語であれば、コンバーターを介するよりも作りなおした方が早いという現実がありますね。企業等で大量にシステム移行するならツールの目もありますけど、そうでないなら需要がないです。 >機械語に翻訳された物であれば、それを逆に辿って好きな言語で表示させる 逆コンパイラーという名前でありますよ。 http://ja.wikipedia.org/wiki/%E9%80%86%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9

tanaka_meio
質問者

お礼

回答いただきありがとうございます。 ただ、あくまで理論上ですが、需要について、全世界のプログラム利用者を想定する場合、人力で書き換えるよりも、優秀なプログラムを利用した方がより時間の節約に感じるのです。とりあえず、私も何度か移植したことがあるのですが、他の言語は非常に苦手で無駄に時間ばかりかかります。とりあえず、不格好でも良いので動く物が欲しいと何度思ったことか・・・ 逆コンパイラーについては、Javaで遊んでいた頃、自分で作成したプログラムにつかったことがありますが、驚くほど正確に戻してくれました。 ただ、JavaからPerlなど他の言語への変換は出来ないため残念に感じました。また、世界中には優秀なプログラマーが多いのに、何故出来ないのか、どこに技術的な課題があるのか気になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語にて jpg ⇔ bmp 相互変換

    C言語でのjpg、bmp間の相互変換をしたいのですが、 良い方法 or 画像処理ライブラリはないでしょうか? PHPで実装したいので、ネイティブのC言語のみで書かれているほうが都合がいいです。 VC++などで画像ファイルの相互変換を行っているサイトはいくつもあるのですが・・・

  • おすすめのプログラミング言語を教えて下さい

    昨日、プログラミング言語について質問させて頂きました。その結果、basic、Ruby, JavaScript, Python, Perl, PHP、C,C#,を勧められました。 しかしどれから勉強すればいいかわからず、また質問しようという考えにたどり着きました。 この中の言語ではどれがお勧めでしょうか? また、basicはVB、VBAなどがあり、どれのことを指しているのかが理解出来ないのでそのあたりも教えてくださると嬉しいです。

  • RubyとかPerlとか、、、どのプログラムが今後生きてくるの?

    色々ネット業界で仕事をしていると、 色々なプログラム言語の話を聞きます。 先日もRubyが注目されているような記事がありました↓  http://www.atmarkit.co.jp/news/200902/10/ruby.html が、正直ブログラミングを知らないような私にとって 今後、どのプログラム言語が注目されてくるのか? すらわかりません。背景・理由も含めて教えてください! そもそも、.NET、C++、JAVA、perl、php、Ruby、と ... 色々あるプログラムですが、どんなプログラムには どのプログラム言語が、良いのでしょうか? とりあえずWeb系、モバイル系のプログラム言語はどのあたりが 注目されているのか? 教えてください!

  • PHP Ruby Perl の3言語の特徴 違い

    PHP Ruby Perlの3言語の特徴、共通点、違いを調べてたのですが、今ひとつ掴めません。 分かりやすく解説出来る方、教えて頂ければ幸いです。

  • ブラウザが解読できる言語を教えて下さい html,

    ブラウザが解読できる言語を教えて下さい html,css,javascript他にはどんな言語を読めるんですか? php,ruby,python,perl? C,java? swift,kotlin?

  • プログラミング言語の入門書について

    今、PHPを独学しているんですが、ちょっとした疑問があります。 WEB系のプログラミング言語を選ぶためにいろいろ調べていたとき、 『PHPはPERLがわかれば、大体わかる。』と何かで見ました。 で、 『RUBYはPERLが進化した言語だからRUBYがわかるとPERLがわかる。逆は無理』という話も見たことがあります。 ということは、RUBYをマスターすると色々わかるのでは? と思ったのですが、RUBYの入門書の書評を見ると、『全くの入門者には難しい』とありました。 じゃぁ…とPERLの入門書の書評を見ても同じような内容が… PHPの入門書を調べてもこれまた同じ WEB系のプログラミング言語の入門書~初心者向きの本に良書は少ないものなのでしょうか? ついでに、『入門者にとって、これはいい本だよ』という本があれば教えてください。 ちょっとした疑問なので、お暇な時にでもお答えいただけたら幸いです。

  • スクリプト言語としてのPHPについて

    PHPについてほとんど知らない者です(他の言語もほとんど知りませんが・・・)。 Webで検索していると、Webアプリを開発するLL言語としてPHP, Ruby, Python, Perlを使っているというケースをよく目にします。一方、タスクを自動化するためのスクリプトを記述する言語としては、Ruby, Python, Perl, シェルスクリプトで記述しているケースをよく目にします(Linux/UNIX系)。 そして、PHPはWebアプリ開発言語としてかなりのシェアを占めていそうだが、スクリプト言語としてはそんなにシェアを占めていないのかな? という印象を持ちました。 そこでお聞きしたいのですが、スクリプト言語としてのPHPは他の言語と比較してどのような感じなのでしょうか? PHPはWebアプリ開発言語としてだけではなく、スクリプト言語しても開発現場でRuby, Perl同様に使われているといった感じなのでしょうか? あるいは、WebアプリはPHPで書いてるけど、スクリプトはPHP以外(Ruby, Pythonなど)で書いているという方は結構いるのでしょうか?その場合、何故PHPを使わずに別の言語を使っているのでしょうか? ご意見をお聞かせください。

    • ベストアンサー
    • PHP
  • Perlで書いたプログラムをC言語に変換するツールはありますか?

    perlをEXEにするのは聞いたことがあるのですが Perlで書いたプログラムをC言語に変換するツールはありますか? WindowsのActivePerl5.8を使っています。 Linuxなら出来るのでしょうか?

    • ベストアンサー
    • Perl
  • facebookのプログラム言語について

    プログラムの勉強をして、コミニュケーションを目的としたwebサイトを作りたいと思っています。 ただ、プログラム言語がたくさんあり、どの言語をこれから学ぶべきかの判断がつきません。 ネットで調べるとC,PHP,perl,javascript辺りが私の目的に近そうな気がします。 質問ですが、基礎知識が乏しいため質問が漠然としていたらすみません。 一応、私の目的に近いfacebookを作る言語を教えてください。 facebookは何のプログラム言語で作られているのか? あるいは、どの言語を知っていればfacebookのようなサイトを作れるのか?

  • 今流行りのプログラム言語は?

     今まで少し学習したのはBASIC, Fortran, AWKです。どれもほんの少しです。とりたててプログラム言語を学習しなければならないというわけではありません。  Windows 7でBASICは使えるのでしょうか。何を用意しなければならないのでしょうか。  Perlもほんの少しだけ学習はしました。  今流行りの言語はCでしょうか。C++でしょうか。Rubyでしょうか。漠然とした質問でスミマセン。