• 締切済み

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

BuriBuri4の回答

  • BuriBuri4
  • ベストアンサー率28% (150/525)
回答No.1

>どちらもCからの派生みたいなことは知っています。 C++はC言語にオブジェクト指向プログラミングに必要な機能を付け足したもの。なのでC言語の派生と言えるがJavaは全く別物。文法は似ていて通じるところはあるが根本的な思想が違う。 1) JavaはJVM(Java Virtual Machine:Java仮想マシン:実在しないコンピュータのエミュレータだと思えばよい)上で動作します。  JVMが用意されていればWindowsでもMacでもUnixでもLinuxでもプログラムの変更なしに動作します。  Javaは提供形態で大雑把にServlet(サーバーサイドJava)、Applet(Webブラウザに読み込まれ実行されるJava:JavaScriptとは別物)、Application(ローカルコンピュータ上で実行されるJava)に分けられます。  WebシステムはServlet(とOracleの組み合わせ)を利用する事が多く企業内ツールではApplicationも増えてきています。  C/C++はプラットフォーム(実行環境)依存のコードを生成するのでプラットフォームが変わればコンパイルのやり直し(大抵は各プラットフォームに合せた修正が必要、修正自体が不可能な事も多い)が必要  プラットフォームの能力を最大限引き出す事が出来るので、大量のデータを扱う処理(高速処理が必要なシステム)や高度なグラフィック処理が必要なシステム、組み込み系など実行コードサイズを小さくする必要があるシステム等に使用される。 2) 比較するためには比較条件が必要ですが、何を持って「優れている」とするか一概には言えない。  オブジェクト指向言語として比較するならC++が構造化言語であるCの延長上にある都合上「オブジェクト指向とはなにか?」を理解した上でオブジェクト指向になるように使わないとクラス機能を使っただけの構造化プログラムになりやすい。  Javaは最初からオブジェクト指向言語として設計されているのでその点では優れている。

関連するQ&A

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

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

  • オブジェクト指向のプログラミング言語の勉強法について

    オブジェクト指向のプログラミング言語の勉強法について お尋ねします。 iPhoneアプリを作ってみたいと思い、最近プログラミングの勉強を始め、C言語の入門書を一通り熟読しました。そして、次にオブジェクト指向の言語を勉強しようと思っているのですが、iPhoneアプリの開発に用いる言語は「Objective-C」で、他にも開発に使用できる言語として、「C++」や「Java」などいくつかあると聞き、どれから勉強すればいいのか迷っています。 Objective-CとC++やJavaでは、技術的(表現力?)に大きな差はあるのでしょうか?それとも、Objective-Cだけでも十分なのでしょうか? そのほか、まだC言語を勉強したばかりでわからないことが多いのですが、ゲームアプリの開発にどのような知識が必要なのか、また効率のよい学習順序、お勧めの書籍など助言を頂ければ幸いです(__) ちなみに、 ・プログラミングの経験は全くありません。 ・はじめはシューティングなど動的なゲームアプリを作ろうと思っています。 ・妥協せず、基礎からきちんと勉強したいと思っています。

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

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

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

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

  • Cとjavaの違い

    学校でC言語プログラミングを学んでおり,新たにjavaも習うことになったのですが, C言語とjava言語の違いはどのような所なのでしょうか? java言語は「オブジェクト指向」ですが,C言語は何指向なのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 関数型言語の普及について

    関数型言語の普及について 趣味でプログラミングを勉強しているものです。今までにJavaやRuby等、オブジェクト指向言語を中心に勉強してきました。 今日、あるきっかけで関数型言語のHaskellを勉強し始めました。 そして、実際にプログラミングをしてみたり、関数型言語について調べてみると、まだ大きなアプリは書けないものの、今までのやり方(手続き指向、オブジェクト指向)が不要なのではないかと危惧する程の斬新さ、強力さが感じられました。 しかし、そんな関数型言語も未だに普及しているとは到底言えません。Haskellは関数型言語の中でも新しいもののようですが、それでもJava、Rubyよりも昔に発表されている言語です。 どうしてHaskell等の関数型言語は主流になっていないのか、関数型言語が従来の言語に劣っている点を中心に、皆さんの意見を聞かせてください。

  • オブジェクト指向で作るプログラミング

    オブジェクト指向プログラミングで作るものってどんなものですか??(たとえば、、、ゲームとか、エクセルとかですか??) あと・・・Cを勉強してから、javaにいく人がいますが、Cとjavaは似ているのですか??

  • Javaにおけるオブジェクト指向とは?

    現在Javaを勉強しております。 以前はC言語を勉強しておたのですが、 JavaとCの違いにおいてJavaの特徴としてオブジェクト指向と習いました。 しかしいまいちこのオブジェクト指向を理解できません。 プログラムを一つのまとまりとして考えるというのはどういうことなのでしょうか? 確かにJavaはC言語とは違いいくつかのプログラムからできている (はず?見当違いだったらすみません) C言語が一つの大きなプログラムでできているとすると、 Javaは細かいプログラムの集合体であると私は考えていました。 この細かいプログラムの集合体というのがオブジェクト指向なのでしょうか? 全くの見当違いだったらすみません。 よろしくお願いします。 

    • ベストアンサー
    • Java
  • プログラミングのセンスをあげたい

    C、C#、JAVAを勉強してきたのですが自分のセンスの無さに 愕然としています。授業ではJAVAで電卓を作っているのですが正直1人でできそうではありません。 それ以外にも自分で、仕様書などは作らずにオブジェクト指向言語で作っているのですができません。 最近作って挫折したのは小遣い帳です。 Excelで作ることは出来ると思います。 あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 プログラミングのスキルをあげるにはどうすればいいのでしょうか?

    • ベストアンサー
    • Java
  • Macでプログラミング

    中学生です。PC等の知識はかなりある方だと思います。 今までWindowsでJavaを使ってのプログラミングを入門程度にやってきました。しかし、Macに乗り替え、また、将来的にiPhoneアプリの開発をしたいと思っています。UNIX系のコマンドも分かりませんし、iPhoneアプリの開発言語はオブジェクトCなので、これからそちらを勉強しようと思い始めました。もちろん、途中でJavaを投げ出すのには抵抗があったのですが、この方法が一番合理的かな、と思っています。 そこで質問ですが、オブジェクトCとC言語はどう違うのでしょうか。互換性はあるらしいですが、どのように勉強したらいいか分かりません。また、違いがあったとして、片方勉強すると、ごっちゃになったりしませんか? Mac向けのいい書籍を御存じの方も教えてください。