[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 10:54 / Filesize : 242 KB / Number-of Response : 947
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【オブジェクト指向】言語学習が先?概念学習が先?



1 名前:デフォルトの名無しさん [04/01/10 14:56]
VisualBasicやCといった手続き型言語をずっとやってきた人が、
C#やJavaといったオブジェクト指向言語をマスターする場合
オブジェクト指向の概念・概論を学ぶのが先がいいのか、
それとも、C#やJavaの言語を学ぶのが先がいいのか、
どっちがいいと思われますか。


2 名前: [04/01/10 14:57]
実は私が今そうで、ずっとVBをやっていたのですが、
時代の流れもあって、C#を勉強を始めました。
C#の言語を勉強していると、
「オブジェクト指向とはどういうものかを知らないと効率悪いよな」と思い
憂鬱なプログラマのためのオブジェクト指向開発講座って本を読み始めたら
「やっぱ、言語を知らないと効率悪いよな」って思うようになって
鶏が先か、卵が先か状態になってしまいました。
皆さまは、どのようにマスターされました?

3 名前:デフォルトの名無しさん mailto:sage [04/01/10 15:03]
単発スレにマジレス。

概念、言語仕様を学ぼうとするのはどちらが先でも結構だが、
結局一番重要なのは実践であってそれは本では学べない。

よって、さっさとそのC#とやらを使え

4 名前:デフォルトの名無しさん mailto:sage [04/01/10 15:08]
漏れも単発スレにマジレス。

>>3
> 結局一番重要なのは実践であってそれは本では学べない。

あと、いい先生に逢うこと。
実践から得られた経験を整理して理解する時間と、
それを助けてくれる先生を得ることが大切。


5 名前:デフォルトの名無しさん [04/01/10 15:46]
>>1
習うより慣れろ。阿都市ね。

6 名前:デフォルトの名無しさん mailto:sage [04/01/10 16:59]
概念だけ覚えてもプログラムは作れない
言語だけでも、プログラムにはなる

7 名前:デフォルトの名無しさん mailto:sage [04/01/10 17:05]
じゃーオブジェクト指向言語を学ぶ必要は無いな

8 名前:デフォルトの名無しさん [04/01/10 19:20]
>>4

プログラミングは独学でも学べるぞ

9 名前:デフォルトの名無しさん mailto:sage [04/01/10 19:28]
OOの何が難しいのかが俺には分からない。
手続き型言語と基本的には同じだと思うんだが。


10 名前:デフォルトの名無しさん mailto:sage [04/01/10 19:48]
>>9
> 俺には分からない。
分かるように努力していない奴には
一生分からない。



11 名前:デフォルトの名無しさん mailto:sage [04/01/10 20:04]
>>10
少なくともお前よりは出来るし分かる。

12 名前:デフォルトの名無しさん mailto:sage [04/01/10 20:09]
>>11
ぷぷぷ。出来ない奴の気持ちがお前にはわからないってことだよw

13 名前: [04/01/10 20:14]
>>3 >>4

実践の場ですか?
実業務は、まだVisualBasicを使っているので、
(近いうちにC#に移行という話は出ている。
話が出ているだけで、誰もやろうとはしない・・・)
仕事としてはありませんが、
フリーウェアでソフトを作るなりして
実践の場を、作っていこうと思っています。

先生は当然いません。
周りでC#もJavaもつかっている人がいないから


14 名前:デフォルトの名無しさん mailto:sage [04/01/10 21:27]
>>13
VB使えるならデータ中心的なプログラムスタイルは分かってるだろう。
後はただの言語仕様のお遊びだ。気負うことはまったくないと思われ。

スレ立てる暇あったらJDKインストールして適当な入門書買ってこいと。

15 名前:デフォルトの名無しさん [04/01/10 21:34]
うるせえ、いいから書いてコンパイルして走らせろ。
話はそれからだ

16 名前:デフォルトの名無しさん [04/01/12 21:13]
OO(OOAとか含まれる)じゃなくて、OOPするなら、
OO概念とプログラミング両方書いてある入門書で両方学べ。両方だ。
あと、先生がいないなら、JAVAのよいソースを読め。つか、先生なんてふつういるか?
あと結城のデザパタ盆とか呼んで実践してみるのもOOセンスつくかもな。
そしてOOの考え方やOOでの書き方で疑問がわいたらここでもどっかでもスレに書け。
運がよければよい叩きをしてくれる椰子が現れるだろう。

17 名前:デフォルトの名無しさん mailto:sage [04/01/12 21:14]
>>16
本厨か・・・

18 名前:デフォルトの名無しさん [04/01/12 21:19]
本中って何?

19 名前: mailto:sage [04/01/12 22:23]
動くようにgotoでバシバシ飛ばしちゃえば、gosubなんていらねーんだよ。
うへへ、俺は天才だぁー。

20 名前:デフォルトの名無しさん mailto:sage [04/01/12 22:25]
>>19
まぁ、ある意味事実だ。



21 名前:つぐみ mailto:sage [04/01/12 22:39]
スパゲッティは自分のだけにしてよね。シッシッ。

22 名前:デフォルトの名無しさん mailto:sage [04/01/12 22:50]
必要になってから身につければ良いのでは?<OO手法
必要になってから身につけたのでは遅いかも。<言語

23 名前:デフォルトの名無しさん mailto:sage [04/01/12 22:54]
OO手法ってOOAとか?
つかOO手法が必要になる時ってどういうとき?
>>19 は事実だよ?

24 名前:デフォルトの名無しさん mailto:sage [04/01/12 23:03]
人とオブジェクトを共有する手法<OO手法

25 名前:デフォルトの名無しさん [04/01/12 23:39]
> 1
どっちがいいと思われますか。

smalltalk(VisualWorks or Squak)を勉強すれば、両方習得
できると思うけど。


26 名前:デフォルトの名無しさん mailto:sage [04/01/12 23:42]
プログラミングをはじめてやるという奴にはSquakはいいんだけどね・・・

27 名前:貧乏紙 [04/01/12 23:53]
「憂鬱なプログラマのためのオブジェクト指向開発講座」
すごい名前の本!!!

28 名前:デフォルトの名無しさん mailto:sage [04/01/12 23:56]
Squakから始めるとギャグみたいなコード書くようになってSquakから抜けられないと読んだことがある俺は小咄未経験。


29 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:05]
Smalltalk, Squeak ね。言語より概念より、実装から入った方が良いんじゃね?

30 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:09]
>27

いや、それめっさ定番の本なんだが...。
興味を持ったあなたは運がいい。ぜひ一読をおすすめします。

...とマジレスしてみる。



31 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:11]
結論:

実装⇔概念
のスパイラルで。

32 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:21]
よくSmalltalkを勧めるヤシがいるが、Smalltalk系のOOがC++/Java系のOO以上に
広まることがあるだろうか。実用を考えればやっぱり後者では?
sumim.no-ip.com:8080/wiki/414
マイナーな世界で純粋を遊びたいなら、Smalltalkなぞ汚くてやってられん、という人も多いし。
pc2.2ch.net/test/read.cgi/tech/1070886635/

33 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:35]
Smalltalk を勧めるのはデザインパターンとかのからみもあるのでは。

34 名前:デフォルトの名無しさん mailto:sage [04/01/13 00:36]
>>31
激同。概念だけだと、犬が「ワン」猫が「ニャー」の話で終わる。

そう思って憂鬱本と同じアプローチで社内研修をやってみた。
コードはJava用とVB.NET用と両方用意、VBしか知らない人のためのコードの説明も加えた。

…生粋のCOBOLerから「わからん」と苦情がきますた…

35 名前:デフォルトの名無しさん mailto:sage [04/01/13 01:11]
>>33
GoFならJavaでも++でも出来んじゃん。って事ではなくて?

36 名前:デフォルトの名無しさん [04/01/13 02:15]
欧米のOOコミュニティではSmalltalkは現役だから。
プロトタイピングしやすいし、概念やデザインの説明に Smalltalk 使われたりするし。

37 名前:デフォルトの名無しさん mailto:sage [04/01/13 04:59]
>>36
ソースプリーズ。
つか、OOコミュニティって何よ?小咄コミュニティとか言う落ちじゃ?

38 名前:デフォルトの名無しさん mailto:sage [04/01/13 05:36]
oopsla とかに出かけていく奴らじゃねぇの?

それより、C++ と Java を一括りにして、Smalltalk と線引きしている基準が分からん。
>Smalltalk系のOOがC++/Java系のOO以上に


39 名前:デフォルトの名無しさん mailto:sage [04/01/13 05:52]
Kent Beck とか Ward Cunningham は Smalltalker だよね。

40 名前:デフォルトの名無しさん mailto:sage [04/01/13 09:48]
GoF本のRalph JohnsonもSmalltalkerだし
サンプルコードにも結構Smalltalkのが入ってるな。




41 名前:デフォルトの名無しさん mailto:sage [04/01/13 11:02]
36って恥ずかしい

42 名前:デフォルトの名無しさん mailto:sage [04/01/13 22:55]
ANSI 準拠の言語で、もっとも早くオブジェクト思考の機能を言語使用に
盛り込んだのはCommon Lisp。
よってLispをしなさい。

43 名前:デフォルトの名無しさん mailto:sage [04/01/13 22:57]
>>42
ANSIって言語機能の標準とか規定してたの?CLRみたいだな。

44 名前:自分で整理できてないが mailto:sage [04/01/15 19:54]
>>38
C++,Java データ型が思考のベース。
小噺   なにはなくともオブジェクトとメッセージ送信ありき。
前者は、問題対象がオブジェクトの世界。後者は問題記述空間が(も?)オブジェクトの世界。
で、後者が半端だという人達は、pc2.2ch.net/test/read.cgi/tech/1070886635/ へ。


45 名前:名無しさん@Linuxザウルス [04/02/18 21:02]
こんな感じで概念が学べるなら楽しそうでいいんだが



[190]名無しさん@Linuxザウルス<>
04/02/16 21:49
>>184
妹クラスを作って12人の妹を派生させて

呼びかけると
お兄い様
お兄いちゃん
お兄いたま
(ry

と応答させて
おお ポリモーフィズム マンセー!!

という感じで理解しろという事かな


46 名前:デフォルトの名無しさん mailto:sage [04/02/18 21:24]
>>45
俺ならそんなもんが出た瞬間速攻でPC叩っ壊す。

そして氏んでくれ

47 名前:最凶VB厨房 mailto:sage [04/02/18 21:36]
>>45
お前の発想はキモイ。

48 名前:デフォルトの名無しさん mailto:sage [04/02/18 23:44]
28 名前: デフォルトの名無しさん 投稿日: 03/05/21 10:00

フサギコはギコ猫のサブクラスだから、
フサギコクラスを作るときに「フサフサだぞ」メソッドを記述すれば、
ギコ猫から継承したメソッド「逝ってよし」「ゴルァ」が存在し、
(さらに)フサギコ特有のメソッド「フサフサだぞ」が存在するクラスになる。

49 名前:デフォルトの名無しさん mailto:sage [04/02/18 23:49]
>>48は基礎。>>45に到達して初めてOOのおもしろさが分かる。

50 名前:最凶VB厨房 mailto:sage [04/02/19 00:07]
キモイやつだけがわかるOOのおもしろさを語られてもねぇ。



51 名前:デフォルトの名無しさん mailto:sage [04/02/19 18:52]
馬鹿か!!
オブジェクト指向ってなんだよわかんねーとか言ってるやつは
明らかに実戦不足なんだよ!
実戦経験が豊富であれば、自然とわかるものなんだよ!!

52 名前:デフォルトの名無しさん mailto:sage [04/02/19 23:01]
>>51
そうだな。実践で生半可なOOを振り回すと火傷する。

53 名前:デフォルトの名無しさん mailto:sage [04/02/21 15:09]
>>51>>52は反対のことを言ってる気がするんだが。
どちらかというと>>52に同意

54 名前:デフォルトの名無しさん [04/02/22 01:46]
> 51
オブジェクト指向言語て、Cや、Pascal、Fortranのよう
な手続き型に
1.構造体のメンバーに対して、アクセス制御ができる。
2.ダウンキャストができる。
3.(引数が違えが)同じ名前の関数を何個定義できる。
を仕様として加えただけだ。

cで書かれた有名なopen sourceソフトを解析すると、
2.3はトリッキーな事をしない限り無理だか、1は、
自主的に制御している。


55 名前:デフォルトの名無しさん mailto:sage [04/02/22 01:47]
>>54
オーバーロードとOOって関係あるのか?

56 名前:デフォルトの名無しさん mailto:sage [04/02/22 01:58]
て言うか、>>54>>52 が指摘してるタイプの奴だと思う。

57 名前:デフォルトの名無しさん mailto:sage [04/02/22 10:57]
Javaでオブジェクト指向を学ぶならJavaの基礎的な言語学習から始めた方が
わかりいいな。
「独習Java」でもそこそこいけるもんかな。
それから他の本に手を出すという要領で。

C言語経験者ならちょっとだけJavaの基礎をしっておけばすぐにとびつける。

58 名前:デフォルトの名無しさん [04/02/22 11:17]
ぶっちゃけ、オブジェクト指向を学ぶなら
結城浩の「Java言語で学ぶデザインパターン入門」でも
かなりの収穫はあると思うが。


59 名前:830 mailto:sage [04/02/22 11:23]
りんごの色=赤い プロパティ。
りんご 投げると放物線を描いて飛んでいく。がメソッドだよ。

このりんごを派生させんのが、ポリもフィズ無だ簡単だ。

60 名前:デフォルトの名無しさん mailto:sage [04/02/22 12:54]
>りんご 投げると放物線を描いて飛んでいく。がメソッドだよ。
メソッド名に具体的な挙動まで定めちゃったらポリモルのしようがないと思うのだがどうか?



61 名前:デフォルトの名無しさん mailto:sage [04/02/22 17:32]
メッセージとメソッドは別
「投げる」メッセージを受信すると「放物線でとんでく」メソッドを起動するんならいいんじゃない

62 名前:デフォルトの名無しさん mailto:sage [04/02/22 17:35]
>>61
それなら良いんだが>>59からそれが感じられないんで

63 名前:デフォルトの名無しさん mailto:sage [04/02/22 17:40]
object '宇宙のリンゴ' implements method '投げる' invokes '直線で飛んでいく'

64 名前:デフォルトの名無しさん mailto:sage [04/02/22 17:44]
object: '宇宙のリンゴ' accepts message: '投げる' invokes method: '直線で飛んでいく'

65 名前:デフォルトの名無しさん [04/02/24 20:18]
>>45
よかったな、おまえ向きの連載がはじまったぞw
pc2.2ch.net/test/read.cgi/tech/1049778124/205-

66 名前:デフォルトの名無しさん [04/05/02 00:43]
UML勉強して、GOF本、リファクタリング読んで、
どっちもそれなりに理解していろいろプログラム組んでる
んだが、他にOOP関連で勉強しておいた方がいいモンて
ある?

67 名前:デフォルトの名無しさん mailto:sage [04/05/02 02:00]
OOプログラミングはなぜ使いやすいかって考え出すと非常に難しい

ポリモーフィズムによる一貫性が、人間にやさしいと思うんだけどね

真の人間の生理学を知らないと分からないと思う

OOプログラミングやると勝手にプログラミング上手くなっていくっていうのは
もともと人間に備わっている能力を引き出すからだと思う

もともと備わってる能力を知るってのは、こりゃ難しい やってみないとわからないんだから
やってみると意外とできてしまうってのは不思議だ

68 名前:デフォルトの名無しさん [04/05/02 02:02]
んでまぁ、プログラミング覚える一番の早道はOOな言語でOOなライブラリを使ってプログラミングすることだと思うよ

身につけるっていう感覚に近い 数学の解き方覚えるようなもんだ

69 名前:デフォルトの名無しさん mailto:sage [04/05/02 02:09]
おもむろに Java、C#、Ruby のどれかでプログラミングをする。
ある程度書いていると「何か違うなぁ」の壁にぶち当たる。
そこでオブジェクト指向の概念本、デザインパターン本を読む。

これが一番近道だと思う。概念から入るのは余りお勧めできない。
「オブジェクト指向のほうが自然で楽だわ」という感覚を体感できないから。

70 名前:デフォルトの名無しさん mailto:sage [04/05/02 03:03]
そして速度を求め初めてCやアセンブラに回帰する



71 名前:デフォルトの名無しさん mailto:sage [04/05/02 03:35]
>>70
ただの回帰に見えるが実は螺旋の構造になっている。
戻ると1つ上のステージになっているでしょう。

72 名前:デフォルトの名無しさん mailto:sage [04/05/02 04:47]
>>67-71
未消化丸出し

73 名前:デフォルトの名無しさん mailto:sage [04/05/02 11:36]
>>72

消化できてる香具師なんているのか

74 名前:デフォルトの名無しさん mailto:sage [04/05/02 20:47]
実践が先です。

75 名前:デフォルトの名無しさん [04/05/02 21:03]
コードを書かずに覚えることはできません。

76 名前:デフォルトの名無しさん mailto:sage [04/05/03 01:01]
続きはこちらで

pc5.2ch.net/test/read.cgi/tech/1041658161/

77 名前:デフォルトの名無しさん mailto:sage [04/08/21 08:17]
BASICから始めて、C言語とかそういうパターンでやってた人は
カプセル化とか、ポリモーフィズムとか言う概念が言語で実装されてるのみたら
すぐに飛びつくと思うんだよね。

なんて言ってもそれで一番苦労するから
というわけで概念に一票

78 名前:デフォルトの名無しさん [04/11/03 16:35:28]
保守

79 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:35:21]
こんな糞スレ保守してな(ry

80 名前:デフォルトの名無しさん [04/11/04 01:02:35]
>>67

そういう考えは、間違ってはいないが、しかし、それがオブジェクト指向を困難にしていると思う
「オブジェクト指向でなぜ作るのか」を読むと、その敷居をとりさってくれるよ。



81 名前:デフォルトの名無しさん [04/11/04 01:17:17]
オブジェクト指向とは働き蟻が効率的にモジュール=クラスを利用するための技術なので
概念や哲学は必要ありません。

82 名前:デフォルトの名無しさん mailto:sage [04/11/04 01:24:51]
「オブジェクト指向でなぜ作るのか」って本は大分前に本屋で立ち読みしたんだけど
手続き型のプログラミングではグローバル変数を除去出来ないとかいう
ふざけたことが書いてあったんで俺の中では糞本認定されてます。

83 名前:デフォルトの名無しさん mailto:sage [04/11/04 06:28:11]
生まれたときからTVがあったような奴にはラジオの有難味は分からんて

84 名前:デフォルトの名無しさん mailto:sage [04/11/04 06:50:22]
まったく。
グローバルな破壊的代入を制御し隠蔽するためにどれだけの苦労が払われてきたか理解できないのだろうな。

85 名前:デフォルトの名無しさん [04/11/07 16:12:17]
>>1
きみ自身が
「手続き型言語をずっとやってきた人が、
C#やJavaといったオブジェクト指向言語をマスターする場合」
なんて事を前提にしているんだから、
オブジェクト指向の概念・概論を学ぶのが先がいいに決まってる。

さもないとこういうマヌケなことになる。
pc5.2ch.net/test/read.cgi/tech/1055075469/83-85


86 名前:デフォルトの名無しさん mailto:sage [04/11/07 18:49:36]
もうあきた

87 名前:デフォルトの名無しさん mailto:sage [04/11/07 18:50:11]
なんで同じようなことを別スレでなんどもなんども…

88 名前:デフォルトの名無しさん mailto:sage [04/12/11 00:25:56]
学習もスパイラルがいい。作りながら概念も同時に学べ。
どっちかが先とか言う奴は糞ウォーターフォール推奨者。

89 名前:デフォルトの名無しさん mailto:age [05/02/05 10:31:17 ]
age

90 名前:デフォルトの名無しさん [2005/04/10(日) 02:40:23 ]
自分の意見を言わせていただきます。
『概念学習』を先にしたほうがいいと思います。

自分C言語はできたのですが、学校でJavaを習っていた時全く理解できませんでした。
よく言われるような『どこが分からないのか分からない』状態でした。

でどうしても分からないままでいたくないのでオブジェクト指向の載っている本を2,3冊買いました。(多分悪書の部類の本)
全く理解できませんでした。
長々と説明されているのですが、全く理解できませんでした。

でも日経系の本でオブジェクト指向のことが書かれている記事を見ていたら『あれ?もしかしたらこういうことかな?』と
うっすらと分かりかけてきたところを何度も見ていたら理解できるようになりました。
急にわかるようになってくると今までやってきたところがすぐ理解できました。
っていうかね
Javaを教える先生が『オブジェクト指向』の概念学習より言語学習を教えることをメインにおいたために、生徒の全員が全く理解できませんでした。

毎回何十個も言語学習をするよりも、半年かかってもいいから概念学習をしっかりさせたほうがいい。

これは多分英語でもいえると思う。
大学に在学していたとき、アメリカ人の先生が
『今学校の方針でこのような学習法(言語学習)をしているけど、正直概念学習のほうがいい。
単語を暗記させるよりも、辞書片手に英語の新聞の翻訳をさせたほうがよっぽどいい勉強になる』
と言った気持ちがオブジェクトをなんとなく分かりかけたときに理解できた。

どこのプログラマーでも困ったら本見るんだからそれでカバーできない概念学習をしっかりしたほうがいいと思う。



91 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 23:39:23 ]
オブジェクトって単に関数を要素にとれる構造体でそ?

92 名前:デフォルトの名無しさん mailto:sage [2005/04/13(水) 13:22:12 ]
つるな

93 名前:90 [2005/04/19(火) 15:05:07 ]
先生。何かこの教科書、教科書名の後ろにって書いてあるんですが。
しかも重要なところに『上書参考』って・・・・。

94 名前:デフォルトの名無しさん [2005/04/19(火) 19:48:34 ]
両方バランス良くやった方がいいって。
概念がわかっても、それが一体何の役に立つのかわからなくてイライラしたやつが
暴動起こして終わると思うな。

95 名前:脳内PG mailto:sage [2005/04/19(火) 20:00:19 ]
私は言語が先だと思います

言語をやる内に、オブジェクト指向は理解できると思いますし


96 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 20:06:42 ]
OOなんぞが知れ渡る前から、擬似オブジェクト指向Pやってると、
どうしても概念レベルで、実装が頭をよぎっちまわない?
酷いときは妥協のしどころまで考えてたり。

97 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 20:25:33 ]
日本語で話せよ。

98 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 01:44:48 ]
>>93
与えられた本しか読まない馬鹿にはどんな本を与えても無駄。

99 名前:デフォルトの名無しさん [2005/04/23(土) 20:03:38 ]
ぉぃぉい結局どっちなんだよ?始めようと思ったのに出来ねーじゃねーか!もぅCとJava勉強すりゃいいのか?どうなんだよボケがぁぁぁぁぁぁぁぁぁ!
取り敢えず手始めにCでもするかな…

100 名前:デフォルトの名無しさん [2005/04/23(土) 21:09:17 ]
どちらが先なんて決めつけないで
糾える縄の如く理解していけばいいし
実際みなそうしている








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<242KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef