• ベストアンサー

異なるプログラミング言語を連携する手段はある?

異なるプログラミング言語を連携する手段はあるでしょうか? 例えば、JavaでGUIの処理を書いておいて、計算をC言語で書いておく。まず、C言語で処理させてその結果をJavaが受け取りJavaのGUIで表示する。のような。 よろしくお願いします。

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

やり方は色々とあります。 一つのプログラムにまとめる方法は言語と環境に依存します。 JavaからC言語等のルーチンを呼び出すのはJNI(Java Native Interface)を使えばできます。他のたとえばFortranからCのルーチンを呼び出すことやその逆などはコンパイラやリンカなどの処理系依存です。 それぞれを別のプログラムで書いて、ファイルやパイプやプロセス間通信機能などを使って連携することもできます。ファイルによる連携は速度は遅くなりますが、色々な言語で処理系への依存が少なく実装できるので結構役立ちます。

その他の回答 (2)

  • tetsumyi
  • ベストアンサー率26% (1855/7084)
回答No.2

C言語で処理させて、っC言語が処理できる訳ではありません。 C言語で作成した実行ファイルで処理すると言うことになります。 これはつまりC言語でDLLを作成してJavaからこのDLLを呼び出すことで、これは普通に行われています。 フリーソフトで便利なDLLがいくつも公開されています。

回答No.1

あるのか,という事に対する答え自体が, ・何と何を連携させたいのか ・どの環境下で連携させたいのか で回答が変わると思います。 例示された物ですと,JNIがあるので「ある」が回答になります。

関連するQ&A

  • C言語でのプログラミングについて

    C言語でのプログラミングについて これまでJavaでよくプログラミングをしてきたのですが、最近Cもよく使っています。 しかしJavaに慣れすぎたのか、Cで大きなプログラムを作ろうとすると、どうすればいいのかよく分かりません。 HeaderファイルはJavaでいうと継承みたいなもので、複数のファイルに同じ機能を持たすときに使うのでしょうか? Javaではクラスがありそれぞれに役割がありますが、Cの場合はファイルごとに大まかな役割を分けるのでしょうか? (例えばユーザーからインプットを取ってくるファイルをgetInput.cで、それを処理するファイルをvefiryInput.cというようにするのでしょうか?) C言語でのプログラミングの仕方を教えてください。

  • プログラミング言語の住み分けについて

    はじめまして。ほぼ初心者です。 某書籍の一文なのですが、 A君「博士!CGIはPerlでつくるものなのですか?」 博士「いや、別にCでもC++でもなんでもいいんだよ」 私{・・・(メダパニ&コンヒュ)} 私{CGI・・・Common Gateway Interface、ということは、APIのようなものか?GetメソッドやらPostメソッドでのデータを受信?して処理できれば言語は何でもいい、ということだろうか???} 前提として、 言語は C/C++ Java Perl PHP Ruby VB(や.net系) ジャンル 組み込み系 Web系C/S(C側 S側) 非Web系C/S(C側 S側)(…クライアント側にWebブラウザを使わないものの意味です) 単体アプリ C/C++ C++はオブジェクト指向で、最もマシン語に近い。処理高速。 Java オブジェクト指向 WriteOnce(非OS依存) 処理時間は??? Perl 文字列処理が得意らしいが、たいていのことはできる??? PHP htmlに埋め込んで使うらしい。PHPのみのアプリはあるのか不明。 VB(や.net系) MS製品上でしか動かない。 ※Javaは、処理内容や動作環境によって、JSPとかAppletとか呼ばれる という知識があります。 ここで、疑問なのですが、これらのプログラミング言語の住み分けはどのようになっているのでしょうか? 私の持っている答えと疑問は以下のとおりです。 ・組み込み系ではマシン語に近いC/C++が使われる  ⇒組み込み系以外ではC/C++は使われないの?LinuxOSはアセンブリ?言語とC言語だったような。。OSに近い処理をするアプリではC/C++も現役? ・「いまやWebアプリ開発といえばJavaである」と偉い人が言っていた  ⇒RubyとかPHPとかとの住み分けはどのような感じ?"大は小を兼ねる"で、Javaさえできれば、RubyやPHPと同じものを作れるの?(手間隙は別として) ・サーバーサイドJavaという言葉があるくらいだから、Web系、非Web系を問わず、C/SシステムではC側もS側もJavaで作るのがよいの? ・Perlを用いて、文字列処理やテキスト処理を他の言語よりも簡易に処理することができる。GUI開発はできない。  ⇒Linux上でも動くアプリのGUI開発は、C/C++か、Javaでないと作れないの?(MS.netはMS製品上でしか動かないGUI開発なので除く)  ⇒例えば、FirefoxとかThunderBirdなんかはJava?それともC++? ・VB.net、VC#などはMSの製品上でしか動かない。  ⇒MS依存言語というところにあまり魅力を感じないのですが・・・。  ⇒Javaと例えばVB.netとで、同じアプリを作るときに、手間隙が同じだったらJavaで作ったほうがいいんじゃないの?それともその「手間隙」が大きく違ってくるの? ・Perlは文字列処理に強い。シェルの上位版みたいな感じらしい。  ⇒PHPとRubyのウリは一体何?Rubyはオブジェクト指向がウリらしいけど、オブジェクト指向の言語ならC++とJavaとか.netがあるし。。 ちょっと脱線します。 ・JavaScriptとhtmlで、Ajaxを作れる。動的な表示もお手の物。  ⇒ますますPHPとRubyの住み分けがわからない。。 まだまだいろいろあるのですが、脳内整理が出来てません・・。 各言語の得意とするところ(長所・短所)、Web系、非Web系C/Sシステムにおけるそれぞれの言語の住み分け、単体アプリはどれでも作れるのか。GUI開発をするにはどれがよいのか。。。 などなど、いろいろ調べたのですが、キチンと住み分けを図表示してくれているサイトはありませんでした。そもそも住み分けを図表示すること自体が無理なのかな?とか思ったりしました。 乱文で申し訳ありませんが、アドバイスをいただけたらと思います。 よろしくお願いいたします。

  • 新言語プログラミング2005?

    以前にC/C++言語・Javaプログラミングを勉強したことがあるのですが、今は違う業界にいて、最近では何のプログラミングが最新なのか分かりません。 「これから」という新言語プログラミングを、誰か知っていたら教えてください。 ちなみに、C言語とJavaの検定・2級を持ってます。

  • プログラミング言語の質問です

    プログラミング言語の質問です プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

  • プログラミング言語の質問です。

    プログラミング言語の質問です。 プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

  • プログラミングをするならどの言語

    こんにちは宜しくお願いします。 40歳近い私は、BASIC等でプログラムを組んだ世代ですが 最近新しいプログラミング言語を覚えようと思っております。 用途にもよると思いますが、お勧めのプログラミング言語が ありましたら、教えてください。 自分では、JAVAとかC++とかなのかなと思っています よろしくお願いします

  • JAVAはどんなプログラミング言語を用いて開発されたんですか?

    JAVAに関して質問があります。 (1)JAVAはどんなプログラミング言語を用いて開発されたんですか? (例えばC言語で作成されたとか) (2)JAVAで作られたプログラミング言語とかはありますか? (例を挙げるとRubyやHSPはC言語で書かれているとか、なでしこはDelphiで書かれているとかです。)

  • プログラミング言語について

    コンピューター関連に詳しい人にお聞きします。 最近プログラミングに興味がわいてきました。 調べてみるといろいろな言語があるということが分かり、うぃきなどで調べてみたのですが意味が分かりませんでした。 javaやc、c++,phpなど実生活ではどのような場で使われているのでしょうか? それと俗にプログラマーと呼ばれる方々は、それらの言語すべてに対して知識があるのでしょうか? またプログラミング言語同士には、なにか繋がりがあるのでしょうか?例えばc++はcの派生といったようなもの。 回答よろしくお願いします。

  • プログラミング言語についてです。

    私はプログラミング言語を勉強しようとしていますが、cかjavaをしようとしてます。 最終的にはどちらもできるよう努力しますが、どちらからしたらいいのでしょうか? それと、cとjavaって似たようなとこってありますか? 教えてください。

  • プログラミングを始めようと思います。どの言語からやればいいでしょうか?

    プログラミングを始めようと思います。どの言語からやればいいでしょうか? プログラミングを始めようと思っています。 でもどの言語から始めればいいのか、基礎知識は何が必要か、 どこから手をつければいいのか分からなくて・・・ いろんな質問やサイトを調べたら javaかCかVB のどれかからやった方がいいと あったのですが、 超初心者はどれから始めたほうがいいんでしょうか? あと、プログラミングを始めるのにあたって 必要な基礎知識は何でしょうか? これは調べた質問・サイト全て 言っていることが違うので・・・ いろんな人の回答がほしいです。 宜しくお願いします。

専門家に質問してみよう