トップページ⇒tech
1001コメント306KB

消えてなくなれよ >オブジェクト指向 part.2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/03/22(日) 06:57:59
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1198822420/
0104デフォルトの名無しさん2009/04/06(月) 19:54:38
まず、なんでParsecなの?w
もっとわかりやすい題材があるんじゃないの
0105デフォルトの名無しさん2009/04/06(月) 19:55:26
技術的な話になるとみんなこんな感じになるのはなんとかならないの?
http://web.archive.org/web/20010602030602/www.geocities.co.jp/Bookend-Soseki/5561/

【日本語】

この状況を打破するためには早急に対策要員を選出し、その人たちができるだけ
緻密な議論を行って行く必要がある。鈴木君をプロジェクト・リーダーとして以後、
この件についての方針を模索しよう。私も状況を追いながら関わろう。

【御殿山語】

これを break threw するためには ASAPでtask fourceの team make をして、
in detail で effective な議論を go on するのが must だ。鈴木君を
Handler としてこの issue について discuss しましょう。私も keep in touch
するから。
0106デフォルトの名無しさん2009/04/06(月) 19:55:30
ただ批判したいだけのやつの質問なんか誰かが答えてくれると思ってるとしたら、お笑いだなw
俺って優しいなぁw
0107デフォルトの名無しさん2009/04/06(月) 20:02:51
>>104
>モナド+遅延評価を基盤としたストリームモデル
>データ処理

おまえがいうそのデータ処理の一例がParsecだろwモナド+遅延評価を基盤としたストリームモデルのw
あれ、わかりやすいんじゃないの?シームレスなんじゃないの?

ちなみにHaskellは俺も好きだよ。ただ直感的だとは全く思わないけどね。

まあとりあえずここにいるみんなが直感的にわかるように説明希望。
ちなみに俺には直感的な説明はできない自身があるよ。
0108デフォルトの名無しさん2009/04/06(月) 20:05:06
ASAPで頼む
0109デフォルトの名無しさん2009/04/06(月) 20:28:16
石橋貴明と誰だっけ工藤静香だっけ、
0110デフォルトの名無しさん2009/04/06(月) 20:28:46
>>107
> ちなみにHaskellは俺も好きだよ。ただ直感的だとは全く思わないけどね。
批判したいだけのやつがよく使うフレーズw
自分は理解したうえで批判しているんだってことを証明したいからそういうフレーズを使うんだろうけど、
嘘だってバレバレですからw
0111デフォルトの名無しさん2009/04/06(月) 20:56:45
全く先入観のない素人がいろんな言語を比較したとしたら・・・

BASIC
HSP
Ruby
Python
Perl
C
C++
Java
Lisp
Prolog

この中でどれを簡単だと答えるだろう?

俺はBASICやHSPだと思う。
はい代入、ほれ表示、ここで計算しよう・・・
ってな感じで、省略がなく流れが完全にわかり、
それでいて動的型だから変数で頭を悩ませなくて済むから。

それに対し、Rubyとかは簡潔というよりも省略されすぎで
単なる記号の羅列にしか見えないだろう。
「Rubyは簡単」という人のいう「簡単」と、
アマチュア、ホビイストのいう「簡単」は意味が違うのさ。
万人に使える言語を選ぶとすれば、OOは不合格にならざるを得ない。
0112デフォルトの名無しさん2009/04/06(月) 21:22:37
BASICが一番カンタンだと思うけど、
BASICがカンタンつってもさ。
それは解く問題が小さいからであって、
その小ささのほうが要因なんじゃないか?

大きいものを書こうとすると、
BASICよりRubyのほうがカンタンだし、
場合によってはJavaのほうがカンタンだ。
OOPLは抽象度を高めるし、
静的型もやはりメリットをもたらしてる。

小さい問題に特化してBASICを持ち上げても、
ちょっと複雑な問題になったときに、
他の言語がすぐ頼もしく映ってしまうはず。

万人に使える言語っていうのが、
どのていどの問題を想定してるのかしらんが。
0113デフォルトの名無しさん2009/04/06(月) 22:03:30
もしもN88-BASICをソケット通信対応させたら・・・

10 URL="http://quote.yahoo.co.jp/"
20 S=Socket(tcp, 0, URL, 80)
30 PRINT "GET ", URL => S
40 WHILE (S => INPUT) > 0)
50 PRINT $0
60 WEND
70 CLOSE(S)
80 END

これを分かりやすいと見るか、分かりにくいと見るか。
それが問題だ。
0114デフォルトの名無しさん2009/04/06(月) 22:06:21
最初に行番号を入れる
という概念が俺には難しすぎて昔挫折した覚えがある
C言語で復活した
0115デフォルトの名無しさん2009/04/06(月) 22:10:11
最低限構造化されていることが現代的言語としては必須だろ
だから行番号BASICやHSPは論外
0116デフォルトの名無しさん2009/04/06(月) 22:17:44
構造化なんて必須でもなんでもない
ただのオナニーだ
0117デフォルトの名無しさん2009/04/06(月) 22:29:34
小さいサンプルみたいなコード片を題材に、
どの言語が簡単かどうかなんてナンセンスだお(;^ω^)。
だってさ、それが何の役に立つ?
構造化もなくて何が出来る?
0118デフォルトの名無しさん2009/04/06(月) 22:32:09
NEC PC-8001 BASIC Ver 1.5
Copyright 1979 (C) by Microsoft

OK
LOAD "消えてなくなれよ >オブジェクト指向 part.2"
FOUND:消えてなくなれよ >オブジェクト指向 part.2
OK
RUN
Syntax Error in 117
OK
0119デフォルトの名無しさん2009/04/06(月) 22:51:34
構造化定理
「1つの入り口と1つの出口を持つようなプログラムは、
「順次・反復・分岐」の3つの基本的な論理構造によって記述できる」

これって当たり前じゃん。

反復1(条件)
 処理1
 処理2
反復1終わり

分岐(条件)
 処理3
(条件を満たさない場合)
 処理4

こういう感じに書くなんて馬鹿でもできる。
しかし、オブジェクト指向は説明しにくい。
犬だ猫だ、車クラスに属するカローラの燃料とナンバーがどうしたとか、
馬鹿じゃねーの?
そんな説明でわかったつもりになる奴は頭が悪い。
0120デフォルトの名無しさん2009/04/06(月) 22:57:18
BASICで1000行以上のプログラムなんて、既にどっかがおかしいんだよ
小さなサンプルが云々じゃなく、プログラムそのものを小さく作れるのがBASICの魅力だろ
0121デフォルトの名無しさん2009/04/06(月) 23:01:52
>>119
STGだったら自機、敵、弾クラスを作るのがオブジェクト指向だ
別に難しくもなんともねーじゃん
0122デフォルトの名無しさん2009/04/06(月) 23:02:50
>>120
それはC言語とBASIC当たりで同じ内容のもんを書き並べて主張しろよ
大して変わらないはず
0123デフォルトの名無しさん2009/04/06(月) 23:08:18
このスレの引火性の高さ、俺好きだぜ
0124デフォルトの名無しさん2009/04/06(月) 23:23:19
>>122
君の意見には賛同しかねる

BASICとCを比べるのは、小便器と大便器を比べるようなもんだ
小便器でウンコする方法を考える事は無駄だろう
だからといって、大便器で小便できるから、全てを大便器でなんて事をしたら、帰省、行楽期間の高速道路は破滅する
0125デフォルトの名無しさん2009/04/06(月) 23:29:41
便器クラスに大便器と小便器というインスタンス・オブジェクトが(以下略)
0126デフォルトの名無しさん2009/04/06(月) 23:31:28
>>124
何が主張したいんだよw
0127デフォルトの名無しさん2009/04/06(月) 23:34:53
>>126
つまり、年齢と共に、羞恥心を捨て去っていった勇者達のお陰で高速道路の女子トイレは破滅から救われていると...
0128デフォルトの名無しさん2009/04/06(月) 23:41:05
>>127
どうした?
yourfilehostの盗撮動画でも見すぎたか?
0129デフォルトの名無しさん2009/04/06(月) 23:48:54
>>128
元気だな、エロもほどほどにしなよ
0130デフォルトの名無しさん2009/04/07(火) 00:16:02
時代は今やxvideosだってのに
0131デフォルトの名無しさん2009/04/07(火) 01:13:39
>>128
せっかく呆けてるんだから、ちゃんと突っ込めよ
これだから、お前の作ったプログラムは使えないんだよ
0132デフォルトの名無しさん2009/04/07(火) 01:15:56
オブジェクト指向の功罪は、Perl 5を見ればよく分かるだろ。
0133デフォルトの名無しさん2009/04/07(火) 03:36:18
>>111
>それに対し、Rubyとかは簡潔というよりも省略されすぎで
>単なる記号の羅列にしか見えないだろう。

Rubyって何が省略されているかな?正直よく判らない。
0134デフォルトの名無しさん2009/04/07(火) 03:37:57
カッコ
0135デフォルトの名無しさん2009/04/07(火) 03:48:11
RubyよりPerl派な俺って異端かな?
0136デフォルトの名無しさん2009/04/07(火) 04:34:56
Rubyのチュートリアルを読む → 「分かりやすいね!」

Rubyの入門書を読む → 「イイ! これに比べりゃ、Perlはカスだね!」

Rubyで自分のツールを書いてみる → 「そろそろRubyの時代か」


で、他人が書いたライブラリのソースを読んでみる
↓
「なんだこりゃ、Perl並に読みづらくて意味不明……」

こんな感じ。
0137デフォルトの名無しさん2009/04/07(火) 04:45:50
「なんだこりゃ、Perl並に読みづらくて意味不明……」
↓
「よし、俺がきれいに書き直してやる」
↓
「できた! さすが俺。おまいら俺のソースを参考にしていいぞ」

こんな感じ。
0138デフォルトの名無しさん2009/04/07(火) 04:50:30
Perl使いの後輩「先輩、これ意味わかんねーす」


ってか、RubyってPerl経由して入る奴多いから
リアル過ぎて笑えねーな・・・。
0139,,・´∀`・,,)っ-○◎●2009/04/07(火) 07:00:45
最近はJava畑から移ってくる人もそれなりにいるよ
0140デフォルトの名無しさん2009/04/07(火) 08:47:41
rubyって日本の新興宗教団体の公用語だろ?
0141デフォルトの名無しさん2009/04/07(火) 10:19:46
>>128の様な空気の読めない奴がいる限り、オブジェクト指向が広まる事は無い
0142デフォルトの名無しさん2009/04/07(火) 10:25:57
別に広まらなくていい
0143デフォルトの名無しさん2009/04/07(火) 11:34:39
>>142が真実。

OOPが有効な場面だけ使えばいい。
有効だと判断できる人間だけ使えばいい。

無理強いしても最悪の結果になる。
0144デフォルトの名無しさん2009/04/07(火) 11:37:48
その空気が読めないから現在があるのだよ
0145デフォルトの名無しさん2009/04/07(火) 11:47:43
すくなくとも3000ステップ以上はコード書かないと
OOの必要性とかわからんだろうしなぁ。
なので入門としてBASICやPHPってのはわかるが。
0146デフォルトの名無しさん2009/04/07(火) 12:12:49
>145
BASICは流行らないよ。
こんな初心者っぽい言語使えるかよ、
っていう初心者が多いから。
0147デフォルトの名無しさん2009/04/07(火) 13:15:14
BASICが何の略か言ってみたまえ
0148デフォルトの名無しさん2009/04/07(火) 13:20:56
>>110
やっぱただの荒らしかw
「Haskell理解できる俺スゲー」って言いたかったのはわかるけどw
みっともないからやめたほうがいいよ。実際よくわかってないみたいだしw
0149デフォルトの名無しさん2009/04/07(火) 13:41:13
>>148
そんな必死に自分のほうが上だって主張しなくてもw
0150デフォルトの名無しさん2009/04/07(火) 13:43:01
喚いているだけで、主張にすらなっていない気が。
0151デフォルトの名無しさん2009/04/07(火) 13:58:17
ただ自分も地味に「Haskellの直感的な説明」に期待しているんだけど。
OOPの説明で使われる犬猫の例えがしばしば評判悪いように、異なる
アイデアに基づくものを説明するには良いたとえ話や説明の方法が
必要だと思うので。
0152デフォルトの名無しさん2009/04/07(火) 14:02:30
要するに一本のベルトコンベアの上に乗ってる材料を加工する工場を想像すれば良いよ。
ベルトコンベア=遅延リスト
加工ロボット=関数
材料=要素
0153デフォルトの名無しさん2009/04/07(火) 14:13:22
>>149
だから全然主張なんてしてないよ。
俺の主張はただ、「Haskellは直感的だとは思わない」という事。
もし直感的に理解できるんだとしたらその説明をしてくれ、という事だよ。
君の言ったモデルに完全に合致してるParsecを例にしてね。
0154デフォルトの名無しさん2009/04/07(火) 14:25:30
オブジェクト指向によるプログラムなんて、空気の読める奴じゃないと無理だろ
そして、プログラマに空気の読める奴なんて居やしない

つまりは、そういう事だ
0155デフォルトの名無しさん2009/04/07(火) 14:39:18
またそうやって人のせいにする。
0156デフォルトの名無しさん2009/04/07(火) 14:45:38
>>148
> みっともないからやめたほうがいいよ。実際よくわかってないみたいだしw
(意訳)
お前よりHaskellに詳しい俺がお前をテストしてやろうと思って
ちょっと面倒くさい問題を出したら答えられないでやんのwだせぇ
もちろん俺は答えを知ってるけどね。

↑お前が書けよw
0157デフォルトの名無しさん2009/04/07(火) 14:48:10
>>156

>ちなみに俺には直感的な説明はできない自身があるよ。
ここは読めてないのw?
0158デフォルトの名無しさん2009/04/07(火) 14:48:48
>>156
何様ww
0159デフォルトの名無しさん2009/04/07(火) 14:52:17
まぁ、>>110が>>148の上から目線がうざいと思ってることだけはわかった
0160デフォルトの名無しさん2009/04/07(火) 14:52:45
>>156
>お前よりHaskellに詳しい俺がお前をテストしてやろうと思って
こんな奴なら
>ちなみに俺には直感的な説明はできない自身があるよ。
こんなこと書かないんじゃね?
0161デフォルトの名無しさん2009/04/07(火) 14:58:39
>>160
じゃあこうか?
(意訳)
お前よりHaskellに詳しい俺がお前をテストしてやろうと思って
ちょっと面倒くさい問題を出したら答えられないでやんのwだせぇ
Haskellに詳しい俺に出来ないことがお前に出来るわけないんだよ。
0162デフォルトの名無しさん2009/04/07(火) 15:06:56
>>160
そういうのはいいからはやくParsecの説明聞かせてくれよ。
01631622009/04/07(火) 15:08:12
アンカミス、
>>161へのレスね。
0164デフォルトの名無しさん2009/04/07(火) 15:11:39
Parsecを知っている俺スゲーって感じですかね
0165デフォルトの名無しさん2009/04/07(火) 15:13:40
>>164
Haskell知ってるなら誰でも知ってると思うよw別にすごくもなんともない。

それにそういうのはもういいからはやく直感的でシームレスな説明してよw
0166デフォルトの名無しさん2009/04/07(火) 15:43:35
>>165
俺はParsec以上のことを知ってるからその程度のことしか知らないやつよりスゲーんだよ、なめなんなよ
ってな感じですかね
0167デフォルトの名無しさん2009/04/07(火) 15:44:54
>>166
ひょっとして面白いって思ってる?
0168デフォルトの名無しさん2009/04/07(火) 15:47:13
>>167
とりあえず頭冷やしてから戻っておいで。
顔真っ赤なやつの質問にはまともに答える気になれない。
0169デフォルトの名無しさん2009/04/07(火) 15:47:41
>>168
>顔真っ赤なやつ
それは自分のことだと思うがw。
0170デフォルトの名無しさん2009/04/07(火) 16:12:23
このスレは小学生のしゃべり場になりました。
0171デフォルトの名無しさん2009/04/07(火) 17:23:05
オブジェクト指向なんて小学生しかやらないだろ
0172デフォルトの名無しさん2009/04/07(火) 17:24:07
>>170
中学生以上は帰れ
0173デフォルトの名無しさん2009/04/07(火) 17:30:24
ブビ厨大暴れかと思ったが違ったなw
0174デフォルトの名無しさん2009/04/07(火) 17:53:24
ブビってなに?
0175デフォルトの名無しさん2009/04/07(火) 17:55:41
Visual Basicのことだよ。
Parsecのわかりやすい解説マダー
0176デフォルトの名無しさん2009/04/07(火) 17:59:47
このスレ住人ってもしかしてコミュニケーション能力低いの?

> じゃあとりあえずParsecの中身をシームレスに説明してみてくんない?
> 導出方法とかはいいから、GenParserとかの定義の直感的な解釈とか、
> それをモナドで組み合わせる時のParsecの中身がどう展開されるかについての直感的な説明とか。

人に聞きたいことがあるときは、もうちょっと謙って言うものじゃないかなぁ。
聞かれたほうが答えたくなるような質問の仕方とか身についてないのかねぇ。
ほんとに、社会人だったら当然出来なきゃおかしいコミュニケーションが出来ないと見える。
0177デフォルトの名無しさん2009/04/07(火) 18:07:01
オブジェクト指向
ttp://ja.uncyclopedia.info/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91
0178デフォルトの名無しさん2009/04/07(火) 18:39:13
空気の読めない奴にオブジェクト指向は無理
0179デフォルトの名無しさん2009/04/07(火) 18:44:58
>>176
>質問の仕方
べつに質問してないよw。
ただ直感的な説明ができますか?って言ってるだけ。

勝手に質問だと思っちゃうきみのほうがコミュニケーション能力(笑)に問題あると思うのだが。
0180デフォルトの名無しさん2009/04/07(火) 18:45:58
横レスですが。

直感的とまで言うのなら、
一言でスッと答えが出てくるものかと期待してた。
0181デフォルトの名無しさん2009/04/07(火) 19:37:05
横レスですが。

「直感」って言葉で説明できるものではないと思うのですが。
0182デフォルトの名無しさん2009/04/07(火) 20:20:22
もうstatic使いまくるの疲れたお
0183デフォルトの名無しさん2009/04/07(火) 22:16:40
やさしい Haskell 入門読んでるんだけどさっぱりわからん
入門できなさそう
0184デフォルトの名無しさん2009/04/07(火) 22:19:04
横チンですが

はみ出してますよ
0185デフォルトの名無しさん2009/04/07(火) 22:37:00
>>183
どのへんがわからないか書けば誰かが直感的に説明してくれるかもよ?
0186デフォルトの名無しさん2009/04/08(水) 02:30:50
じゃあ。
結局副作用だらけだとモナドだらけになって
そこでバグ入りまくりhaskellは悪くありません。
って解釈でいいの?
0187デフォルトの名無しさん2009/04/08(水) 02:56:29
Haskelなんて世界中で3人しか使ってない言語イラネ
0188デフォルトの名無しさん2009/04/08(水) 03:49:14
3人ってだれとだれとだれ?
0189デフォルトの名無しさん2009/04/08(水) 06:32:13
>>186
俺は直感的な説明はできないしHaskellが直感的だとは思わないけど、
IOモナドだらけになって副作用関連のバグがでてもそれは
他の言語と同様にプログラマが悪いってことになるよ。
「Haskellは純粋関数型言語だから副作用関連のバグは出ない」みたいに言うエセHaskell信者は多いけどねw。
0190デフォルトの名無しさん2009/04/08(水) 15:26:14
つーかHaskellで一番面倒なのが意図しない副作用が発生している場合だろ。
0191デフォルトの名無しさん2009/04/08(水) 15:43:03
>>190
ちょっとどういう状況かわからないから具体的なソースを出してもらえませんか?
0192デフォルトの名無しさん2009/04/08(水) 15:58:01
   ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!>>103 出てこいよ
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
01931032009/04/08(水) 16:03:28
だが。ちなみに>>189とかも俺だよ。
0194デフォルトの名無しさん2009/04/08(水) 16:07:01
   ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!>>100 出てこいよ
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
0195デフォルトの名無しさん2009/04/08(水) 16:55:57
>>194
うるせえ 帰れ
0196デフォルトの名無しさん2009/04/09(木) 11:15:40
で、何の生産的な発言も残さないHaskell厨どこいったの?
0197デフォルトの名無しさん2009/04/09(木) 11:33:46
Mutable objects are the new spaghetti code
だって。オブジェクト群でシステムを構築するってのは自然だとは思える一方、
最近の関数型の流行をみているとそれだけで上手くいくってのは安直だとも思えてくる。

http://clojure.googlegroups.com/web/ClojureConcurrencyTalk.pdf?gda=o4QTWEwAAAC2LrkjeC7f10uHiY7GOiyxd8S1xIZIP7EwK5jKxASn0y1I1OtZCnFmn_w8aWW3nzHB8Gzz9WpxuUbp_zNxpCdh_Vpvmo5s1aABVJRO3P3wLQ
0198デフォルトの名無しさん2009/04/09(木) 11:40:39
>>197
オブジェクト指向が自然だ〜と思ってるのはUMLみたいに図で描きやすいからだろ?
0199デフォルトの名無しさん2009/04/09(木) 11:44:05
UMLで使うのってクラス図ぐらいだよな
0200デフォルトの名無しさん2009/04/09(木) 11:54:35
http://gigazine.jp/img/2009/04/09/why_boy_need_parent_pic/baby_19.jpg
0201デフォルトの名無しさん2009/04/09(木) 17:58:33
Haskell厨が出てくるといつも不毛な議論にスレが止まってしまいますね
0202デフォルトの名無しさん2009/04/09(木) 18:07:11
>>199
むしろちゃんとUMLの全機能使って描いてるやつがいたら、UML厨(笑)とか思ってしまう
0203デフォルトの名無しさん2009/04/09(木) 20:41:10
みんながいうHaskell厨って>>100と>>103どっち?
■ このスレッドは過去ログ倉庫に格納されています