A 回答 (6件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
最初はSIMULA67。
しかし当時「オブジェクト指向」という明確な概念はなくて、むしろ(連立微分方程式の数値計算をやるシステム"DYNAMO"なんかと一緒くたにして)「simulation専用の特殊な言語」ぐらいに捉えられていた。「オブジェクト指向」ってのは、コーディング以前の、プログラムやデータの構造をデザインする際のスタイルの問題だろう。言語が大抵何であれ、よくできた「自分ルール」を作って守れば「オブジェクトを意識したプログラム」は書ける。逆に「オブジェクト指向言語」と呼ばれる言語でもアンチ・オブジェクト指向のプログラミングは容易にできる。
一方、(SIMULA67より10年余り遅れて出てきた)「構造化プログラミング(structured programming)」という概念がある。「GOTOを使わないこと」だと勘違いしてる人もいるようだが、そのエッセンスは「プログラミング言語を拡張して、問題を解くための専用の(命令・データ型の)体系を作り、それを使って簡潔なプログラムを書く」ということ。専用の体系を作ることは言語の「自己拡張」とも呼ばれる。少々の処理効率よりも、ソースの可読性や再利用のしやすさを重視しよう、ということでもある。これはその後数年して言い出された「オブジェクト指向」の概念と紙一重だ。
SIMULA67はもちろん、LISPだのFORTHだの、自己拡張なら任せとけ的な言語は古くからある。でも、それらに限らず、大抵の言語なら、「専用の命令体系」としてサブプログラムやマクロのセット(すなわちライブラリ)を整備する、というスタイルで書けばそこそこイケる。
そもそも「指向(oriented)」というユルい表現で呼ばれているのは、そういうモヤモヤした事情を反映してのことに違いない。
だから「オブジェクト指向」というスタイルはあっても、「オブジェクト指向言語」なるものは、それぞれが勝手に掲げている看板に過ぎない。さて、並列処理ではオブジェクトの概念がとても役に立つが、並列処理はJava言語自体ではなくライブラリでサポートされているに過ぎず、それを使うのにはいろいろ注意が必要。この点でJavaはSIMULA67の足元にも及ばず、だから「オブジェクト指向言語」としては看板倒れだ。
…と言っちゃうと過激か?
No.6
- 回答日時:
まあ今時猫も杓子も「オブジェクト指向」だからなぁ.... Fortran や COBOL でさえ.
「オブジェクト指向言語」ってどこからなんだろう. Simula? Smalltalk?
No.5
- 回答日時:
> 無理ゲーですか!ありがとうございました。
うん、無理ゲー。
恐らく「ある程度の割合の人が想定するオブジェクト指向」に付いては何か言えると思えるんだけど、「論じる」って程じゃあなくなるよね。
曖昧なモノに付いて論ずるのは不可能だしアブナイから。
そして、って事は貴方が考える「オブジェクト指向」と出題者が考える「オブジェクト指向」の間にも乖離がある、って事なのね。
こういう場合はさ、出題者が
・俺の定義するオブジェクト指向はこうこうこうなんで、これに付いて論じよ
ってすべきなんですよ。取り敢えず暫定的に定義はこうする、これに対して論じろ、ってすべきなの。
それをヘタに平等感を出す為に
> プログラミング言語の歴史を概観した上で
とか言い出したからおかしくなってんのね。
しかもPython引き合いに出す辺り、実はこの出題者は
「Javaのオブジェクト指向が正しい」
って前提を持ってます(笑)。だから出題が歪なのよ。
ダメな出題の典型例だよなぁ。
No.2
- 回答日時:
学校のレポートであればまず教科書を読みましょう。
そこにご質問に書かれている事柄について掛けるだけの基本的なネタがあるはずです。
ちなみに右も左も分かりませ~んという場合、Googleなどで「プログラミング言語」や「プログラミング言語 歴史」といったキーワードを指定して検索し、各種の解説ページを参照してみるといったことはされましたか?
オブジェクト指向言語、具体的プログラミング言語に関しても同様です。
今の時代。適当(=適切)なキーワードを指定して検索するスキルも大切かと。(_ _;;
で。レポートは人の言葉ではなく自分の言葉でまとめて下さい。
そのスキルを獲得することも大変重要です。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- 日本語 脳科学の奇妙な言語獲得論 2 2022/04/04 13:13
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- 日本語 <代名詞><指示詞>という誤り 4 2022/04/01 11:06
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- その他(ソフトウェア) JavaとOracle Javaって何が違うんですか? 1 2022/05/05 05:46
- その他(言語学・言語) 外国語問題 1 2022/07/21 15:21
- 哲学 ヨリ・イリ・ヨセなる知性の区分からインタムライズム 1 2023/05/03 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Kotlin言語について。
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
C言語とhtmlの違いを どな...
-
COBOLで文字タイプを数字...
-
プログラムに書かれる"%"記号の...
-
Excelの開発言語ってなんですか?
-
VBSとWSHは読み方が違うだけで...
-
vbaとc言語の関連性について
-
Excel VBAで文字化けする (英語...
-
TO_CHARで小数点以下がある場合...
-
HTMLは、プログラミング言語じ...
-
HTTPで .do という拡張子を見つ...
-
プログラムからアイコンファイ...
-
順列の内容をすべて表示するプ...
-
C,C++,C#には共通点があるので...
-
rubyとhsp・・・初心者にお勧め...
-
C言語って古いですか?
-
ホワイトハッカーを目指そうか...
-
C++における継続行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラム言語について c言語...
-
プログラムに書かれる"%"記号の...
-
C言語とhtmlの違いを どな...
-
vbaとc言語の関連性について
-
AIって何のソフトで作っている...
-
UNITY Float型の接尾辞fって
-
COBOLでのNOT = の AND条件
-
TO_CHARで小数点以下がある場合...
-
COBOLで文字タイプを数字...
-
プログラム言語について プログ...
-
C++における継続行
-
swift言語の最適化 swift最適化...
-
VBSとWSHは読み方が違うだけで...
-
C++ ってなんて読む?
-
web2.0以前のインターネットで...
-
Excel VBAで文字化けする (英語...
-
VBSでDim、Private、Publicの違い
-
HTMLとC++で、どんなホームペー...
-
Pythonって何を意識した言語な...
おすすめ情報