[表示 : 全て 最新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の言語を学ぶのが先がいいのか、
どっちがいいと思われますか。


652 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:24:11 ]
>>645
Javaの言語仕様をじっくりみていくとその奇怪さがよくわかるよ

653 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:28:49 ]
>>652
kwsk

654 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:29:03 ]
>>652 を? たとえばどんな所が?

655 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:51:06 ]
>>651
具体的に言えば、Windowsのさらに.Netのところのみってこと。
いまだに世界は狭いよね。
結果は同じだし、それよりもJavaの方に目が向いてしまうもんじゃないか。

656 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:57:11 ]
並行にという概念がないのんかこの>1は
なんでどっちかが先に生まれないいかんねん。同時に生んだらええねん

657 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 00:00:09 ]
>>653
>>654
いやね、↓の本をちょっと娯楽で読んでいたらJavaって変だなぁって改めて思わされたから。
www.amazon.co.jp/gp/product/4894716895/sr=1-80/qid=1161874695/ref=sr_1_80/250-9245522-9627404?ie=UTF8&s=books

658 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 01:10:48 ]
とりたててJavaが変なんじゃなくて、
プログラミング言語って人が普通に生活する感覚からは大きく外れてるよね
って感じな。

659 名前:デフォルトの名無しさん [2006/10/27(金) 08:08:48 ]
>>657
もしC++で同じような本があったら10倍くらいの厚さになるだろうなw

660 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 10:59:39 ]
>>657
BASICは5〜6倍でC言語でも3倍位の厚さになるな。
その位Javaはシンプル

Windowsの特定のバージョンのC言語だけやってると気が付かないと思うけど
良い意味でMSに囲いこまれてるってだけ




661 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:08:21 ]
>>660
> BASICは5〜6倍でC言語でも3倍位の厚さになるな。
納得できる定義ではない

よって
> その位Javaはシンプル
の帰結は論理的ではない

と言ってみる

662 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:15:55 ]
Schemeなんかは、M式無くした事で多少変なところも出てきたけど、おおむねきれいなんじゃない?

663 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:19:24 ]
>>660
古典言語を引き合いにだしたら、そりゃ変なところもあるでしょうよ。

664 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 15:35:59 ]
C#は変態的キモヲタ専用言語か。Javaは爽やかな一般人用で。

665 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 15:53:47 ]
C#のどこがキモイの?

666 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:08:05 ]
#って表記からしてキモイ #って何#って

667 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:16:25 ]
MSにネーミングセンスをもとめちゃいかんよ
彼らはわざわざ検索しにくい言葉を使うのが習性らしい
.Net、Word、.doc....実に迷惑千万だろ

668 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:42:48 ]
#=++ ++

669 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 17:45:27 ]
#=ちょっとしか進化してないという感じがしてキモい、というか情けない。

670 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 18:09:18 ]
半音上がる程度ですから、



671 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 20:13:40 ]
おまえら、#ごときで何を盛り上がって・・

672 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:19:37 ]
使う人間が♭、それがC#。

673 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:36:16 ]
>667
「COM」を追加。

674 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 23:05:58 ]
2 名前:仕様書無しさん 投稿日:2006/10/28(土) 12:51:58
関連リンク

哲学者ならばプログラム言語を勉強したまえ
academy4.2ch.net/test/read.cgi/philo/1162007282/

675 名前:デフォルトの名無しさん [2006/10/29(日) 21:30:21 ]
>>673
Windowsも追加しといてー

676 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 11:36:22 ]
>>667>>673>>675
おまいらSOAPを忘れてる

677 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 15:10:56 ]
拡張子.doc はどうよ

678 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 03:24:41 ]
Rっていう統計ソフトには勝てまい

679 名前:デフォルトの名無しさん [2006/12/25(月) 07:17:48 ]
あげ

680 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 04:21:52 ]
S でゲーム作ってた使途がいたなぁ




681 名前:デフォルトの名無しさん [2006/12/26(火) 05:55:05 ]
>>664
Javaのどこにさわやかなイメージがあるんだ?
携帯アプリ製作現場しか思い浮かばんぞ?

682 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 19:34:45 ]
NetScape

683 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2006/12/26(火) 19:36:21 ]
オブジェクト指向逝ってよし

684 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 02:18:49 ]
何でこんなところにココ電がww

685 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2006/12/31(日) 11:46:12 ]
昔は逝ってよしの1というコテだった。

話は変わるが、会社でオブジェクト指向信者がサーバーに負担かけまくって
しばしばDB飛ばしてたのがいたが、首になったらしい。

686 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2006/12/31(日) 11:48:53 ]
たまんねえぜ。
こっちがチューニングで爪に火を灯すようにサーバーの負荷減らしてるのによお。
ドッカーンと、こっちがチューニングで減らした量の100倍くらいの負荷作っちゃうからな。
示威行為なんだよな。
まったく信者ってやつは。

687 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 14:12:50 ]
とりあえずNG登録まで読んだ

688 名前:デフォルトの名無しさん [2007/01/19(金) 23:06:21 ]
まず

オブジェクト指向における再利用と、関数による再利用

の違いを教えてくれ。

689 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 23:55:50 ]
無い

690 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:46:15 ]
オブジェクト指向のオブジェクトの概念は型理論で説明できる。



691 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:52:14 ]
それは無い

692 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:52:45 ]
関数もオブジェクト

693 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:57:37 ]
オブジェクトも関数

694 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 01:18:46 ]
>>691
検索してみろ

695 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 02:25:43 ]
>>694
FJ のことか?

696 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 03:21:36 ]
「哺乳類を継承して犬と猫を作り、『鳴く』というメッセージを送ると犬なら『わん』、猫なら『にゃあ』と鳴く」

これがオブジェクト指向か?

697 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 08:35:09 ]
>>696
その通り

698 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2007/01/20(土) 09:42:36 ]
「わん」とか「にゃあ」の音はモノじゃないのでオブジェクト指向で扱えませんね

699 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:08:26 ]
は?

700 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:16:09 ]
>698
class 音



701 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:42:28 ]
>>698
わんクラス

 class 犬 interface 吠えるく{

  鳴き声 bark(){

    return new わん();
  }
}

702 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:44:17 ]
>>698
オブジェクト指向で表現できないものは無いw
あほちゃうかw

703 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:14:34 ]
まあ、オブジェクトは貧乏人のクロージャだしね。

704 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2007/01/20(土) 12:26:51 ]
インターフェイスもオブジェクトにできませんねえ

705 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:35:42 ]
視野が狭い

706 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2007/01/20(土) 12:51:10 ]
犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。

ハングルが世界最高の言語だって言ってる連中と同列ですね。

707 名前:ココ電球(∩T∀T)  ◆tIS/.aX84. [2007/01/20(土) 12:51:35 ]
犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。

ハングルが世界最高の言語だって言ってる連中と同列ですね。

708 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:03:45 ]
マトモな頭を持った人間なら、Cなどの構造化言語をある程度使い
こなせるようになったら、OOP的なアプローチでロジックを組めば
綺麗に効率よくコーディングできることに気が付くはずだ。
(たとえそれがOOPとして既に広く周知されたものだと知らなくても)

そこでC++などを勉強すれば、綺麗で効率の良いスタイルのコードを
自然に書けて、さらに補強する機能があることは自然と受け入れら
れるはず。

要するに、概念学習なんて自然と思いついて然るべきもので、
わざわざ他人から教えられるようなものではない。
概念学習で苦労しているのは低脳。つーかマ向きの人間じゃない。

709 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:14:27 ]
>702
流石に「表現」するには厳しいモノも無くはないだろう。OOが万能とは思わない。
それまでのプログラミングより表現の幅は大きいと思うけど。

710 名前:デフォルトの名無しさん [2007/01/20(土) 13:23:45 ]
オブジェクト指向狂詩曲って本で大体は理解した。




711 名前:デフォルトの名無しさん [2007/01/20(土) 13:53:50 ]
>>708
>要するに、概念学習なんて自然と思いついて然るべきもので、
>わざわざ他人から教えられるようなものではない。

どちらが効率的かということだろ。既に他人が知っていることを
わざわざ自分で再発見する必要はないと思うけどね。他人が考え
てくれたものはありがたくさっさと学んだ方がよほど効率的で
いいと思わないか?

712 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:11:42 ]
最近まで、オブジェクト指向言語の
メリットが見出せなかった。

使えないとか、理解できないとかではなくて
非手続き型で十分じゃね?って感じで

でも.netやらJAVA系のエディタは便利だな
まあ、オブジェクト指向開発は
ツールありきってことかな

713 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:15:55 ]
まあ、言いたい事はアレだ

ソースのインデント萌え〜ってことよ。

714 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:22:42 ]
>>706
扱えないと思うヤツには扱えない
オブジェクト指向は難しいと思うヤツには難しい

715 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:25:46 ]
これはバイナリデータである、という抽象化すら出来ない奴がいるから困る。
データ毎に処理を分けるなよと思ったところで、がちがちの密結合でThe END

716 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:34:44 ]
>>708
クラス=構造化された単位
だったらそうなるがそれじゃただの機能分割だw
クラスが共通関数のまとめ役って言う考えはOO的ではない

717 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:46:01 ]
>>716

クラス=関連の強いデータと関数の塊と言うのは十分OO的
OOと言うのは結局、効率的な機能分割法にすぎない。

718 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:47:57 ]
>>717
初期のOOの考え方に近いか
ただ、クラス=役割だ

719 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:50:45 ]
概念的はなっそうが出来てないと単なる機能分割で終わってしまって
クラスが単なる空間定義に終わってしまっているという良い例だなぁw
クラスは空間定義ではあるが、OO的というにはそれだけではたりない。

720 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:51:36 ]
>>719
×概念的はなっそう
○概念的なアプローチ



721 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:00:47 ]
>>719

それでは、その足りない部分を具体的に述べてくれ。

722 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:02:19 ]
>>721
役割、意味論

723 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:04:02 ]
>>722

分割時に当然、役割、意味単位で分けるが
それじゃ駄目なん?

724 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:07:32 ]
役割は機能的な役割という意味ではない。
実社会における役割と等価。
意味論も機能的な意味論ではない。
実社会における意味論と等価。
構造化アプローチで設計していくとソコは必ずしも一致しない。
ただ、構造化=役割の細分化という意味なら同意できるなぁ。

725 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:11:42 ]
実社会という言葉は少々極端ではあるが。

726 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:12:12 ]
>>724

すまんが、機能的な意味と役割と
実社会における意味と役割とが
解離してる。例をあげてくれないか?

727 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:29:38 ]
>>726
実社会という言葉は適切ではなかったw

要するに、手続きからクラスを定義するのと
要件からクラスを定義するのでは、クラスの作られ方が違ってくるってこと。

ただそれもレベルの問題で、旨くできる人はそれでもうまくクラスが作れているから
厳密な違いは無いと思うけど、旨くない人が手続きからクラスを導出していくと
クラスのインターフェイスが違ってくる。

例)ある業務のシステムを作っています。

【手続き型の構造化手法】

手続きAからクラスBを導出しました。
その場合、クラスBは多かれ少なかれ手続きBに特化する。

後から手続きCでもクラスBが持つデータを使うことがわかりました。
でも、クラスBのインターフェイスは手続きBようなので、手続きC用のインターフェイスを
作りました。

【OO的手法】
業務の役割や意味からクラスBを導出しました。
クラスBには、業務を実行するインターフェイスDがありました。
業務の手続きA、CはクラスBのインターフェイスDを使うように実装する事にしました。

728 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:40:24 ]
>>727

ありがとう、なんとなくわかった、しかし
そういう話なら、もっと以前の構造化プログラムの
モジュールでも同じだと思うけど、モジュールBが手続きA、C
どちらでも、そのまま使えるような設計が構造化でも
良い設計のはず。

729 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:56:56 ]
>>728
構造化とOOの決定的な違いは抽象化

730 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:57:59 ]
まさかここまで引っ張ってきておいて
構造化がオブジェクト指向特有の手法だと思ってたとかいうオチじゃないよね・・・?



731 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:07:29 ]
構造化でもクラスを作ることは出来る
だがそれだけでOOとはいえない

732 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:08:56 ]
>>729

抽象化すれば、問題ないの?
なら、機能分割時に、役割に応じて
共通部分を親抽象クラスなりインターフェイス(Javaなもんで)
なり抽出して作成すればOK?

733 名前:デフォルトの名無しさん [2007/01/20(土) 19:10:50 ]
すまん。わんとかにゃあで説明してくれ。

734 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:12:12 ]
>>732
手っ取り早くはデザインパターンとかを勉強してみるといいんじゃない?

735 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:20:55 ]
>>734

デザパタは、実務で使ってるよ。
TemplateMethodとかVisitorとかFactoriyMeyhodとか、
良く使う。

736 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:39:04 ]
ぶっちゃけ、デザパタとかクラスの動きとか、
実務レベルの話は、それなりにわかるんだが
その上のOO道みたいな、哲学的な部分がさっぱりわからん。

737 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:45:18 ]
>>736
変に構えなくても良いんじゃね?
しょせん継承・カプセル化・情報隠蔽が出来てりゃ C++ では OO なんだし。

738 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:52:20 ]
>>737

やっぱり、構えなくて良いんかね。

でも、OO的で無いとか観念的なアプローチをしろとか
言われたんで気になってね。


739 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:55:02 ]
ファイルから/データを読み込んで/パースして/溜めておいて/次の日になったら/配信する
File      Input          Parse    Queue    Timer        Output

言葉と実装とでE-Rが変わらないようにすると管理しやすいんだよね。
OOに慣れると疎結合を意識しだす嬉しい恩恵も得られる。

C言語使ってるときでもOOは意識するもんだけどね。

740 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:13:30 ]
>>727
図に描いてみたけど上の構造化手法の例の問題点がよく分からん
www.borujoa.org/upload/source/upload9881.gif



741 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:15:43 ]
>>740
何でデータが手続きを参照してるの?w

742 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:22:17 ]
>>741
構造化手法からオブジェクトを導出するならこんな感じになるのかなってのを
想像して図にしてみただけだよ。
その矢印はデータの流れを表してると考えてくれ。

743 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:52:55 ]
なんで構造化手法からOOで言うところのオブジェクトを導出しようとするのかがわからん

>>727の問題点は、本来1つですむインターフェイスが手続きごとに複数実装しなければならんて事。
共通的に使われるものが、個別の要件に応じてインターフェイスを変更するのはおかしいんでは?

744 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:05:28 ]
データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも
普通の設計だと思うけど、>>727の説明は何が言いたいのか理解しづらい。

745 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:13:12 ]
>>744
>データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも・・・
データとは?
この時点でOOではない
そういうのがわからないから概念から学ぶべきだといっている
ただ、判らないからといって実務で直接的に問題になるか?っと言われれば、状況による。
どんなに生産性が悪くても、それで成り立ってれば問題はないのでは?

746 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:15:16 ]
ただ概念から・・・っといっても、実際には何らかの言語を通さない事には把握しにくいのも事実
両方同時に
がいいのでは?

747 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:25:14 ]
>>745
IntegerやStringから、List、HttpRequest、Bitmap、Window、、、、。
世の中にはデータみたいなオブジェクトが腐るほど溢れてるけど、これらはOOじゃないのか?

748 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:29:41 ]
いいからオブジェクト指向とは?から勉強しなさいな

749 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:30:51 ]
>>748
分からないから説明してよ。あなた自身の言葉で。

750 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:32:03 ]
データは全てオブジェクト。オブジェクトじゃないものなど存在しない。
intもオブジェクト、言語仕様に振り回されるな。



751 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:36:15 ]
違う。オブジェクトであると定義した時点で、はじめて『それ』はオブジェクトになる。

752 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:41:43 ]
ならintはオブジェクトだろ?






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

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

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