• ベストアンサー

C言語より後に開発されたプログラミング言語は

C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

ちょっと面白いものがあります http://gigazine.net/news/20070126_computer_languages_history/ 影響は受けるでしょうが、「C言語を基に」というのはちょっと違うと思います。 ただ、関数名だけに注目した場合は別の理由もあります。 関数名は、その関数の機能を表わすような名前を付けるのが普通です。 その際、英単語がよく使われます。数学関数だと、数学用語がそのまま使われます。 そのため、同様の機能の関数は、同じ英単語/数学用語が元になることが多く、結果、同じ関数名になることが多いです。 例えば、sin関数なら、数学のsinから来たもので、特定プログラミング言語の影響とは考えにくいです。

settu1300
質問者

お礼

ありがとうございました。 確かに、全く同じ意味を持つ英単語が二つあるわけはないですよね。納得です。

その他の回答 (4)

回答No.5

Java の printf とかのことかな? 基本的には、関数名は前に開発されたライブラリを参考にすると 思いますよ。いちいち再発明していたら迷惑でしょうし、 同じ機能で同じ名前なら覚えやすいです。 もちろんそうでないものもたくさんあります。 Javaやjavascript と C は記法はよく似ている部分もありますが、 設計思想は天と地ほども違います。似ている部分も言語全体から見れば ほんの一部です。 Javaとjavascriptも設計思想が大きく違う言語です。 慣れ親しんだ記法を借りて別のものを作ったというほうが現実に 近いと思います。 式とか制御構造の記述が似ているととっつきやすいというのが 似せた理由だと思います。

settu1300
質問者

お礼

ありがとうございました。 既存の言語を習得した人が、新しい言語を習得しようとする時の利便性を考えてのことだったんですね。

  • root139
  • ベストアンサー率60% (488/809)
回答No.4

> C言語を基にして開発されたのでしょうか? 後の言語に強い影響を与えた、と言った方が適切でしょう。特に、コードブロックは波括弧でくくる、変数宣言では型名を変数の前に置く、といった構文については、そのまま踏襲されるケースも多いですね。C言語以前から存在する構文でもC言語が採用したから広まったという面が強いのでは? また、JavaやC#などは、C/C++ユーザに受け入れられ易くするために、C/C++に似た構文を採用したのだと思われます。 ruby のまつもとゆきひろさんが書かれた記事などは参考になるかと。 http://www.itmedia.co.jp/enterprise/articles/0703/26/news021.html http://itpro.nikkeibp.co.jp/article/COLUMN/20060825/246464/?ST=ittrend http://www.amazon.co.jp/dp/4873114713 http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm

settu1300
質問者

お礼

ありがとうございました。 おっしゃる通り、確かに文法は踏襲されていますよね。紹介して頂いたサイトで勉強していきます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

言語によります。 Cも、FortranやAlgol等という50年くらい前の言語の影響を強く受けています。 大抵の言語は、それ以前の何らかの言語の影響を受けています。 Cの影響を受けているかどうかは言語による。

settu1300
質問者

お礼

ありがとうございました。 Cですら、それ以前の言語の影響を受けているのですね。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

あと、LISPの流れを組む言語では、Cの影響はあまり見られません。

settu1300
質問者

お礼

ありがとうございました。

関連するQ&A