- 1 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:11:42 ]
- どうすればいい?
- 448 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:35:35 ]
- grape.mtk.nao.ac.jp/~makino/articles/worse-is-better-ja.html
ここに書かれている通り C は「悪い方がよい」原則。ObjC も同じ。 C++ はどちらかというと CL の辿った道に近い気がする。 つまり「正しい」アプローチで作られた「複雑巨大システム」。
- 449 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:42:51 ]
- 「悪い方がよい」原則って、意味のある言葉じゃないだろ。
いいものが定着するとなにも言わずに、悪いものが定着すると 「悪い方がよい」って言えばいいんだから。
- 450 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:46:57 ]
- >>441
抽象データ型なんて昔から C で普通にやっていることだよ。 C++ の前の C with Classes でもこれをやりやすくするためにアクセス保護を導入したし。 構造体の定義が可視ならヒープにとる必要もないしスタックにもオブジェクトを置けるよ。 定義が可視ならもちろんアクセス保護があったほうが安心だけど。
- 451 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:52:50 ]
- >>449
リンク先を読めば意図は分かると思うけど、気になるなら 「New Jersey アプローチ」と読み替えても良いよ。
- 452 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:59:11 ]
- Java も「悪い方がよい」原則のような気がする。
- 453 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 03:23:24 ]
- >>451
>>449をよく読めば意図が分かると思うけど、気になるなら 「悪いものが定着したときは「New Jersey アプローチ」って言えばいいんだから」 と読み替えても伊井よ
- 454 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 03:30:42 ]
- それ元ネタが凝った角度でモノ書こうとして失敗してる例に感じるな
タイトル先行で書き下されたかのような。 完璧を求めると複雑巨大になり弊害がある 単純さを求めると完全ではなくなり弊害がある 一長一短って話だろ なんでworse is betterやねん
- 455 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 08:29:56 ]
- >>454
>一長一短って話だろ 違うよ。Lisper が Lisper に向けて何故 Lisp 族が失敗したかを考察した文章で、 Lisp は敗北したという前提だから、一長一短ではなく Worse Is Better なの。 www.kt.rim.or.jp/~hisashim/gabriel/WorseIsBetter.ja.html
- 456 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:50:52 ]
- あ、なるほど。その文書読んでから読み直すと少し納得
少なくともタイトル先行な面白書きではない訳ですな で、改めて読み直してみたけど、やっぱり俺には誤解が残る Lispの造型が足りないせいか、頭が足りないせいかな
- 457 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 20:59:37 ]
- LISPの造型が足りないというのは、カッコの数が少なすぎるということかな?
- 458 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:19:58 ]
- >>455
だから、Lisperじゃない普通の人にとってはWorse is Betterには意味がない ってことじゃないの。 こんなの何でも適当できるよ。 Linux使い「Windowsが普及してるのはWorse is Betterだから」 元共産主義者「資本主義が普及しているのはWorse is Betterだから」 チャーチル「民主主義が普及してるのはWorse is Betterだから」
- 459 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:40:30 ]
- >>457
あ、造詣か鬱氏 どうやら後者のようだ
- 460 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:43:13 ]
- >>458
よく読みな つ grape.mtk.nao.ac.jp/~makino/articles/worse-is-better-ja.html
- 461 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:49:08 ]
- つうか、現実の「複雑巨大システム」であるMulticsとPL/Iの失敗への
反省・アンチテーゼとしてUnix/Cが生まれたわけで、そのことさえ抑えておけば十分。 なぜかその論文?ではその有名な事実に触れてもいないけどね。 Unixの「New Jerseyアプローチ」は、理由もなく/何も無いところから 産まれ出てきたものでは無い。 データも何も無い、分析とは言いがたい内容で、単に「Worse is Better」とか 題目だけ唱えてもそれは題目でしかなく、何の意味も無いと思う。 まあ、一種のネタ文書なんだろうな。
- 462 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:49:30 ]
- 自分で考える前に質問してしまう人がいるのは何でなんだぜ?
- 463 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:50:55 ]
- >>460
ほら、自分の言葉で説明できないだろ。Worse is Betterってのは 単なるお題目なんだよ。
- 464 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:55:19 ]
- >>461
>なぜかその論文?ではその有名な事実に触れてもいない それはそういう文脈じゃないからだよ。 当然 MIT の連中が Multics を知らない訳はないでしょ。この文脈では 彼らにとっては Multics より ITS の方が現実的な意味を持っているだけ。 そこら辺の歴史は自分で勉強してチョ。
- 465 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:01:19 ]
- >>463
文章を読んで理解出来なかった奴に説明するのは無理だよ。 それは俺の能力ではどうしようもない。諦めてくれ。
- 466 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:01:30 ]
- つまりわかりやすく言えばLisperの僻みだろ。
「こんなに素晴らしく美しい言語であるLispが天下を取れないのはなぜか?! それは普及するものがWorse is Betterだからだ!Lispは悪くない!」 っていう発想の転換、悪く言えば現実逃避をしてるだけ。一般人には 共感が得られない。
- 467 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:03:37 ]
- >>466
君読んでないのがバレバレだよ。
- 468 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:07:03 ]
- つか Worse って言葉に引き摺られて論旨が見えてないでしょ。
別に UNIX/C を馬鹿にしてる文章じゃないんだぜ。とほほ…
- 469 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:08:13 ]
- >>465
そういう言い方がカルトくさいんだよ 「文章を読んで大作先生の素晴らしさを理解出来なかった奴に 説明するのは無理だよ。それは俺の能力ではどうしようもない。諦めてくれ。 」 とか、 「君、大白蓮華読んでないのがバレバレだよ。」 って言ってるのと変わらん。そんなの知るかボケ、と言わせてもらおう。
- 470 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:10:20 ]
- さて、自転車置き場の議論が始まりそうだから退散するとしますか…
- 471 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:08:12 ]
- >>448
俺はC++も「悪い」に属すると思う。 そうでなければここまで広まらなかったに違いない。
- 472 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:38:14 ]
- 広まったのは単にMSのせいかも
- 473 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:55:19 ]
- SunはMSを潰すためにJavaを出した。MSはJavaとの共倒れを狙ってC#を出した。
- 474 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:07:48 ]
- 実装が単純ならば移植しやすく広まりやすい。
正しいものを広めるより広まったものを改善するほうが簡単。 完全に正しいものを作ろうとすると最後の20%に努力の80%が費やされる。 つまり「悪い」の定義は単純な実装と最低限の品質で最大限の評価を得ること。
- 475 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:23:55 ]
- それなんてエロゲ?
- 476 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:08:09 ]
- >>472
MFCのせいでC++が浸透しないのかも
- 477 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:13:46 ]
- MFC以外のもっと使いやすいC++用RADがあったら
普及したかもなぁ・・・ってBCBは?!
- 478 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:24:27 ]
- >>477
VC++にVCLが標準装備だったらなあ
- 479 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:57:16 ]
- VCLそのものがC++で書かれていないのが痛い
- 480 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 10:21:37 ]
- くだすれ、落ちてねえ?
- 481 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 08:15:11 ]
- >>448
これだから日本語しか読まない奴は。 Worse Is Better - Richard P. Gabriel www.dreamsongs.com/WorseIsBetter.html > Decide for yourselves. おっと。日本語訳もあった。 www.kt.rim.or.jp/~hisashim/gabriel/WorseIsBetter.ja.html
- 482 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 08:18:04 ]
- Jim Waldo の "Worse is worse" も翻訳があった。助かるな。
www.kt.rim.or.jp/~hisashim/waldo/worseisworse.ja.html
- 483 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 09:09:28 ]
- >>481-482
どっちも既に読んでるよ。ご苦労。
- 484 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:56:16 ]
- しかも前者に至っては既出
- 485 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:00:14 ]
- そんなことよりWordsworth読もうぜ!
ttp://www.bartleby.com/145/ww260.html
- 486 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:25:54 ]
- Yeats >> Blake >>> (越えられない壁) >> Wordsworthだろ
常識的に考えて・・・ まあ、英国詩人全部合わせてもRimbaud一人に勝てないけどな
- 487 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:27:15 ]
- ランボーってベトナム帰りのあいつか?
- 488 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:29:07 ]
- 元ネタだから、yesと言っても間違いじゃない。
- 489 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:38:16 ]
- Close To The Edgeは名盤だよな
- 490 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:53:56 ]
- 俺はHeart Of The Sunriseの方が好き。
- 491 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 01:01:07 ]
- C言語のプログラマは、自分たちを一番優等だと思ってるところが問題だ。
- 492 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 01:54:54 ]
- つまりプログラマの殆どはそんなこと思っているのか。
- 493 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:28:14 ]
- 言語の違いなんてバイオリンとピアノの違いでしかない。
道具が違うからって音楽家は人を馬鹿にしたりしないだろ。 それと同じこと。 ただし、ヴィオリストは馬鹿だけど。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:40:33 ]
- ベーシストをDISる厨バンドマンならいくらでも
- 495 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 11:04:51 ]
- >>493
>道具が違うからって音楽家は人を馬鹿にしたりしないだろ。 譬えの誤謬だ。 カズー奏者はどう頑張ってもバカにされる対象。
- 496 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:50:27 ]
- >>493
>ただし、ヴィオリストは馬鹿だけど。 (^^;;;;; なぜ Va は自虐的なんでしょうね、てスレ違いですけど。
- 497 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:21:01 ]
- 他の言語を貶す言語廚は、自分の推す言語使いこなせななくて自信がないから他の言語を貶すんだろうね。
自分の目的に合致している言語を使いこなしているのなら、他の言語なんて眼中にないだろう普通
- 498 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:27:33 ]
- >>497
誰しもそこから出発するわけでして、許してあげましょうよ。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:30:02 ]
- このスレの主旨はそういう言語戦争とは違うと思うけど?
そろそろCに変わる言語が欲しいね、という前向きな話だよ。
- 500 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:44:29 ]
- BCPLとK&Rの頃から愛してる
C99になってもっと恋しくなった BSDとEmacsも愛してる Cを知ったその日から 僕のプログラミング地獄に音楽は絶えない
- 501 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 11:02:04 ]
- K&Rからなら信じるけど。
BCPLからなんて誰が信じるか。
- 502 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:12:49 ]
- そこマジレスするところじゃなくね?w
- 503 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:15:28 ]
- 1億と2千年たってもC言語は健在だお。
- 504 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:46:41 ]
- そんなに人類生きてんのかな
- 505 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:08:34 ]
- マジレス乙w
- 506 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:25:07 ]
- そのころには人類は量子コンピュータ上でシュミレーティッド
された世界に住んでるんだろな。動作言語はもちろんC-100002000
- 507 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 07:07:17 ]
- シュミレーティッド
- 508 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:47:05 ]
- C++の何がまずいかは語りつくされたようだから、
次はDのなにがまずいかについて聞かせてくれまいか。
- 509 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:49:19 ]
- D言語は良く知らない
- 510 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:02:19 ]
- DこそCを駆逐してやるという目的で生まれた言語だよね?
- 511 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 02:01:19 ]
- でもDコンパイラってCと100%互換なんじゃなかった?
むしろ共存したいんじゃないの?
- 512 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:30:47 ]
- 互換性は罠だな。
共存すると見せかけてCプログラマをDに取り込んでおいて、 Cに戻れないほど脳みそを蝕んでおいてからはしごをはずすんだろう。
- 513 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 12:14:30 ]
- なんか方向性が逆じゃないか?
スタック変数の自動管理と、一般的な制御構文の使える高級アセンブラがあればいい。
- 514 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 13:17:54 ]
- そんなやつはもはや少数派なんだよ
- 515 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 18:36:13 ]
- >>513
マクロアセンブラで遊んでてください。
- 516 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:57:30 ]
- Java とか.netのVMのアセンブラを使えば、幸せになれるんじゃないか?
- 517 名前:513 mailto:sage [2008/07/03(木) 02:13:15 ]
- >>516
JVMとか.netのCLRとかは、それこそJavaやC#使えばいいだろ。 Cの本領発揮は、もはや絶対アドレスやIOポート参照が必要なところか、 CPUレベルの最適化が必要なところだけなんだから、だったらそこだけ 高級アセンブラで書いて、残りは本当の高級言語で書けばいい。
- 518 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 15:18:31 ]
- >>513 >>517
>高級アセンブラ それがCじゃないのか?
- 519 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:18:37 ]
- Cはポータビリティのために、効率が悪い点が多いんだよ。
低級言語は、機種依存な部分だけに使えばいい。
- 520 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 18:31:29 ]
- >>519
ここで低級言語といってるのはCのこと?アセンブラのこと?
- 521 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:47:30 ]
- >>511
惜しい。コンパイラは互換性無いよ。 互換性があるのはリンカ。
- 522 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:18:21 ]
- >>520
低級はローレベル。すなわちステムに近いことを示す。システム記述言語であるアセンブラやC/C++などじゃないか。
- 523 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 13:42:35 ]
- ttp://ja.wikipedia.org/wiki/%E4%BD%8E%E7%B4%9A%E8%A8%80%E8%AA%9E
- 524 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 23:15:15 ]
- >>522
Cと他言語(Java等)を比べて低級な方って意味で言ってるのか、 それともCとアセンブラを比べて低(ry ってことだろじょしこー
- 525 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 11:01:59 ]
- いや俺はJKよりJCのほうg
- 526 名前:デフォルトの名無しさん [2008/07/14(月) 12:03:02 ]
- もっとも低級言語に近い高級言語C。この独特のポジションにいる限りCobolやVBが滅びても
Cが滅びることはないように思う。
- 527 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 15:32:42 ]
- >>526
当然だな
- 528 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:47:27 ]
- そもそも、現在生き残っている OS で C を使わないものが、どれだけ存在するのか?
それ等の OS が全て駆逐されないかぎり、C は駆逐されないのは自明
- 529 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 00:42:27 ]
- まったくだ。リア工の俺にはCの無かった時代というのが想像できない。
- 530 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:08:16 ]
- LISPマシンが市場抑えていたらどうなったんだろう、って想像くらいか
マシン語が括弧だらけになるんだろうな サンもJavaマシンとか考えてたな あれは夢想に終わったんだっけか 後者はマシン語がJavaVMのバイトコードに置き換わるだけだな 実現していたところで、結局その上にCコンパイラとか出て来て意味不明な事になってたんだろうな
- 531 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:16:55 ]
- >>530
ICOT のアレは?
- 532 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:58:25 ]
- 34bitアーキテクチャが流行っただろうな
- 533 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:13:20 ]
- 将来、
GPUにDSP系のプロセッサを乗せて そいつにコードを転送する必要が生じたとき、 そのコードはC言語をはじめ、手続き型言語では記述できない 組み込み系も視野に入れるなら、C言語の立ち入ることのできない領域は今でもあるよ。 FPGAとかあるし。
- 534 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:24:01 ]
- >手続き型言語では記述できない
すまん。 俺にはそんなものがあるとはちょっと想像が付かない。 どういうこと?
- 535 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:16:17 ]
- >>534
FPGAとかゲートアレイっていう、電子回路をプログラミングできるチップがあって、 そいつをプログラミングするにはSystem-CとかHDLとかいう言語を使うんだ。 基本的には 「○番ポートと○番ポートの入力を足したり割ったりして、○番ポートに出力せよ」 という宣言の羅列になる。 本物のハードよりは遅いけれど、ソフトウェアよりは速い。 ソフトウェアより融通が聞かないけれど、ハードウェアよりは融通がきく。 という建前だった。 今は知らないけど。
- 536 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 01:48:03 ]
- それって手続き型言語で記述できないのか?
- 537 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 01:55:14 ]
- できるでしょ
- 538 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 02:34:18 ]
- 手続き型言語を procedural language の訳語とするなら無理だろう
逐次実行であることが第一義だから対極にある ただ、C言語を駆逐する方向という意味では、全く逆に取り込まれていく方向にあると思う これは、言語・ソフト的にという意味では無くて、ハード的にという意味だが
- 539 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 06:06:11 ]
- SystemCはC++で書けるんだが
- 540 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 07:06:43 ]
- >>534
大雑把に書くと 手続き型言語は演算子を順番に評価実行する。 HDLなどの記述言語は、すべての演算子が同時に評価され常に評価結果が反映される。 HDLに適した処理を手続き型言語で書き直すと処理時間が遅くなりすぎる。 手続き型言語に適した処理をHDLで書くと回路規模が大きくなりすぎる。まあこれは、HDLでCPUを書いてしまえば解決できるというのがノイマン型コンピュータというか手続き型言語の原点かな。
- 541 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 07:17:51 ]
- 記述できるじゃないか。
- 542 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:12:41 ]
- まぁ、手頃なスクリプト言語で書くほうが無難ってことだな。
- 543 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:36:05 ]
- haskellでHDL書きたい
- 544 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 09:04:28 ]
- >>543
atomでいいんじゃないか? funhdl.org/wiki/doku.php/atom
- 545 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 12:15:23 ]
- >>541
記述できてもパフォーマンスを満たせない
- 546 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 15:31:49 ]
- できないじゃなくて現実的じゃないってことか、把握
- 547 名前:デフォルトの名無しさん [2008/07/23(水) 08:10:10 ]
- CはどんなCPUでも同じ文法で動く、“共通アセンブラ”みたいな位置づけ。
他の言語と比べること自体がナンセンス。 もう機能追加とかしない方がいい。 CにはOOだのGCだの必要なし。それはLLとかに任せればいい。
- 548 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 01:45:34 ]
- CはC++の例外相当の処理を効率よく実行できないので不十分。
C++からCへのトランスレータが使われなくなったのはそのせい。
|

|