Linus「C++プログラマはウンコ。寄ってくるな」 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/01/24 13:32:25
> Git のソースコードを最初に見たとき、ヘンだと思ったこと:
> 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性が
> どうとか言わないで、
> そんなのウソに決まってるから。

*あんた* のほうこそ大ウソつきだ。

C++ はひどい言語だ。これは、多くの平均以下のプログラマーが
使ってるためにさらに輪をかけてゲロゲロになっていて、どうし
ようもないゴミが簡単に生産されるようになってる。正直いって、
C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だっ
たとしても、それ自体、C を使う強力な理由になりうる。

Linus Torvalds

URLリンク(tabesugi.net)


2:デフォルトの名無しさん
09/01/24 13:33:14
マでやれよカス

3:デフォルトの名無しさん
09/01/24 13:35:12
C++ができたら、ほかの言語はなんでもできるみたいな自信家多いな > C++PG

4:デフォルトの名無しさん
09/01/24 13:37:27
いまだにC++がオブジェクト指向言語だと思ってるやつもいるしな

5:デフォルトの名無しさん
09/01/24 13:40:03
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所


6:デフォルトの名無しさん
09/01/24 13:42:36
Gitのソースを見てみたら、素直な書き方なんで心が洗われるような気がした。
C++好きのやつは、初心者のころの素直な気持ちを思い出して欲しい。

7:デフォルトの名無しさん
09/01/24 13:44:15
仕事してると Linus の言う事はある程度分かってくる。
C++ 使いこなせる奴自体が少ないというのが C++ の大きな問題だということに。

8:デフォルトの名無しさん
09/01/24 13:54:59
悪いけどLinusってフレーマーっていうイメージしかないから
いまいち発言に説得力はないんだよね。論理的でもないし。

9:デフォルトの名無しさん
09/01/24 14:09:03
Linus氏はポインタで優越感を感じテンプレートに劣等感を感じているのです。
Ubuntuです。
思いやりです。

10:デフォルトの名無しさん
09/01/24 14:10:57
>>4
C++はオブジェクト指向言語だが?

11:デフォルトの名無しさん
09/01/24 14:14:00
Linusが言ったということだけで2chの厨房レベルの発言でも
感化される権威に弱い日本人って…
せいぜい現場の親方どまりのLinusが
Bjarneに劣等感いだきまくりなのが見え見えでなんとも…

ちなみに俺はLinusがFedora使いだと知った時点であんまり信用できんな、と思いはじめた。

12:デフォルトの名無しさん
09/01/24 14:14:42
Linusが良いことを言った!

クラスベースのオブジェクト指向言語なんて、オブジェクト指向
じゃないし。言語仕様がコロコロ変わり過ぎる。しかも互換性無し。
C++はゲロゲロのウンコ。C++マは、ウンコにたかる蝿に過ぎない。

13:デフォルトの名無しさん
09/01/24 14:15:06
>>10
うんうん。そうだね。

14:デフォルトの名無しさん
09/01/24 14:16:09
Linus は時代に適応できない過去の人だな。

15:デフォルトの名無しさん
09/01/24 14:18:19
>>10
まだ居るんだこういう人・・・

16:デフォルトの名無しさん
09/01/24 14:18:47
C++ はマルチパラダイム言語だよ

17:デフォルトの名無しさん
09/01/24 14:19:54
まあ、実際、マルチパラダイム言語なんて百害あって一利なし、というのは確かだが。

18:デフォルトの名無しさん
09/01/24 14:20:26
オブジェクト恥垢

19:デフォルトの名無しさん
09/01/24 14:20:35
雑魚プログラマには使えんだろうな。

20:デフォルトの名無しさん
09/01/24 14:42:22
いいこと言ってるな、とは思うが、cで書いてるとC++のSTLとかメンバ変数とかを使いたくなる
こともあるんだよなあ。いちおう、便利なところは便利だわC++。
世の中の「cわかります」と「C++わかります」って言ってる奴のほとんどがわかってない、
というのは同意。


21:20
09/01/24 14:45:30
メンバ変数じゃなくてメンバ関数だよ。メンバ変数ならcにもあるっての。

22:デフォルトの名無しさん
09/01/24 14:53:53
型チェックを強化してくれ。
あとやっぱりテンプレートも欲しい。
そしたら C でもいい。

あとやっぱ無名 union も欲しい。
C++ に無いけど関数ない関数もくれ(0xのラムダは却下)。
STL 相当のも欲しいけど、Boost みたいな何かができることを期待する。

23:デフォルトの名無しさん
09/01/24 14:54:24
ところでみんなはC++分かってると豪語できる?

24:デフォルトの名無しさん
09/01/24 14:56:51
cならすっかりわかっていると言い切れるが、C++はよくわからん。

25:デフォルトの名無しさん
09/01/24 15:09:03
 C++が最強だと言っていたときがあったが、いまではC言語を使っている。
複数人で開発するときに理解度が違いすぎて使えない。
とはいっても、ネームスペースとテンプレートが欲しい。
しょうがないから、いろいろな方法で同じようなことしているけどね。

26:デフォルトの名無しさん
09/01/24 15:11:40
複数人で開発するときにはCよりC++だろ。
常識で考えても非常識で考えても。

27:デフォルトの名無しさん
09/01/24 15:22:10
C++は、フールプルーフが無いからな。
成果物の質はプロジェクトのメンバーの最底辺に揃えられる。

28:デフォルトの名無しさん
09/01/24 15:26:11
なんだかんだでJava6が最強だ

29:デフォルトの名無しさん
09/01/24 15:30:41
どうも、C++をオブジェクト指向ではないということが「カッコいい」と勘違いしてる奴がいるな。

C++は間違いなくオブジェクト指向言語だよ。

30:デフォルトの名無しさん
09/01/24 15:31:16
寒々しい休日の午後にふさわしい実のない流れだな。

31:デフォルトの名無しさん
09/01/24 15:53:04
おいお前ら、
Linusが何千人もの(自称含めた)開発者を相手にしていることを忘れるなよ・・・

>>29
> 「カッコいい」と勘違いしてる奴がいるな。

あー、中二病っていうんですかね。

32:デフォルトの名無しさん
09/01/24 15:54:10
>>29
>「カッコいい」と勘違いしてる奴がいるな
俺がお前に抱いた感想そのもの

33:デフォルトの名無しさん
09/01/24 16:01:40
Firefox
Google Chrome
OpenOffice

これらはLinusのいう「ひどい言語」で作られています。ゲロゲロです。

34:デフォルトの名無しさん
09/01/24 16:03:34
>>33
Firefox以外はゲロゲロではあるが。

35:デフォルトの名無しさん
09/01/24 16:22:26
>>27
ちょっと待ってくれよ。
C と比べての話だろ?
C++ の方がコンパイル時エラー検出に役立つ仕様が多いだろ?

試しに例を挙げてくれよ。

36:デフォルトの名無しさん
09/01/24 16:27:32
言語と人は別だと思うんだが
その辺、整理したほうがよくない?

C++使いは普通Cも出来るからバイリンガルなわけで
用途に合せて使いわければいいでは?


37:デフォルトの名無しさん
09/01/24 16:31:34
>>36
まあそうだな。
Cだと走らせてみないとわからないようなバグが、C++だとコンパイル時にわかったりする。
C++の方が便利なのは確かだろう。後発だし。
ただし、ここでは、「便利なのを使うと素人がたかって来るからやむを得ず避ける」という話だから、
言語と人とを分けて考えるのがちと難しい。



38:デフォルトの名無しさん
09/01/24 16:37:56
言語仕様を人間フィルタ代わりに使うって、
実際的かもしれんが非生産的というかかっこわるいな。
C++が幅広すぎてノウハウ統一がしにくいなら
規約体系作ったりすればいいのに。
Linusってやっぱりギーク的ネガティブ思考なのかな。
こう、イメージとは違って
フロンティア精神みたいなものとはかけ離れてるな。
まあ実際、Linus製ソフトってGitとかLinuxとか
基本的にカイゼンモデルで開拓系といよりは職人系なんだけど。

39:デフォルトの名無しさん
09/01/24 16:58:43
>>34
Firefoxもかなりゲロい
GNOMEもコンポーネント化できずにwebkitへ行った

40:デフォルトの名無しさん
09/01/24 16:59:36
>>33
確かにゲロゲロだわ。Chromeは知らんが、
FirefoxもOOoも全てソースから、ちとマイナー環境で
buildしようと試みるとウンコ踏みまくりだった。
コンパイラやライブラリの些細なバージョン違いに
まで依存し過ぎ。

41:デフォルトの名無しさん
09/01/24 17:02:45
FFはビルドしたことないけど、
OOoはビルドにディスク空き10GB以上必要なんだよね…なにそれ?w

42:デフォルトの名無しさん
09/01/24 17:03:03
リーナスが口が悪いのは今更だろ?
「Minixはゴミ」
「OSXはウンコ」
「Gccはどんどんゴミになっていく」
「GNOMEはナチス」
「SVNは信じられないゴミ」
これにC++が加わっただけ。

43:デフォルトの名無しさん
09/01/24 17:04:17
美味しそうな食材集めて至高の料理を、と思ったら
出来上がったのがゲロだったと、そういう事ですか?

44:デフォルトの名無しさん
09/01/24 17:07:22
firefoxって、結構ガチガチに規約で固めてあると思ったけど
それでもゲロゲロなんか
linuxががゲロゲロだと困るからね

45:デフォルトの名無しさん
09/01/24 17:17:02
C++使う奴はよって来るな!もいきー!

46:デフォルトの名無しさん
09/01/24 17:30:56
45をコンパイルすると
もいきー!→もんきー!→猿→西遊記→ドラゴンボール→悟空→最強

45 名前:デフォルトの名無しさん :2009/01/24(土) 17:17:02
C++使う奴はよって来るな!最強!

46 名前:デフォルトの名無しさん :2009/01/24(土) 17:17:02
ありがとう。

47:デフォルトの名無しさん
09/01/24 17:32:46
よく読んでみなよ。
C++とC++の言語仕様が糞なのじゃなくて、

1.これを大して理解してない奴
2.そいつがこしらえた糞コード

がウンコっていってんでないか?

シリアルポートたたいたり、デバイスドライバ作ったり、割り込み考えたりするなら、C++はイラン。

48:デフォルトの名無しさん
09/01/24 17:33:00
そういやLokiとかいうオナニーライブラリはいまいずこ。

49:デフォルトの名無しさん
09/01/24 17:37:03
>>46
手抜きしないで時間も少し変えろよw
コピペ修正ミスのバグだなw


C++ が具合悪いことは認めるが、型チェックが強力なだけで C よりマシ。
C++ コンパイラでエラーが出たソースを却下するとか、
C++ コンパイラでコンパイルするけど class, template, using, :: が検出されたら却下するとか、
妥協が欲しいところだ。

つーかトランスレータでいいから、Linus 自身がマトモだと思う言語を作ったらいい。

50:デフォルトの名無しさん
09/01/24 17:40:38
>>49
言語が悪いんじゃないって言ってんのに話きかない奴だなおまえは

51:デフォルトの名無しさん
09/01/24 17:40:40
Loki懐しいな…

正直、C++ではSTLとboost以外使うコードなんか見つけた日にゃ
rm -rfした挙句、HDD取り出してそれが記録されてた推定位置を
アイスピックでガリガリにして再起不能にし
それを落としたサイトのドメインでパケットフィルタでブロックして
全ブックマークからそのサイトにリンクしてるサイトを削除。
そこまでしないと気がおさまらない。

52:デフォルトの名無しさん
09/01/24 17:44:20
boostのキモさは世界一。

53:デフォルトの名無しさん
09/01/24 17:49:03
リナスはシステムが得意なプログラマーで、コンパイラとか処理系が得意なわけじゃない。

というか、コンパイラのエラーとか型チェックとかの文句言うなら素直にJavaかC#つかえ。
速度差も結局はJITあるからC++とまったく差はない。
というか、動的にコードの置き換えが起きたりする可変(アスペクト)の研究が進んでるから、
C++で書いたコードと最適化コンパイラが作ったネイティブのコードより逆に速い。


54:デフォルトの名無しさん
09/01/24 17:50:12
でもboostが無いとC++ではまともに汎用的なコード書けないからなあ…
整数型のサイズ指定とか、C99仕様頼りになるのもなんか気持ち悪いし。

命名センスが???なのが多すぎるけど。
boost::filesystemなんてなんで再定義強要するような命名するのかわからん…

55:デフォルトの名無しさん
09/01/24 17:51:40
>>53
嘘はダメ

56:デフォルトの名無しさん
09/01/24 17:53:53
Linuxユーザーが気持ち悪いのも、リーナスの影響なんだな

57:デフォルトの名無しさん
09/01/24 17:55:41
>>50
何言ってんだ。
ナマの C はヤダって言ってんだ。

58:デフォルトの名無しさん
09/01/24 17:56:42
リーナスって色白で体温低そう

59:デフォルトの名無しさん
09/01/24 17:57:12
2chねらー気質なのは確か

60:デフォルトの名無しさん
09/01/24 18:22:29
配列のサイズを取得するマクロすら標準で用意されていない C/C++ は両方ともうんこ

61:デフォルトの名無しさん
09/01/24 18:24:43
>>60
Cで書けばこういう奴が寄ってこなくなる訳か
こりゃ>>1に賛成せざるを得ないな

62:デフォルトの名無しさん
09/01/24 18:33:33
コメントが書きやすくなったC、ぐらいの人が多いよ実際。
で、クラスとはそれを専門にしてる誰かが書いてくれる物で自分では書けない、と。

63:デフォルトの名無しさん
09/01/24 18:37:47
>>61
毎回 sizeof / sizeof してるコードを見たら
お前もそう思うようになるよ。

64:デフォルトの名無しさん
09/01/24 18:37:47
//スタイルのコメントは今はCにも取り入れられたぞ

65:デフォルトの名無しさん
09/01/24 18:38:19
むしろ B に存在していた // を
C で削除したのが問題だったのだ。

66:デフォルトの名無しさん
09/01/24 18:42:14
>>47
いや、最初にひどい言語だって言ってるじゃん。

67:デフォルトの名無しさん
09/01/24 18:44:14
配列のサイズ取得って、Cなら普通終端データで渡すもんじゃないの?
うざいぐらいsizeof/sizeof使うとか、頭悪いの?

68:デフォルトの名無しさん
09/01/24 18:47:08
だから、sizeof/sizeofのマクロすら標準で無いからウンコだと言ってるんだろ

69:デフォルトの名無しさん
09/01/24 18:49:21
だからそんなもん必要になる場面が多い時はコードを見なおせと言ってるんだろ

70:デフォルトの名無しさん
09/01/24 18:57:51
69の言う通りだな。

71:デフォルトの名無しさん
09/01/24 19:04:24
sizeofってことは静的配列だろう。たかが静的配列のアクセスで
あちこちでsizeof/sizeofしてるってことは明らかにダメなコードだな。
後で動的配列に切り換えたとたん全部書き直しになるし。


72:デフォルトの名無しさん
09/01/24 19:06:26
動的配列のサイズを取得するマクロすら標準で用意されていない C/C++ は両方ともうんこ

73:デフォルトの名無しさん
09/01/24 19:06:28
>>70
いや、普通先頭アドレスとサイズを渡すだろw

74:デフォルトの名無しさん
09/01/24 19:14:20
普通、配列のサイズは変数で持ち回るだろ
mallocはsizeof(要素の型) * 要素の数
でやって、あとは先頭と要素の数を持ち回る。

sizeof(配列)/sizeof(要素の型)で配列の要素数なんて、
学生の書くコードだよ。
プロがやったらちょっとそれはw
って感じ
あと//のコメントもCでやると素人臭いな。
VCSにコミットするまでに//のコメは消しとけよって感じ

75:デフォルトの名無しさん
09/01/24 19:15:19
>>72
CはともかくC++の場合マクロで用意されてたら怒るけど。つvector

76:デフォルトの名無しさん
09/01/24 19:16:46
プロ
プロ
プロ

VCS
VCS
VCS

77:デフォルトの名無しさん
09/01/24 19:19:50
あれ?このスレにはちょっとレベル高かった?VCS

78:デフォルトの名無しさん
09/01/24 19:22:00
相変わらず、レベル高けーな

79:デフォルトの名無しさん
09/01/24 19:36:19
70>>
>>73
sizeof/sizeofで固定長の配列の要素数を得るコードをいっぱい書くなと言いたかったんだけどなぁ。

>>74
sizeof(配列の識別子)/sizeof(配列の識別子[0])の方がいいと思う。
古い人間だからかもしれないけど//は使わないなぁ。/* */と#if 0 #endif使っている。

80:デフォルトの名無しさん
09/01/24 19:45:04
#if 0
/*
//の方が便利じゃん。
*/
#endif

81:デフォルトの名無しさん
09/01/24 19:46:04
/* */ はともかく #if 0 #endif は頭が固すぎるな

82:デフォルトの名無しさん
09/01/24 19:51:02
>>81
>#if 0 #endif は頭が固すぎるな
イマドキはどう書くんだい?

83:デフォルトの名無しさん
09/01/24 19:53:29
>>82
/* */ しか使わん。今時コメントバイナリに埋め込む馬鹿コンパイラなんて使わんし。

84:デフォルトの名無しさん
09/01/24 19:53:32
>>82
/// <summary>
/// いまどき
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public int func(int val)
{
}

85:デフォルトの名無しさん
09/01/24 19:58:12
>>83
いまどきの人はコメントを含むコードもコメントで囲むのかね?

86:デフォルトの名無しさん
09/01/24 20:01:52
いまどきの人はコメントがあるごとに区切ってコードだけをコメントアウトするんじゃないかね?

87:デフォルトの名無しさん
09/01/24 20:02:03
>>85
なんか困る?

88:デフォルトの名無しさん
09/01/24 20:03:19
>>87
どこが困るのかわからん奴はVBで遊んでろ
Cに近づくな

89:デフォルトの名無しさん
09/01/24 20:07:26
なんだ説明できないのか。

90:デフォルトの名無しさん
09/01/24 20:09:13
説明のヒントならとっくに出てるよ
おまえのスキルが低すぎて気づかないだけだ

91:デフォルトの名無しさん
09/01/24 20:10:24
で、自分では説明できないんでしょ?

92:デフォルトの名無しさん
09/01/24 20:23:02
>>75
お前は全ての配列を vector で動的に確保するというのか

93:デフォルトの名無しさん
09/01/24 20:26:29
 どいつもこいつもバカばっか。
実力のある人だけが、C言語でプログラミングして、実力のない人は、さっさと他の言語にいってくれよ。
そうしないと、じじいの目からビームがでるよ。

 ネストコメントだと思うけど、いまだに入らないんだ。
自作言語で/+ +/をネスト可コメントにしたこともあった。
//(スラリコメントと名前つけている)は、C99からだからC89でもコンパイルが通るように使わないことにしている。

94:デフォルトの名無しさん
09/01/24 20:28:43
ネストコメントなんてコメントアウトでしか使わないんだから #if 0 〜 #endif で良い

95:デフォルトの名無しさん
09/01/24 20:31:10
>>93から異臭が漂ってるな

96:デフォルトの名無しさん
09/01/24 20:32:26
>>92
>動的配列のサイズを取得する

97:デフォルトの名無しさん
09/01/24 20:34:14
2chで段落の先頭にスペース入れてる人3年ぶりぐらいに見た。

98:デフォルトの名無しさん
09/01/24 20:35:55
>>93
あんたと同類みたいな人も居るみたいなのに「どいつもこいつもバカ」とは適当すぎやしないか?

99:デフォルトの名無しさん
09/01/24 20:39:04
>>96
動的配列に対しては配列数を取得するマクロなんて何ら意味が無いだろw

100:デフォルトの名無しさん
09/01/24 20:40:57
いや、だからそういってるんだけど。

101:デフォルトの名無しさん
09/01/24 20:42:02
いってねーよw

102:デフォルトの名無しさん
09/01/24 20:43:20
なんだ、>>72 へのレスだったのか。
そりゃねーわ。

103:デフォルトの名無しさん
09/01/24 20:43:29
文盲たん?

104:デフォルトの名無しさん
09/01/24 20:47:55
とりあえず、リーヌスが腕のいい釣り師ってことはわかります。

105:デフォルトの名無しさん
09/01/24 20:58:11
教祖様がPHP叩いてた時を思い出した

106:デフォルトの名無しさん
09/01/24 21:03:37
C++ でまともなコードを書けない奴は
C でもまともなコードは書けない

107:デフォルトの名無しさん
09/01/24 21:12:17
Cで芸術的で官能的なコードが書ける人は、C++でも書ける。

108:デフォルトの名無しさん
09/01/24 21:12:36
>>106
ということは、C++ではまともなコードが書けない
といっているリーヌスはCでもまともなコードを書いてないと。

リーヌス涙目w

109:デフォルトの名無しさん
09/01/24 21:15:44
C++ でまともなコードが書けない人=あまり勉強をしない人。
こういう奴は言語を問わずまともなコードは書けない。

110:デフォルトの名無しさん
09/01/24 22:21:59
C++のクラスがCの構造体より優れてる所って何かある?

機能がいっぱい付いてるのは知ってる
その全てが複雑な動作と無駄なオーバーヘッドと不可解なバグの発生に貢献してるのも知ってる

111:デフォルトの名無しさん
09/01/24 22:27:09
コンストラクタとデストラクタがあるだけで天と地の差がある。

112:デフォルトの名無しさん
09/01/24 22:33:12
クラスのインスタンスはレジスタ渡しされる実装が多いから
Cの構造体を関数に渡して処理させるより速いぞ。
仮想関数だって結局関数ポインタなりswitchなりに変更しても
オーバーヘッドは極端に変わらん。

113:デフォルトの名無しさん
09/01/24 22:34:16
デストラクタは、まあ確かに役に立つかな
C++プログラマがリソースの管理が出来ないのはデストラクタに頼りすぎだからだろうし

コンストラクタは罠の塊だろ
死んだ方がいい

114:デフォルトの名無しさん
09/01/24 22:34:53
そんなだからCプログラマは変数の初期化忘ればっかするんだよ

115:デフォルトの名無しさん
09/01/24 22:34:58
メンバ関数は時々便利かな。
演算子オーバーロードは絶対使っちゃダメだな。
継承?仮想関数?そういうのも無視、無視。


116:デフォルトの名無しさん
09/01/24 22:35:26
>>110
C++には糞のような機能もすばらしい機能も山ほど付いているから、それらを取捨選択する能力が必要

117:デフォルトの名無しさん
09/01/24 22:37:39
継承は純粋な悪であって、利点は存在しない

そのことにC++コミュニティもようやく気付き始めてコンポジション(笑)を推奨し始めてる
結局Cで遙か昔からやってきたことに戻ってきた

118:デフォルトの名無しさん
09/01/24 22:37:40
>>113
C++は例外があるから
デストラクタなしにはまともにリソース管理できないんだよ。

119:デフォルトの名無しさん
09/01/24 22:56:14
>>117
C++は静的型があるから
継承なしにはまともにポリモーフィズムできないんだよ。

120:デフォルトの名無しさん
09/01/24 23:00:36
本当にLinusが言いたかったことはひとつ

RUBY最高

これマジ

121:デフォルトの名無しさん
09/01/24 23:10:39
それはないわ

122:デフォルトの名無しさん
09/01/24 23:29:07
━━━━━━━━━━━━━━━━━━━━
 
 そんなことよりyahooきっず「どんな''ジャンボ''が食べたい?」に投票しようぜwwwwwwwww
 ジャンボピーマンを一位にして餓鬼共を泣かせようwwwwwwwwww
 現在1位 yahooの工作開始までに2位のたこ焼きを突き放す

 URLリンク(kids.yahoo.co.jp)         _人人人人人_
                        >鶴職人募集中<
                         ̄ Y^Y^^Y^Y^ ̄

 ↓本スレ
 スレリンク(news4vip板)
━━━━━━━━━━━━━━━━━━━━

123:デフォルトの名無しさん
09/01/25 00:11:01
CStringのない環境で文字列扱えないっすよwww

124:デフォルトの名無しさん
09/01/25 00:14:05
std::string 使えよ

125:デフォルトの名無しさん
09/01/25 00:14:59
昔触ってた時は文字列クラスすらなかったな。
RTTI周りはちょっとは強化されたんだろうか。

126:デフォルトの名無しさん
09/01/25 00:32:07
1行目と2行目って関係あるの?

127:デフォルトの名無しさん
09/01/25 00:51:29
正直、STLとboostとQtがあれば出来ないことはないな…
コンソールからCGIからGUIまで汎用性&実用性最高水準で書ける言語なんてこれぐらい。

128:デフォルトの名無しさん
09/01/25 01:13:50
>>127
若干、器用貧乏な気もする。

>>117
相変わらず継承を推しまくるJavaなんかよりはましだ。

129:デフォルトの名無しさん
09/01/25 02:45:34
Linusは実は2chネラー、間違いない!

130:デフォルトの名無しさん
09/01/25 03:48:38
>>129
あながち、OS論争の時もnetnewsでやってたし、2chの技術系板のさきがけみたいな
気はしないでもないな。

131:デフォルトの名無しさん
09/01/25 06:04:57
>>117
継承が悪なら、基本ライブラリはなんで継承使いまくってるの?

132:デフォルトの名無しさん
09/01/25 06:31:16
>>131
標準ライブラリを作っていた頃はよく分かっていなかった。
localeまわりのグダグダとかauto_ptrとかもそのせい。

133:デフォルトの名無しさん
09/01/25 06:38:33
>>132
いや、Javaやsmalltalk、LL言語でも継承使いまくってるじゃん
それに最近出来てるライブラリも継承使いまくってるじゃん?こういうのも悪なの?

134:デフォルトの名無しさん
09/01/25 07:21:52
底辺プログラマってさ、グラビアアイドルが騙されるのと同じだよな。
芸能事務所解雇と同時に事務所所有のマンションを追い出されたりして。
いつ自分もそうなるかわからないし、そうなったらかわいそうだよな。

135:デフォルトの名無しさん
09/01/25 07:31:52
Linusの煽りの激しさと釣りテクニックの巧妙さを考えれば2CHで修業を
積んだと考えたほうが合理的だろうな。

136:デフォルトの名無しさん
09/01/25 07:35:12
なんて情熱的な煽りをする奴なんだ!クレイジーだぜ!
などと思ったものだが、写メ見て幻滅した記憶がある。
ただのヲタじゃん。

137:デフォルトの名無しさん
09/01/25 08:59:54
こいつってマイクロカーネルも批判してたよね。

138:デフォルトの名無しさん
09/01/25 09:02:36
誰このLinusとかいうコテハンは?

139:デフォルトの名無しさん
09/01/25 09:07:04
>>47
C++&COMでドライバ作るわけだが

140:デフォルトの名無しさん
09/01/25 09:32:33
>>137
実際マイクロカーネルはクソだったじゃん

141:デフォルトの名無しさん
09/01/25 09:33:48
ゲームをコマ落ち無しでしたいアホが多すぎるからだろ

142:デフォルトの名無しさん
09/01/25 09:39:51

このスレには >>135>>136 など、高いユーモアのセンスを持った
人間が沢山いるな。


143:デフォルトの名無しさん
09/01/25 09:43:47
デバイスドライバ作っても給料は安いままだよな・・・
何の技術も持ってない奴よりも俺の年収の方が低いなんて・・情けないよな・・・

144:デフォルトの名無しさん
09/01/25 09:47:35
>>143
ヒント: 需要と供給

145:デフォルトの名無しさん
09/01/25 10:04:19
>>143
何の能力も無いまま広告代理店だの株屋だのに勤めてる奴らは俺らより年収高いぞ。
歴史に残る天才が貧乏だったケースは無数にある。
年収=能力じゃないんだよ。
俺らはポインタも配列も怖くない、メモリリークなんていうバカなバグは出さない、
そこらの駆け出しプログラマとは格段にレベルが違う、その矜持だけでいいじゃないか。


146:デフォルトの名無しさん
09/01/25 10:31:39
確かにヘボな奴がメインでC++で組む位ならCでやらせるな
C以上の罠てんこもり言語だし

147:デフォルトの名無しさん
09/01/25 11:26:59
linusの言いたい事は解る。
自分の理解してる機能だけ使えばいいのにな。

>>143
日本のプログラマは給料安くてやってられね。
使える友人増やして、会社起こすしかないよ。


148:デフォルトの名無しさん
09/01/25 11:27:21
どうでもいいけどマ板でやって欲しいな

149:デフォルトの名無しさん
09/01/25 11:34:15
どうでもいいことなら黙ってろよ

150:デフォルトの名無しさん
09/01/25 12:00:44
>>143
金を得るという技術が無いだけでしょ?

金が欲しいならそっちの技術も磨けばいいじゃん。

151:デフォルトの名無しさん
09/01/25 12:05:54
Dだろ

152:デフォルトの名無しさん
09/01/25 12:40:22
C++とWinに手を出したら人間駄目になるよ。
麻薬だよ本当。

153:デフォルトの名無しさん
09/01/25 12:44:56
Objective-C & Mac OS X だよな。

154:デフォルトの名無しさん
09/01/25 12:59:34
Objective-Cなんてドうんこだろ

155:デフォルトの名無しさん
09/01/25 13:06:38
>>154
どこの部分が悪いか言える?

156:デフォルトの名無しさん
09/01/25 13:06:45
>>150
そっちの技術に興味がないけど金は欲しい

…ってのが大半なんだよな。エンジニアって…

157:デフォルトの名無しさん
09/01/25 13:12:36
どうでもよくないのでマ板でやって欲しいな

158:デフォルトの名無しさん
09/01/25 13:14:02
>>155
構文が汚い

159:デフォルトの名無しさん
09/01/25 13:40:20
C言語って、stlとかboostとか使えんの?

160:デフォルトの名無しさん
09/01/25 13:41:14
つかえないよ

161:デフォルトの名無しさん
09/01/25 13:45:07
識別子としてなら使えるよ

162:デフォルトの名無しさん
09/01/25 13:47:08
#include <stdio.h>

int main(void) {
 int stl = 0;
 int boost = 0;
 printf("%d, %d\n", stl, boost);
 return 0;
}

163:デフォルトの名無しさん
09/01/25 14:26:24
クリティカルなところはC
普通はLL言語つかってほうがいいわ。

164:デフォルトの名無しさん
09/01/25 14:47:35
全然関係ない個人的な主観の話でいうと、LL言語という表記がキモい。
見てると頭痛が痛くなってくる。

165:デフォルトの名無しさん
09/01/25 14:49:57
病院行けよ

166:デフォルトの名無しさん
09/01/25 14:51:30
例えも理解できないのかわかってて返してるのか

167:デフォルトの名無しさん
09/01/25 14:54:32
理解を分かってるよ。
LLかLW言語と言えってことだろ。

168:デフォルトの名無しさん
09/01/25 14:57:08
そういうくだらない所にこだわって
いちいち突っ込み入れて話を中断させる奴って小物ばっかりなんだよな。

169:デフォルトの名無しさん
09/01/25 14:59:58
よしじゃぁウォーニングとワーニングについて議論

しなくていいな

170:デフォルトの名無しさん
09/01/25 15:01:08
じゃあ、「C言語」で。

171:デフォルトの名無しさん
09/01/25 15:02:19
そのまえに「リナックス」と「ライナックス」と「リーヌクス」をハッキリさせようぜ。

172:デフォルトの名無しさん
09/01/25 15:16:56
>>168
それはお前が大物と話す機会のある立場に居なくて、
且つしょっちゅう言葉を間違えて突っ込まれる人生送ってるだけだろ。

173:デフォルトの名無しさん
09/01/25 15:17:56
大物(笑)

174:デフォルトの名無しさん
09/01/25 15:26:35
>>173
脊髄反射乙

175:デフォルトの名無しさん
09/01/25 15:26:40
>>160
Boost.Preprocessorは使えると思う。

176:デフォルトの名無しさん
09/01/25 15:59:53
待て待て、charはチャーなのかキャラなのかシャーなのかで

177:デフォルトの名無しさん
09/01/25 16:08:01
シャーだろjk

178:デフォルトの名無しさん
09/01/25 16:22:38
シャアの方がかっこいい

179:デフォルトの名無しさん
09/01/25 16:47:56
gitのすばらしいコードってどこでみれるかな

180:デフォルトの名無しさん
09/01/25 19:01:56
ちゃー・アズナブル

181:デフォルトの名無しさん
09/01/25 19:08:20
でも以下の事実は認めざるを得ないな。

・Linuxは世界で唯一成功したといえる非商用OS
・gitはRCSのなかで一番快適
・C++製アプリは規模だけでかくて質の悪いものが多い
 (採用実績はあっても成果実績が伴なっていない)

182:デフォルトの名無しさん
09/01/25 19:22:30
>>181
> ・gitはRCSのなかで一番快適
ほんとかね?
試してみようかね。

> ・C++製アプリは規模だけでかくて質の悪いものが多い
てめこの、ゲーム屋なめんな。

183:デフォルトの名無しさん
09/01/25 19:37:58
MercurialなんかPythonだし、バージョン管理システムなんて、diffとか一部の思い処理意外は
LLで書いても十分って気もするけど。

184:デフォルトの名無しさん
09/01/25 20:32:32
>・C++製アプリは規模だけでかくて質の悪いものが多い

>>33

確かに

185:デフォルトの名無しさん
09/01/25 23:09:30
確かに。
そもそもC++で書いてると、無駄に規模が大きく成ってしまう
気がする。言語版Multicsの再失敗だな。

186:デフォルトの名無しさん
09/01/25 23:37:51
COOLとかPP使えば
C++もCも大して変わらない。

結局、
作法が統一されてるC++で書いたほうが楽でスマート。

187:デフォルトの名無しさん
09/01/25 23:45:39
URLリンク(www.sage-p.com)

COOLがC++かわらないって、それはないだろ。

188:デフォルトの名無しさん
09/01/25 23:47:55
this をうっかり使うと C++ から使えないので
self にした方が良い

189:デフォルトの名無しさん
09/01/25 23:56:10
いや、一人で全部完成させて一生一人でメンテするならC++でも何でもいいって。

190:デフォルトの名無しさん
09/01/26 00:01:32
ここで大胆ながらも核心をついた発言をしてしまうと
HSP最強、ということになりかねない流れだな。

191:デフォルトの名無しさん
09/01/26 00:03:05
そもそも技術者育てる力も無いのに
初心者歓迎!なんてやってる会社が多いのが問題。
そう言う所で育ったPGはひどいことになる。

192:デフォルトの名無しさん
09/01/26 00:31:32
その初心者にC++チーム組ませて地獄をみたプロジェクトならぬディスジェクトが山のように…

193:デフォルトの名無しさん
09/01/26 03:28:06
XtとかMotifとかを生で触った事があって、Cでオブジェクト指向GUIプログラミングを
をやると、どんだけ酷い目に遭わされるか知ってると、C++への感慨も
変わってくると思う。

194:デフォルトの名無しさん
09/01/26 11:25:07
URLリンク(twitter.com)

195:デフォルトの名無しさん
09/01/26 11:28:25
>>194
status/1148031371

196:デフォルトの名無しさん
09/01/26 14:18:36
なんかウンコ漏らしちゃったよ(´ω`)

197:デフォルトの名無しさん
09/01/26 14:57:28
ウンコはウンコしない

198:デフォルトの名無しさん
09/01/26 15:13:24
>>191-192
あるある!!!

199:デフォルトの名無しさん
09/01/26 15:16:28
C++でGUIアプリの開発は悲惨の一言だな。
言語仕様が硬直的でまともにイベントディスパッチできねぇし。

200:デフォルトの名無しさん
09/01/26 15:19:11

ゲーム開発以外はもう全部Cでいいよ。


201:デフォルトの名無しさん
09/01/26 17:30:25
ゲームこそCで十分だろ。アセンブラでも良いぞ。

202:デフォルトの名無しさん
09/01/26 17:41:06
>>193
ノシ
「こんないーもんあるじゃねーか!C++使わせろよ!」
と思った。

203:デフォルトの名無しさん
09/01/26 20:05:32

マフィアなどが横行する裏の世界では、発見されるとまずい遺体を硫酸プールに
沈めて溶かし、証拠を消すなどという噂話がありますが、実際に科学薬品で遺体を
処理したことがあるという人が警察に捕まったそうです。

詳細は以下から。


BBC NEWS | Americas | Mexico man 'dissolved 300 bodies'

メキシコ警察に逮捕された男・Santiago Mezaは通称「シチュー・メーカー」。Mezaは
薬を扱うギャングのために、対立するギャングの遺体を週600ドル(約5万円)の
賃金で苛性ソーダを使って処理したとのこと。処理した遺体は300人にもなるそうです。

10年以上遺体処理を続け「何の感情もなかった」と話すMeza


Mezaは犠牲者の遺族と話す機会があるならば「謝罪したい」と述べています。
アメリカとの境界に位置する都市ティフアナでは、ドラッグを巡る争いで700人以上の
死者が出ており、メキシコ軍はMezaの言っている話は真実であると考えているそうです。

ブラック・ラグーンに出てくる始末屋ソーヤーのような人物ですね……。

URLリンク(gigazine.net)

204:デフォルトの名無しさん
09/01/26 20:08:13
>>203
>科学薬品
・・・

205:デフォルトの名無しさん
09/01/26 22:06:26
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)


206:デフォルトの名無しさん
09/01/26 22:24:43
>>205
自分らは陰口を書くのはOKってスタンスなんだから、同じ土俵にたてとか、2chどうこう言うなって感じだよなぁ。
しかも>>194とか、ほぼスルーされてるのに。
まあ、どうでもいいけど。

207:デフォルトの名無しさん
09/01/26 22:28:28
>>206
かまってちゃんを相手にするなよ・・・

208:デフォルトの名無しさん
09/01/27 04:18:33
LinuxにはHSPのような登竜門的な言語がないから
いつまでたってもフリーソフターが育たずにWinに遅れをとるんだよ…

209:デフォルトの名無しさん
09/01/27 06:14:06
>> フリーソフター
GNUの概念と真っ向から反するからそりゃね

210:デフォルトの名無しさん
09/01/27 06:22:58
>>208
HSPってwww

211:デフォルトの名無しさん
09/01/27 06:23:15
>>207
「どうでもいい」ことを一々嫌みったらしく書き残していく>>206もかまってちゃんだから、
相手にしないほうがいいよ。

212:デフォルトの名無しさん
09/01/27 08:58:32
cは金にならないからしかたない

213:デフォルトの名無しさん
09/01/27 09:10:44
なるよ
もっと視野を広げろよ

214:デフォルトの名無しさん
09/01/27 12:27:36
その点C++はトラブルが出つづけるので
ずっと金になるというのはあるな
まぁ誰かは損してるわけだが

215:デフォルトの名無しさん
09/01/27 15:00:06
バージョン決め打ちできるところは良いなあ

216:デフォルトの名無しさん
09/01/27 21:11:25
フリーソフターって初めて聞く用語だけど、一般的なの?

217:デフォルトの名無しさん
09/01/27 21:39:15
略してフリーターってよく言うじゃん。

218:デフォルトの名無しさん
09/01/27 21:41:14
>>206
はてな村やtw村での生活が長いと
ああいう勘違いしちゃうのかねえ

回り見えてないねえ

219:デフォルトの名無しさん
09/01/27 21:59:57
>>208
perl(のようなもの)とか、shスクプリトとか。

220:デフォルトの名無しさん
09/01/27 22:16:17
>>193
XtとかMotif触ったことないけど、kernelのファイルシステムや
ネットワークプロトコルスタック程度の使い方なら、Cのオブジェクト指向
っぽいプログラミングで十分だと思う。

逆にC++みたいなレイヤを一つはさむと、逆アセンブルしたコードが
Cに比べるとわけわかめなんで、panicしたとき調査しずらい。

221:デフォルトの名無しさん
09/01/27 22:20:18
>>199
それは、入力受け付けるのにコールバック関数を必要とするOSに、
薄いフレームワークをかぶせてるからであって、言語のせいではないと思われ。

222:デフォルトの名無しさん
09/01/27 22:41:53
>>206
自分でスレをtwに晒しておいて、自分のtwの発言が2chに晒されると「同じ土俵に立て」とか頭おかしいな。

223:デフォルトの名無しさん
09/01/27 22:43:02
>>219
なに、バールのようなものだと?

224:デフォルトの名無しさん
09/01/28 00:26:42
>>220
XmToggleButtonGadgetGetState()なんて関数名見たら、それだけでC++使いたくならない?w

225:デフォルトの名無しさん
09/01/28 00:52:05
むしろメソッドもネームスペースも無いからC使う。
一目ですべて分かる。

226:デフォルトの名無しさん
09/01/28 02:03:37
それじゃC以外使えないよ。

227:デフォルトの名無しさん
09/01/28 10:59:47
>>224
しかも Gadget と Widget で関数名違うしな。
で、なんかの派生クラス作ろうとしたら
vtable 自分で管理しなきゃいけなくて、益々C++ が欲しくなる。

228:デフォルトの名無しさん
09/01/28 11:02:25
ん、なんかごっちゃになってる。
× vtable
○ クラス構造体の関数ポインタ

229:デフォルトの名無しさん
09/01/28 11:11:41
Cはアセンブリ言語の違いを吸収するが、

C++はオブジェクトシステムの違いを吸収できない、と

230:デフォルトの名無しさん
09/01/28 12:19:59
>>221
C++ってdelegateはどうやって実現してるの?

231:デフォルトの名無しさん
09/01/28 12:32:24
燃料投下
URLリンク(hp.vector.co.jp)

232:デフォルトの名無しさん
09/01/28 13:15:28
化石燃料ですね、わかります。


233:デフォルトの名無しさん
09/01/28 16:45:22
Союз Советских Социалистических Республик

234:デフォルトの名無しさん
09/01/28 17:06:33
>>230
C#的なdelegateなら、適当なオブジェクトを受け渡し、
そのオブジェクトの特定のメンバ関数(典型的にはoperator ()という名前の関数)を呼ぶという取り決めでやり取りする。
ようするにダックタイピングが最近の流れ。

昔からある奴だと、仮想関数使ったりマクロで振り分けたりというのが根強い。

235:デフォルトの名無しさん
09/01/28 18:16:26
関数ポインタとマップ

236:デフォルトの名無しさん
09/01/28 18:25:33
>>235
Windowsだとコールバック関数にこちらから1つ値を渡せるから、
そこにオブジェクトへのポインタを仕込めるのでマップの出番は無いんだけど、ほかはそうでもない?

237:デフォルトの名無しさん
09/01/28 23:13:04
>234,230
オブジェクトへのポインタと、メンバ関数へのポインタでもできるかと。

ちなみにメンバ関数ポインタと言うのはこーいうの。

// メンバ関数ポインタ
void (CHoge::*pFunc)() = CHoge::func;
// .* 演算子でのアクセス
(obj.*pFunc)();

// ->* 演算子でのアクセス
(pObj->*pFunc)();

.* と ->* は . や -> と別の演算子として扱われ、
個別にオーバーライド可能ってのもポイント。

238:デフォルトの名無しさん
09/01/28 23:29:28
普通はBoost/TR1のbindとfunctionでラップして使うけどな。
そういやBoostにはSignalsなんてのもある。

239:デフォルトの名無しさん
09/01/29 06:13:11
>>238
>>1でそのboostもstlも一緒に馬鹿されてる

240:デフォルトの名無しさん
09/01/29 06:58:29
boostもstlもパラノイアを感じる
どうしてそこまでしてC++を使おうとするのか分からない

241:デフォルトの名無しさん
09/01/29 09:47:15
case insensitive な人が何か喚いている。

242:デフォルトの名無しさん
09/01/29 12:32:52
STLは素晴らしく便利だと思うが。
ていうかSTLを使わないC++はかなりウンコ。それならCでキレイに書いたほうがいい。


243:デフォルトの名無しさん
09/01/29 12:54:28
C++のiostreamを考えた奴は、アホだと思う。

後発の言語で、iostreamをパクったのって有るのか?

244:デフォルトの名無しさん
09/01/29 12:57:36
Cは言語機能がちょっと貧弱すぎるせいで、ぐじゃぐじゃなマクロで
取り繕おうとしてしまうケースがしばしば見られる気がする

マクロはウンコ

245:デフォルトの名無しさん
09/01/29 13:05:34
>>240
Cは貧弱で、
プロジェクトで作ったライブラリは顧客の所有物となれば、次のプロジェクトで流用できない。
別々のプロジェクトから集まったチームのためにvectorやらなんやら設計しなおすのもバカらしい。

246:デフォルトの名無しさん
09/01/29 13:05:40
C++をjavaとかC#と比べる奴はIT土方。
みんながみんな開発効率重視の使い捨てPGじゃない。
とりあえずC++の設計と進化くらいは流し読みしとけ。

247:デフォルトの名無しさん
09/01/29 13:09:57
>>243
あれは酷い。

248:デフォルトの名無しさん
09/01/29 13:22:54
C++はいわゆる「C++スタイル」で書くことに結構こだわる俺でも
iostream系だけは使ってない。

249:デフォルトの名無しさん
09/01/29 13:46:15
iostreamは、技術デモとしては面白いよね、あはは ってレベル。
標準ライブラリとして紛れ込んでるのは、たぶん、事務処理ミス。

250:デフォルトの名無しさん
09/01/29 14:16:48
genericなライブラリもdelegateも言語仕様として素直にサポートすりゃいいのに
何でもかんでもtemplateで無理やりやろうとするところがバカっぽい。

251:デフォルトの名無しさん
09/01/29 14:17:08
ATLで十分


252:デフォルトの名無しさん
09/01/29 14:36:50
古いC++の本読むとクラスこそC++の光、継承こそC++の真髄みたいに書かれているのに
ちょっと前に出版されたC++ Cording Standardsには
なるべく継承はヤメれ、friendもほどほどにねみたいに書かれてる。

253:デフォルトの名無しさん
09/01/29 15:38:35
friend なんかいらないだろ。

254:デフォルトの名無しさん
09/01/29 15:44:55
というか、そこまで継承を使う必要に迫られたことがない。
オブシコの真髄はコンポジットにこそある、
とC++触りはじめて3日ぐらいで気付いたっけなあ。
これぐらいのセンスがないとC++はむずかしいね。

255:デフォルトの名無しさん
09/01/29 20:51:36
なるほどねぇ、自分は本に書かれたままに受け取るしか出来ないからC++には向いてないかな。
でも、C++面白いんだよね、純粋に。

256:デフォルトの名無しさん
09/01/29 21:18:30
Cのコンパイラより
C++のコンパイラの方が
なんか速そうな感じがする。


257:デフォルトの名無しさん
09/01/29 21:18:57
C++は、要らん苦労を背負っときながら、でもこうするとちょっと楽だよね
っていう感じで、3歩下がって2歩進むことばかりに見える

258:デフォルトの名無しさん
09/01/29 21:20:50
URLリンク(www.hsjp.net)
販促チラシ



259:デフォルトの名無しさん
09/01/29 21:53:53
>>243
javaとc#でなんか同じような名前のがあったような。

260:デフォルトの名無しさん
09/01/29 21:55:54
いやいや、名前にStreamって付くクラスがあるだけ。
どっちも演算子で入出力なんてやらないよ。

261:デフォルトの名無しさん
09/01/29 22:05:20
i/ostringstreamはかなりイケてると思うんだがどうよ。

262:デフォルトの名無しさん
09/01/29 23:32:32
演算子を使ってるのはべつにいいけど、書式指定の使いにくさがどうにも。


263:デフォルトの名無しさん
09/01/29 23:35:26
printf 風の指定もできればいいのに
boost なしで

264:デフォルトの名無しさん
09/01/30 00:11:28
うん、俺もout系のstreamは、sprintfというのが用意してあったらかなり違ったと思うね。
scanf系のアドレス渡しとかフォーマットミスが嫌われた要因の一つだろうから
in系はともかくとしても。

あと、Cが文字列型を持たないのを引きずって、文字列の扱いが中途半端だったね。
もちろん、C++がAT&Tで生まれた直後から多数の「文字列class」が生まれてしまったのも原因だけど
「静的なstring」を用意することが出来ない。
だから、f(const string&)を呼び出すときにf("abc")とすると
毎回コンストラクタとデストラクタが呼ばれるってのもどうもね。
char*をやめて全部stringにしろといわれても、外部やAPIとのやりとりではそうも行かず。

265:デフォルトの名無しさん
09/01/30 00:14:23
普通イテレータ使うだろ。

266:デフォルトの名無しさん
09/01/30 00:28:33
ま、あのJavaでさえ、途中からとはいえprintf()様の軍門に下ったからな。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4326日前に更新/175 KB
担当:undef