C言語の得意不得意なことって何ですか? Javaは、c言語を改善した言語って聞きましたがちがいは、あるのですか?
C言語の得意不得意なことって何ですか? Javaは、c言語を改善した言語って聞きましたがちがいは、あるのですか?
C言語関連・55閲覧
ベストアンサー
C言語は、元々は初期のUNIXで、必要なユーティリティソフト(便利ツール)を、ちゃちゃっと手早く作る為に、 とある人が個人的にやっつけで作った言語です。 その為、いろいろな事を簡潔にかけるように(色々書くのは面倒だ!)、工夫はされていますが、 沢山の人が使っても間違いを起こしにくくする様な、わかり易さや、間違いにくさ、といった点はほとんど考慮されていません。 (どうせ使うのは自分だけ、作った自分は仕様は完璧に把握してる!) 更に当時はプログラミングはアセンブラが当たり前の時代。 当時のプログラマはバリバリにアセンブラが使えたので、C言語の不親切な部分は問題にならず、(アセンブラはC言語の10倍不親切なので) 簡潔にかける、アセンブラに近い感覚でコンピュータを直に扱えるという所が喜ばれ、 C言語は人気を呼び、遂にはUNIX本体すらもC言語で書き直されるほどになりました。 (UNIXを作る為にC言語が作られたというのは誤解です。) OSすらも書ける強力な言語という事で、C言語は幅広く使われるようになりました。 プログラミングと言えばC言語でした。 しかし、それから数十年、神話の時代のアセンブラバリバリな人達も世代交代し、 コンピュータの性能も爆発的に向上して、それに応じてプログラムの規模も複雑になり、 結果、C言語のプログラマはプログラムの隅々までを常に把握してるから、余計なお節介はしない。 という特性が、むしろ大きな欠点として目立つようになってきました。 プログラマはプログラムの全体を細部までは把握できない。 プログラマはミスをする。 プログラマはコンピュータの内部まで把握している訳ではない。 そういう事を前提として作られたのが、Java等の今どきの言語です。 メモリの管理をプログラマに任せずに、言語やシステムが自動的に管理する。 プログラムを小さな単位に分割して、独立性を高めることで、複雑度の上昇を抑制する等の、 様々な改良が施されています。
質問者からのお礼コメント
こんなに説明していただいて、ありがとうございます(*^^*)
お礼日時:1/23 13:21