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()様の軍門に下ったからな。
267:デフォルトの名無しさん
09/01/30 00:31:57
printfは神
268:デフォルトの名無しさん
09/01/30 00:33:34
printf っぽいものでも
型安全にする事は可能だからな。
ostream は今からでもそれをサポートすべき。
269:デフォルトの名無しさん
09/01/30 00:47:23
もう誰も新しい整形方式でprintfを倒そうという愚かな野望を抱かなくなったこと
結果としてprintfの優秀さが再認識されて今多くの言語でサポートされて使えること
これらがiostreamの惨めな失敗によるものなのだとしたら
あの糞ライブラリにも意味があるのかもしれない
270:デフォルトの名無しさん
09/01/30 00:50:53
>269
不遜なC#がprintf()様に微妙に反抗してます。
271:デフォルトの名無しさん
09/01/30 01:04:00
c#のあれは最初からprintfの軍門に下っている
iostreamのようにprintfへの挑戦者ではないだろう
272:デフォルトの名無しさん
09/01/30 01:14:59
printf対ostreamは天地の差だけど
scanf対istreamならどっこいどっこいだと思う
273:デフォルトの名無しさん
09/01/30 01:57:02
というか、上級のC++グラマでC++そのまんま使ってる奴なんているか?
そのクラスだと独自マクロ作ってC++なんかドライバ扱いなのが普通だと思ってたが。
274:デフォルトの名無しさん
09/01/30 02:14:13
つまり273は上級だと
275:デフォルトの名無しさん
09/01/30 02:25:51
>>273
URLリンク(www.gnu.org)
276:デフォルトの名無しさん
09/01/30 06:07:10
>>275
Seasoned Hacker
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
Hello, world.
ワロタw
277:デフォルトの名無しさん
09/01/30 11:52:04
Cコンパイラってなんであんなコンパイルが軽いの?
手抜きしてそう
278:デフォルトの名無しさん
09/01/30 12:17:23
企業に例えるとCは昔のGoogleでC++は今のGoogle
279:デフォルトの名無しさん
09/01/30 12:33:57
>>277
C++がLALRでないからじゃなかったっけ
280:デフォルトの名無しさん
09/01/30 14:50:45
構文解析の複雑さくらいじゃ、体感出来る程の違いは生まれないんじゃね?
テンプレートの実体化とかオブジェクト(vtable)のレイアウトを決定するのに時間がかかりそう
281:デフォルトの名無しさん
09/01/30 14:55:29
新人医者有受研修、教授被教尿道挿管。
医者挿入四苦八苦、多苦労後無事挿入。
然教授苦笑曰新人、「汝挿入場所相違也」。
医者赤面至急欲除、尿管微動不得取外。
医者必死謝罪患者、然患者喜々誤挿入。
教官不思議聞患者、曰「快感多旦那以上」。
282:デフォルトの名無しさん
09/01/30 16:44:44
>>278
なんか妙に納得。
昔のGoogleは素気ないがCoolだったな。
いまじゃすっかりチンドン屋になってしまったが。
283:デフォルトの名無しさん
09/01/30 16:48:51
>チンドン屋
ヤホーほどじゃない。
284:デフォルトの名無しさん
09/01/30 17:13:34
経済学的にはC++のほうが良い言語なのかなw
285:デフォルトの名無しさん
09/01/30 17:18:46
経済学的に考えると、
世の中の機器からチンドン屋になっちゃったんだから、
チンドン言語で書くのが効率的じゃね?
286:デフォルトの名無しさん
09/01/30 17:23:11
自然な思考で当たり前のプログラミングを~Bjarne Stroustrup氏との対話~
URLリンク(codezine.jp)
287:デフォルトの名無しさん
09/01/30 20:35:43
URLリンク(123.writeboard.com)
pass:pgtwit
288:デフォルトの名無しさん
09/01/31 00:58:57
C++からCにいって気付いたこと。
デフォルト引数も関数の多態性もないせいで
ライブラリの関数とかで無駄な引数いっぱい…
不使用の引数でもわざわざダミー変数用意しなきゃならん。
Xlibとかめんどい。
289:デフォルトの名無しさん
09/01/31 01:32:05
欠点が明確なのは、欠点がなんだかよくわからないよりずっとましだ。
290:デフォルトの名無しさん
09/01/31 01:55:34
>>288
君はC++にも不適格だと思うぞ
291:デフォルトの名無しさん
09/01/31 01:59:44
なこたあないん。
292:デフォルトの名無しさん
09/01/31 02:08:28
C++プログラマって、どこまでも行っても下がいる
言語仕様がクズを生みやすいってことだと思う
293:デフォルトの名無しさん
09/01/31 02:09:49
それはCでも同じ
294:デフォルトの名無しさん
09/01/31 08:41:24
>>288
君は「C++の設計と進化」を読んだ方がいい
295:デフォルトの名無しさん
09/01/31 10:31:18
変数宣言は一番上だけってのがきもい
296:デフォルトの名無しさん
09/01/31 10:35:09
>>295
kwsk
まさか、ソースコードの一番上で宣言するような言語があるのか?
297:デフォルトの名無しさん
09/01/31 10:42:02
int func(a, b, c)
int a;
float b;
void* c;
{
return a+(int)b+(int)*c;
}
298:デフォルトの名無しさん
09/01/31 11:05:15
>>295
ヒント: スコープ
299:デフォルトの名無しさん
09/01/31 11:12:19
>>297
なにこれ、釣り?
AT&Tでは、そんな書き方できたんだ、知らなかったなぁ。
>>void* c;
>>{
>> return a+(int)b+(int)*c;
参考になりますた。C言語を使いこなせない人は、ここに立ち入り禁止ね。
C++を使う人も来ないでください。気持ちが悪いです。
300:デフォルトの名無しさん
09/01/31 11:19:03
>>299
お前が来なきゃいい。
301:デフォルトの名無しさん
09/01/31 11:30:05
「C++プログラマはウンコ。寄ってくるな」
302:デフォルトの名無しさん
09/01/31 11:31:58
それはLinusが言ってるだけで、このスレに来ることは問題ないから。
303:デフォルトの名無しさん
09/01/31 11:35:15
「C++プログラマは犯罪者。消えろ」
304:デフォルトの名無しさん
09/01/31 13:11:16
*(int*)c じゃないのか?
305:デフォルトの名無しさん
09/01/31 13:12:48
C++プログラマをいじめすぎ
306:デフォルトの名無しさん
09/01/31 13:12:52
それでいいよ。
307:デフォルトの名無しさん
09/01/31 14:07:16
追い詰められたC++はLispを取り込んで最終形態に・・・
308:デフォルトの名無しさん
09/01/31 15:14:07
C++ の作者にセンスがなかったと言わざるを得ない。
作者が元凶であった以上、C++ は元々消えていく運命にあったのだね。
309:デフォルトの名無しさん
09/01/31 15:18:41
Objective-Cの糞構文を見たら、C++の構文は神に見えるよ
310:デフォルトの名無しさん
09/01/31 15:30:20
>>294
そういう問題でもない。
311:デフォルトの名無しさん
09/01/31 15:43:46
>>268
>printf っぽいものでも
>型安全にする事は可能だからな。
どんなふうにすればいいの?
312:デフォルトの名無しさん
09/01/31 15:46:55
>>220
>逆にC++みたいなレイヤを一つはさむと、逆アセンブルしたコードが
>Cに比べるとわけわかめなんで、panicしたとき調査しずらい。
わざわざご自分の無能をおさらしにならなくとも
よろしいのに。
313:デフォルトの名無しさん
09/01/31 15:47:31
int i; float f; MyClass c;
printf("%(int) %(float) %(MyClass)\n", i, f, c);
314:デフォルトの名無しさん
09/01/31 15:57:04
それどこのオレオレコンパイラの仕様?
315:デフォルトの名無しさん
09/01/31 16:02:55
>>309
どっちも糞
316:デフォルトの名無しさん
09/01/31 16:07:05
HSP……
こうなってはもうHSPしかないのか……
317:デフォルトの名無しさん
09/01/31 16:09:11
printfの安全性は、コンパイラが賢くなる事で解決。
318:デフォルトの名無しさん
09/01/31 16:13:03
プログラマブルプログラマはCを使う。
319:デフォルトの名無しさん
09/01/31 16:14:53
C++じゃないけど、正規表現みたいにprintf書式もリテラルを作れればいいのに、と思う。
320:デフォルトの名無しさん
09/01/31 16:17:54
そもそも、printfとstd::coutって実質的に何が違うんだろ?
std::coutで特に記述が簡素化したとも思えないんだけど。
何を思ってこんなもん作ったんだ?
321:デフォルトの名無しさん
09/01/31 16:23:33
オペレーターオーバーロードをしたかっただけだろ。
322:デフォルトの名無しさん
09/01/31 16:26:47
>>320
long longが%I64dか%lldかで悩む必要なく、doubleに%lfを使うコードを見てうんざりする必要がなくなった。
ただ、それを実現したいだけなら、Javaみたいにprint(x)でいいわけなんだけど。
323:デフォルトの名無しさん
09/01/31 16:44:22
おーできない君が群がるスレですな
結構活気ありますねw
324:デフォルトの名無しさん
09/01/31 16:46:13
ですな
325:デフォルトの名無しさん
09/01/31 16:47:02
>>320
可変長引数を間違えるうんこを、救済したかったんだろ。
案の定あらゆる所で漏らしまくる、うんこ野郎が集まってきたとw
メモリの管理も出来ないゴミを前提にしてるし仕方ないさ
326:デフォルトの名無しさん
09/01/31 16:50:34
というかマ版用スレじゃんこれ
327:デフォルトの名無しさん
09/01/31 17:06:12
>>320
オブジェクト指向のデモ的な側面があったんだろうね
「ほら、オブジェクト側に処理を任せちゃえば、何も考えないですむんですよ」
「なるほど、楽ですね。でも出力幅とか書式指定したくならないですか?」
「実際のプログラミングではそうだろうね」
「そうすると結局手間は変わらない、むしろ面倒になるのでは?」
「ですよね。まあ、こんなことも出来ますよ、というデモですからねー」
328:デフォルトの名無しさん
09/01/31 17:06:13
>>323
出来たつもりになってるうんこ君を笑うスレです
329:デフォルトの名無しさん
09/01/31 17:14:04
俺はデキルスレになってるのが笑える
330:デフォルトの名無しさん
09/01/31 17:44:10
iostreamはいい加減に黒歴史化してほしい。
新しい入出力ライブラリ作ってさ。
331:デフォルトの名無しさん
09/01/31 17:53:25
C++って仕事でチーム開発で使うとCベースより問題が発生することがほとんどなんだが
これを言うとキャリアの浅いやつや責任持ったことのない奴ほど理解できないんだよな。
ここでこういうこというやつは、よっぽど教育がなされてる環境にでもいるのかな。
332:デフォルトの名無しさん
09/01/31 17:56:14
そりゃあんた、できないと思われることを嫌う連中は理解したがらないよ。
ここで言っている方は、挫折経験でもあるのだろうし。
333:デフォルトの名無しさん
09/01/31 18:20:20
できないと思われたくないならやさしいと思っているCを提案されれば飛びつくだろ。
でもそうならない。
334:デフォルトの名無しさん
09/01/31 18:26:28
最先端の現場ではHaskell使っても統一とれるんだから
指揮能力の問題だろうな。
335:デフォルトの名無しさん
09/01/31 18:38:18
Cはやさしいかなぁ?
VBでいいって言われるならともかく。
336:デフォルトの名無しさん
09/01/31 18:48:23
さすがにそのレベルは除外
337:デフォルトの名無しさん
09/01/31 18:49:59
最先端の現場ってどこだよw
338:デフォルトの名無しさん
09/01/31 18:58:28
最戦端の現場
339:デフォルトの名無しさん
09/01/31 18:59:05
>>337
URLリンク(xmonad.org)
340:デフォルトの名無しさん
09/01/31 19:07:03
これが?
341:デフォルトの名無しさん
09/01/31 19:15:17
初心者から雇う癖に教育しないからそうなる
342:デフォルトの名無しさん
09/01/31 19:16:24
C++なんて教育するよりCでやったほうがコスト安い
343:デフォルトの名無しさん
09/01/31 19:18:37
それで現場でいきなりC++やって、訳分からんクラス作ったりするんだな
344:デフォルトの名無しさん
09/01/31 19:20:38
だからやらせないんだろ
345:デフォルトの名無しさん
09/01/31 19:25:57
つーかCよりC++の方が便利で楽じゃね。
346:デフォルトの名無しさん
09/01/31 19:30:31
つーかC++よりHSPの方が便利で楽じゃね。
347:デフォルトの名無しさん
09/01/31 19:34:45
何が便利で何がラクなのか。素人に抽象化の機能なんか使わせたら
コードも動作も抽象化されて修復不可能になるんだぞ。
348:デフォルトの名無しさん
09/01/31 19:35:35
初心者は何も抽象化しないよ
349:デフォルトの名無しさん
09/01/31 19:50:57
抽象化なんて全く必要ないね
350:デフォルトの名無しさん
09/01/31 19:53:23
このスレC++使いほとんどいないな
351:デフォルトの名無しさん
09/01/31 20:03:25
初心者というかオレ天才的初心者な。
入門書を曲解して謎のコードを大量生産。
352:デフォルトの名無しさん
09/01/31 20:03:57
ここまで「スクリプト言語使えよ」という意見ほとんどなし
353:デフォルトの名無しさん
09/01/31 20:17:49
>>352
誰も使うなとは言ってない。
問題は、C with スクリプト言語か、C++ with スクリプト言語かだ。
354:デフォルトの名無しさん
09/01/31 20:38:18
>>351
K&Rですね、わかります
355:デフォルトの名無しさん
09/01/31 21:11:05
抽象化なんてC++には不向き。
機能に溺れて逆にCのほうが抽象化しやすくなってる。
356:デフォルトの名無しさん
09/01/31 21:20:29
それはない。
357:デフォルトの名無しさん
09/01/31 21:24:23
抽象化がほとんど出来ないがために中身がよく見えるC
中途半端な抽象化のせいで中身ダダ漏れだけど肝心な所には触れないC++
358:デフォルトの名無しさん
09/01/31 21:49:38
黙って Haskell か Lisp 使っとけ
359:デフォルトの名無しさん
09/01/31 21:52:54
で、お前はHaskell使ったことあるわけ?
360:デフォルトの名無しさん
09/01/31 21:58:04
main = return "無いよ" >>= putStrLn
361:デフォルトの名無しさん
09/01/31 22:14:59
世の半分程度の人は抽象思考が苦手
その状態でプログラムに手を出す人がいるが、
プログラム向いてないよと言いたい
362:デフォルトの名無しさん
09/01/31 22:15:37
どうぞ言ってください
363:デフォルトの名無しさん
09/01/31 22:44:00
論理的思考のできない人多いよね
364:デフォルトの名無しさん
09/01/31 22:44:39
例えば?
365:デフォルトの名無しさん
09/01/31 23:07:43
ちょっと抽象的なコードを書いたら読めないとか言われたり
366:デフォルトの名無しさん
09/01/31 23:39:26
抽象的なコードもいいけど
むりやりC++で書いた関数プログラミング的なコードを読まされるのだけは勘弁
367:デフォルトの名無しさん
09/01/31 23:57:26
C++からオーバーロードを引くけば食いおわった魚の骨のごとくである。
その心は?
C++-<<
おあとがよろしいようで。
368:デフォルトの名無しさん
09/01/31 23:59:06
計算機を動かすコードに抽象的なんてことがあるだろうか?
369:デフォルトの名無しさん
09/02/01 00:10:21
屁理屈大魔王。
370:デフォルトの名無しさん
09/02/01 00:12:15
>>368
計算機を動かすコードには無いだろうね。
でも俺らが書いてるのは、計算機を動かすコードを生成させるコードだから。
371:デフォルトの名無しさん
09/02/01 00:18:46
>>368
計算機を動かすコードはすべて抽象的なもの。
抽象的なコードが具体的な電荷や電気信号に変換されて計算機を動かす。
372:デフォルトの名無しさん
09/02/01 00:20:45
C/C++で仕事してる俺から見るとJAVAorC#プログラマはC/C++に寄ってくるなと言いたい。
classの宣言と実体を全て.hファイルに記述されてるの見た時、
リアルで('A`)ウヘェーってなった。
3000行超えてるし…誰が管理するんだよ…
373:デフォルトの名無しさん
09/02/01 00:22:10
早めにそれはアカンと言えばいいだけだろw
放置する方が悪い
374:デフォルトの名無しさん
09/02/01 00:23:17
そもそも宣言と定義が分かれてるのがクソなわけで
375:デフォルトの名無しさん
09/02/01 00:24:24
>>373
> 早めにそれはアカンと言えばいいだけだろw
まぁ、初期段階では指摘するチャンスが無かったってこともあるだろう、いろんな事情で。
376:デフォルトの名無しさん
09/02/01 00:26:00
3000行って・・・大した事ないよね?
377:デフォルトの名無しさん
09/02/01 00:27:52
Java or C# プログラマが全部そんな人だと思わないで下さい・・・
378:デフォルトの名無しさん
09/02/01 00:27:58
大きなクラスなら.cppもそれくらい長くなることもあるだろ
メンバを一覧出来ないってことなら、現代的なIDEならそんなのは表示してくれるし
379:デフォルトの名無しさん
09/02/01 00:28:37
ファイル変更時のリコンパイル範囲が問題なんだよ
380:デフォルトの名無しさん
09/02/01 00:34:17
C&viの時代からプログラムは組めているのに、IDEがないとまともにかけない言語ってどうなの?
381:デフォルトの名無しさん
09/02/01 00:35:12
>>379
Javaは動的解決だけどC++は静的解決って差もわからない奴がC++いじるともう・・・
382:デフォルトの名無しさん
09/02/01 00:47:59
全部ヘッダで3000行ならきついだろ。
例外はBoostの水準のテンプレートライブラリだが、そんなの自分では書かないしね。
383:デフォルトの名無しさん
09/02/01 00:51:36
なんだ、書かないんだ。
384:デフォルトの名無しさん
09/02/01 00:51:51
テンプレートはどうせ全部ヘッダで書かないといけないから
クラス内に全部記述したので問題ない。
(static メンバ変数の実体定義だけはクラス外に書く必要があるが)
385:デフォルトの名無しさん
09/02/01 00:52:59
>>372がテンプレート知らなかっただけってオチ?
386:デフォルトの名無しさん
09/02/01 00:54:33
また知ったかが便乗してる
387:デフォルトの名無しさん
09/02/01 00:55:15
いいや、Java/C#から来た人間がそんなもの書くわけないだろ。
家に帰ったらC++やりますって偽装でもない限り。
388:デフォルトの名無しさん
09/02/01 00:56:00
>>385
それは無いな。
389:デフォルトの名無しさん
09/02/01 00:58:39
>>372必死w
390:デフォルトの名無しさん
09/02/01 00:59:38
知ったかが勘違いを押し切ろうとしている
391:デフォルトの名無しさん
09/02/01 01:00:12
>テンプレートはどうせ全部ヘッダで書かないといけないから
おまえはどんな糞コンパイラつかってんだよ…
392:デフォルトの名無しさん
09/02/01 01:02:00
>>391
393:デフォルトの名無しさん
09/02/01 01:02:07
export なんて都市伝説です
Comeau C++ なんて知りません><
394:デフォルトの名無しさん
09/02/01 01:04:41
>>392
395:デフォルトの名無しさん
09/02/01 01:05:59
int 392(void){
return >>394;
}
396:デフォルトの名無しさん
09/02/01 01:06:30
ふう。再帰化完了。
397:デフォルトの名無しさん
09/02/01 01:06:39
export も知らない素人か・・・
398:デフォルトの名無しさん
09/02/01 01:08:04
(void) ってC臭がプンプンするな
399:デフォルトの名無しさん
09/02/01 01:09:47
主要コンパイラにないものを語って悦に入るって・・・
400:デフォルトの名無しさん
09/02/01 01:10:16
exportがサポートされていない→糞コンパイラ
って、まったくプログラム書かない言語ヲタか何かかな。
401:デフォルトの名無しさん
09/02/01 01:10:22
いるんだよね、Cの記述スタイル馬鹿にする奴
単純にCもまともに使えないだけなんだが
402:デフォルトの名無しさん
09/02/01 01:12:17
>>391の使っているコンパイラを紹介して貰いたいところ
403:デフォルトの名無しさん
09/02/01 01:20:58
export を知らなくて、ジョークも理解できなかったようだな
404:デフォルトの名無しさん
09/02/01 01:21:38
3000行越えてるからどうこう言ってる奴は
とりあえずLinusさんが開発してるカーネルのkernel/sched.cを見た方がいい
405:デフォルトの名無しさん
09/02/01 01:24:15
テンプレートに挑んでexportを知らない奴はいないだろう
406:デフォルトの名無しさん
09/02/01 01:24:40
c/cppファイルなら別に文句ないぞ。
>>372の場合、ヘッダに全部書いているのが悪いだけだ。
407:デフォルトの名無しさん
09/02/01 01:30:56
ああ、372は「C/C++で」宣言定義を全部.hに書いてるアホがいるって言ってたのか
そりゃクソだな
てっきり「Java/C#は宣言も定義も一つのファイルに書くから糞」って言ってるのかと思った
408:デフォルトの名無しさん
09/02/01 01:31:53
お前・・・
正直なのはいいことだよ・・・
409:デフォルトの名無しさん
09/02/01 01:33:26
>>403
まぁこうなったら「ジョークが理解されなかった」で押し通すしかないのはわかる。
410:デフォルトの名無しさん
09/02/01 02:47:06
宣言と定義が別ファイルに分かれてるだけでもう二度手間というか
いまどきありえねーって思う。エッチとCは一緒だろ
411:デフォルトの名無しさん
09/02/01 02:53:11
そうかなぁ
インターフェースと実装を分けるのって大事じゃない?
412:デフォルトの名無しさん
09/02/01 02:55:07
interface があればいいんだよ
interface が
413:デフォルトの名無しさん
09/02/01 02:56:42
>>410
そんなもん当然IDEが全自動でやってくれるだろjk。
……って言えるようになってほしいです。
414:デフォルトの名無しさん
09/02/01 03:43:12
>>381のいってることが現実に
415:デフォルトの名無しさん
09/02/01 08:56:03
どっかのえろい人はヘッダファイルを.cppから生成させてたな。
416:デフォルトの名無しさん
09/02/01 09:13:46
# hoge.h
--------------------------------------
template <class T> class Hoge{...};
#include "hoge.h.impl"
--------------------------------------
# hoge.h.impl
--------------------------------------
template < class T >
Hoge::Hoge(){...
--------------------------------------
という幹事で、ヘッダの最後にincludeいれて、実装ファイルを読み込ませる方法で
文理させるのが最近の俺の流行り。
417:デフォルトの名無しさん
09/02/01 09:20:57
素人質問で悪いんだけど、VC++2008の場合、templateは別として、
ヘッダファイルに関数の定義を書き込んじゃうと、多重定義エラーでない?
templateも特化すると多重定義エラーになるし。
418:デフォルトの名無しさん
09/02/01 09:27:57
#pragma once
か
インクルードガードやっとけ
#ifndef foo
#define foo
implementation
#endif /* foo */
419:デフォルトの名無しさん
09/02/01 09:32:57
#pragma onceの方はいいんだけど
2008の場合、通常のインクルードガードだと
コンパイル単位が違うとエラーが出るんだよね・・・なぜか。
420:デフォルトの名無しさん
09/02/01 14:36:59
リンクエラーじゃないのか?だとしたら、そんなの当たり前だ。
上のほうで.hに書く云々って話は、全て、メンバ関数をclass内に書く、という話だと捉えたよ。
少なくとも俺は。
そうすればinline扱いになるし。
まさか「2箇所に書くのが嫌」と言いながら.h内で実装を別途用意するなんて
(相互参照とうでなければ)ありえないしね。
421:デフォルトの名無しさん
09/02/01 14:41:27
>>417
リンケージについて勉強した方がいい
422:デフォルトの名無しさん
09/02/01 14:47:22
こういう人が「自分はC++を使っている」と言うから
「C++プログラマはウンコ」呼ばわりされる原因じゃないのか。
423:デフォルトの名無しさん
09/02/01 14:54:03
C++の入門書とかって能天気すぎなんだよ。
多重継承とか演算子オーバーロードとか副作用大きい機能とかを
知ってて使うことが上級者への道みたいに煽る。
いい迷惑だ。
424:デフォルトの名無しさん
09/02/01 15:01:23
入門書には分割コンパイルの原理とか書いてないことが多いからなあ。
グローバル変数の実体は1個しか定義できないとか、そういう基本的なことを知らないまま
「C++出来ます」とか言い切るウンコが増えてきているから邪魔なんだよな。
425:デフォルトの名無しさん
09/02/01 15:01:59
>>423
プログラミングの話をしているときに「副作用」をそういう意味で使うのは・・・
426:デフォルトの名無しさん
09/02/01 15:03:56
知っててもなお使うに値するケースかどうか判断する事は
上級者になるのに重要なことだと思うが
427:デフォルトの名無しさん
09/02/01 15:04:37
BK厨おつ
428:デフォルトの名無しさん
09/02/01 15:05:59
2ちゃんねる推奨のAccelerated C++には
コンパイル単位の話も出てきませんでしたよ^^
っていうか、この本のソースコード、
VC++2008じゃコンパイルできないし^^;;;
429:デフォルトの名無しさん
09/02/01 15:06:28
>>426
入門書だと、その判断するということを省いているのがまずいのでは?
430:デフォルトの名無しさん
09/02/01 18:10:06
>>424
そういうのってリンカの仕事だからな
C/C++の範囲外ということで入門書では避けられてる
そしてあらゆる言語の入門書がそうやって逃げ回る結果
解説してる本がどこにもないという
431:デフォルトの名無しさん
09/02/01 18:14:41
>>424
>グローバル変数の実体は1個しか定義できないとか、そういう基本的なこと
C++ Coding Standardにも出てくるけど
そういうことは「一回コンパイルすればわかる」からねぇ。
432:デフォルトの名無しさん
09/02/01 18:45:28
>>426
> 上級者になるのに重要なことだと思うが
「入門書」の話ししてるんだけど。
433:デフォルトの名無しさん
09/02/01 19:13:26
C++やC#は演算子オーバーロードがあるだけで神
他の言語は設計者が数値計算とか3Dとかやらない文系なのがモロバレ
434:デフォルトの名無しさん
09/02/01 19:26:21
っ ほーとらん
435:デフォルトの名無しさん
09/02/01 19:34:08
>>431
gccだとオプション次第では分からないことも・・・
436:デフォルトの名無しさん
09/02/01 19:34:11
>>430
解説してる本は普通にあるよ
437:デフォルトの名無しさん
09/02/01 20:49:11
演算子オーバーロードが必要だと思うのがよくわからん。
自由に使わせたら可読性下がるだろあれ。
438:デフォルトの名無しさん
09/02/01 20:50:43
お前、可読性の意味分かってないだろ
439:デフォルトの名無しさん
09/02/01 20:52:41
おまえだよ。
440:デフォルトの名無しさん
09/02/01 20:54:13
型見て演算子の宣言見ないと何やってるかわかんないからな。
自分の中で閉じるなら問題ないかもしれないが自由に触らせるものではないでしょう。
441:デフォルトの名無しさん
09/02/01 20:54:40
定義だろ
442:デフォルトの名無しさん
09/02/01 20:56:44
いい加減、カプセル化に慣れようぜ
443:デフォルトの名無しさん
09/02/01 20:59:10
隠蔽化って隠蔽内容が完全でデザインに矛盾がなく直観的であることが前提だから
慣れるとか簡単なことじゃないぞ。
444:デフォルトの名無しさん
09/02/01 21:08:36
プログラムのセンスない奴は直観をどこまでも拡大解釈するしねw
445:デフォルトの名無しさん
09/02/01 21:16:23
数値型作る場合以外どうせ使わないし、
その場合は直感的になるから問題ないよ
446:デフォルトの名無しさん
09/02/01 21:18:40
お前が問題なくても自称できるやつが謎のオーバーロードし始めるんだよ。
C++はこういう問題がたくさんある。Javaでなくなったのにはそれなりの理由がある。
447:デフォルトの名無しさん
09/02/01 21:27:54
結局ジェネリック追加されたし
どうなるかは分からないよ
448:デフォルトの名無しさん
09/02/01 21:32:45
まぁその程度の低レベルな話は
C++ Coding Standard一冊で全部解決。
たった200頁の本だし(ぺらぺら)、
Effective C++やExceptional C++よりはるかに簡単な本だし、
もう必読書ってことで。
449:デフォルトの名無しさん
09/02/01 21:34:04
演算子オーバーロードが要らないと強弁する文系丸出しが続々登場!
みんなゲームとかつくらないの? おもしろいよ。
450:デフォルトの名無しさん
09/02/01 21:35:54
ああゲームの末端で好きかってやってメインプログラマーに迷惑かける奴か。
つーかレス見る限り個人でしょぼいゲーム作ってる気になってるだけか。
451:デフォルトの名無しさん
09/02/01 21:36:30
おれはレベル高いからって言ってる奴はチーム仕事してねーだろ
452:デフォルトの名無しさん
09/02/01 21:37:27
プロジェクトの出来は、最もレベルの低いものに左右される
453:デフォルトの名無しさん
09/02/01 22:01:13
本読んどいてでみんなまともにプログラム組めてたらこの仕事天国だよ
454:デフォルトの名無しさん
09/02/01 22:02:57
>>452
それはリスク対策が出来ないプロマネがアホなんだろ
455:デフォルトの名無しさん
09/02/01 22:02:59
逆だろ
みんながまともにプログラム組めるなら、プログラミングなんてコンビニのバイト程度の価値しかなくなる
ほとんどの自称プログラマがカスだからまともなプログラマが食っていける
456:デフォルトの名無しさん
09/02/01 22:06:47
プログラムくらいアホでも組める
457:デフォルトの名無しさん
09/02/01 22:16:21
Linuxもアホでもかけるんだね。
458:デフォルトの名無しさん
09/02/01 22:25:41
Linuxはアホじゃなくてライナス
アホはAWK
459:デフォルトの名無しさん
09/02/01 22:28:25
Bjarne Stroustrup インタビュー (?)
URLリンク(www.kh.rim.or.jp)
460:デフォルトの名無しさん
09/02/01 22:39:58
10年くらい前のジョーク?みたいだけど根本的な解決を見た事ないな。
むしろ策略を追加してる印象。
461:デフォルトの名無しさん
09/02/02 00:01:39
まぁ、自分もカスだから人のこと言えないけど
そのカスである俺よりもひどい能力の人が上司だったりしたこともあるので
カスはカスで生きる方法があるんだと思う今日この頃。
462:デフォルトの名無しさん
09/02/02 00:02:25
まあカスの生きる道がないと世の中死屍累々だと思う
463:デフォルトの名無しさん
09/02/02 01:22:59
最上層と最下層の間の幅が一番小さいのはやっぱりHSPなのか?
一番大きいのはいうまでもなくC++だろうが。
464:デフォルトの名無しさん
09/02/02 03:43:42
HSPのきれいなソースを見ると才能の無駄遣いだと思うけどなw
>>463が想像するより人によってかなり差がある
465:デフォルトの名無しさん
09/02/02 13:20:46
>>463
いちいちそんなカス言語を引き合いに出してくれるなよ。
466:デフォルトの名無しさん
09/02/02 14:34:28
いや、C++の問題点を浮きあがらせるためには
その正反対のパラダイムをもつHSPを知ることが先決。
467:デフォルトの名無しさん
09/02/02 14:38:36
Σ (゚Д゚;)ハッ この流れもしやHSPオンリー?
468:デフォルトの名無しさん
09/02/02 15:19:35
>>466
正反対とは?
469:デフォルトの名無しさん
09/02/02 15:29:58
マルチパラダイムの正反対…なんだろ。意味不明。
470:デフォルトの名無しさん
09/02/02 15:32:18
てか、HSP使いなんていくら頑張ってもC++を
マスターすることなんてできないだろうから、
このスレで発言するいること自体間違ってる。
471:デフォルトの名無しさん
09/02/02 15:59:18
するいる
472:デフォルトの名無しさん
09/02/02 16:30:40
>>463
> 最上層と最下層の間の幅が一番小さいのはやっぱりHSPなのか?
> 一番大きいのはいうまでもなくC++だろうが。
人によってそんなに差がある言語は困るんだよ
ウンコプログラマーには分からんと思うけど
473:デフォルトの名無しさん
09/02/02 18:19:14
そもそもなんでHSPが出てくるのかわからないのだが…
474:デフォルトの名無しさん
09/02/02 19:29:46
>>472
誰と戦ってるんだお前
475:デフォルトの名無しさん
09/02/02 19:58:01
>>474
C++ と、じゃね?
476:デフォルトの名無しさん
09/02/02 23:58:06
TDNのHot Soup Processor
477:デフォルトの名無しさん
09/02/02 23:59:45
アツー!
478:デフォルトの名無しさん
09/02/03 02:40:03
C++: 複雑・高機能・マルチパラダイム・初心者には人気ない
HSP: 単純・低機能・パラダイムレス・初心者に大人気
479:デフォルトの名無しさん
09/02/03 10:44:07
>パラダイムレス
さあ困った。
480:デフォルトの名無しさん
09/02/03 12:12:00
なぜ世界的な現役最高峰プログラマーが世界的な言語について語っていてる
スレで、極東ローカルでゴミしかつかってない言語の話をするのか。
481:デフォルトの名無しさん
09/02/03 12:17:18
世界的な現役最高峰プログラマーが
このスレで語ってるわけではない。
482:デフォルトの名無しさん
09/02/03 14:59:25
HSPはダークホースだよな。
支持基盤が強いので化ければC++を駆逐できる可能性はあると思う。
483:デフォルトの名無しさん
09/02/03 15:48:29
>>482
馬鹿も休み休み言え。
484:デフォルトの名無しさん
09/02/03 16:25:22
春休みだからな。
485:デフォルトの名無しさん
09/02/04 07:52:13
素人だけど、Cをやっていてある程度理解しているつもりなんだが、
やればやるほど分からないことやきちんと理解していないことが
次から次へとどんどん出てくるんだよな。
なんか果てしない戦いが続いてる感じになってくる。
プログラム言語ってこういうもんなんだろうな。
C++も少しは勉強したんだが、C++プログラマになるとウンコになるのか。
やめとこうかなw
486:デフォルトの名無しさん
09/02/04 08:08:25
具体的に何が難しい?
ライブラリーを全部覚えるとかならともかく文法や作法はそれほど難しくないと思うけど。
演算子の優先順位とかなら暗記する必要もないし。
487:デフォルトの名無しさん
09/02/04 08:19:32
*pp[i]でsegvって(*pp)[i]なら平気でああそう言えばそうだったなあとか
*が増えると普段使ってないと割ときついね
488:デフォルトの名無しさん
09/02/04 08:32:55
>>487
それだとCからキツイのでは・・・?
489:デフォルトの名無しさん
09/02/04 08:49:24
C++ハジメル人は
STL、Boostを参考にコーディングし、
JAVA、C#、COOLを勉強するのばベストだね。
MFCから入ると変な癖つくからやめたほうがいいと思った。
490:デフォルトの名無しさん
09/02/04 09:14:30
MFCはSTLより長寿なんだぜ
491:デフォルトの名無しさん
09/02/04 09:19:43
先に相手が死んだ上での長寿なら誇れるけど、
どっちも生きてる上で「先に生まれたぶんだけ長寿」な場合、
設計の古さのアピールにしかならないかも。
492:デフォルトの名無しさん
09/02/04 09:42:14
>>490
それは、MFCは何時死んだ設定で計算してんの?
493:デフォルトの名無しさん
09/02/04 12:28:49
>>485
>プログラム言語ってこういうもんなんだろうな。
そういうもん。
まあ、やろうとしている事の複雑さによる。
>C++も少しは勉強したんだが、
テンプレートの魔力に取り込まれた人の一部は
一生闘い続けた挙句、boost という魑魅魍魎を召喚しました。
494:デフォルトの名無しさん
09/02/04 13:22:46
>489
Boostなんか超絶悪い癖が付くから、参考にしない方がいい。
悪癖を自覚しながら使うのはいいけど。
495:デフォルトの名無しさん
09/02/04 13:38:01
他人と協調してプログラミングを書くつもりなら
better C以外の使い方はするな。
Templateの変態度を味わいたいならBoostガンガン使え
でも檻から出てくるなよ
496:デフォルトの名無しさん
09/02/04 14:16:06
>>494
でも、その一部が次期C++に入りそうなんだろ。
楽しみ半分、不安も半分。
497:デフォルトの名無しさん
09/02/04 16:41:37
shared_ptrとかfunctionとかユーザとして使う分にはいいのもあるよ。
ソースコードは悪魔だけど。
498:デフォルトの名無しさん
09/02/04 16:43:19
>>486
>>485だけど、文字列を扱う際に配列で扱うのとポインタで扱うのでは
微妙に違うから、それがらみで混乱することがあるかな。
Cでの文字列の扱いは基本的に嫌い。
C++だとstringクラスあるから文字列の扱いは楽なんだろうなあ。
499:デフォルトの名無しさん
09/02/04 17:36:03
他人と協調してプログラミングを書くつもりなら
C++の基本機能 ぐらい理解しろ。
BetterCを味わいたいならEC++でも使ってろ
でも檻から出てくるなよ
500:デフォルトの名無しさん
09/02/04 18:15:31
>>499
これのこと?逆に、C++として何か欠けているの?
URLリンク(www.caravan.net)
501:デフォルトの名無しさん
09/02/04 18:44:13
>>500
主に例外とテンプレートと名前空間がない
あと多重継承とかRTTIとか新形式キャストとか
要するにアンチC++厨が嫌いなものを取っ払ったんだが
本当にただ取っ払っただけなので色々と使い物にならない
特に例外まわり
502:デフォルトの名無しさん
09/02/04 18:44:48
ここでLinusがC+Liなんてオシャレ言語を作ったら一生ついていくんだけどな。
CVSとサブバdisってGit作ったくらいだからやるんじゃないか?
503:デフォルトの名無しさん
09/02/04 18:47:48
Cという完璧な言語がある以上、その再発明はしない
とLinusは答えるだろう
504:デフォルトの名無しさん
09/02/04 19:24:29
Linusが言語のデザインなんてできるかよw
どう見ても一発屋だろ。
505:デフォルトの名無しさん
09/02/04 20:00:42
>>483,484
馬鹿が存分に休みながら言ってるってことかwww
506:デフォルトの名無しさん
09/02/04 20:16:49
>>504
ということは、HSP開発者>Linusってことになるのか…
507:デフォルトの名無しさん
09/02/04 20:29:23
>>506
当たり前だろ。
何をいまさら。
508:デフォルトの名無しさん
09/02/05 00:42:14
少なくとも組み込み系ならEC以上の機能はいらない。
>>501が上げたものにメリットがほとんど感じられないうえ
デメリットが大きすぎる。
509:デフォルトの名無しさん
09/02/05 00:44:20
Google C++コーディング規約
例外
我々はC++例外を使用しません。
510:デフォルトの名無しさん
09/02/05 00:57:17
例外はモジュール内だけの閉じた世界で使われる分には問題ないけど、
それを飛び越えてグローバルな世界にしゃしゃり出てくると無限地獄の始まり。
511:デフォルトの名無しさん
09/02/05 00:58:21
門外漢だけど、名前空間と新キャストは実行時のオーバーヘッドもないから組込で使っても問題ないように思えるんだが。
512:デフォルトの名無しさん
09/02/05 01:05:54
>>503
Linusは、C++もCも糞だが、Cの方が圧倒的にマシだから
使ってるって書いてたよ。
Cを完璧な言語なんて思ってないと思うよ。
513:デフォルトの名無しさん
09/02/05 01:08:13
だったらRubyを使えばいいのに。
514:デフォルトの名無しさん
09/02/05 01:08:17
Cより安全で実用的な言語ってあるのかなぁ
515:デフォルトの名無しさん
09/02/05 01:11:13
>>514
COBOL
516:デフォルトの名無しさん
09/02/05 01:12:39
>>514
PASCAL・・・は、安全だけど、実用的じゃない・・・
517:デフォルトの名無しさん
09/02/05 01:15:53
Java
ただし、ごく一部の用途に限る
518:デフォルトの名無しさん
09/02/05 01:33:55
言語をもっとカスタマイズできる方向にならないのかな
EmbededC++よりももっと自由度高く。
多重継承禁止オプションとかテンプレート禁止オプションとか。
519:デフォルトの名無しさん
09/02/05 01:35:18
使わなければいいだけじゃん。
520:デフォルトの名無しさん
09/02/05 01:41:54
例外使わない主義の人たちはコンストラクタの失敗をどうやって検知してるんだろう
全てのクラスにerrno的なフラグ仕込んで作るたびにチェックしてるんだろうか
例外で通知するより凄く忘れやすそうだし、危険に感じるんだけど
例外アンチの人たちはその辺どうなの
521:デフォルトの名無しさん
09/02/05 01:45:14
ファクトリ関数作ったりコンストラクタと別に初期化関数設けたりするんでしょ、きっと。
522:デフォルトの名無しさん
09/02/05 01:50:04
ファクトリ関数だって最終的にはコンストラクタ呼ぶんだから
コンストラクタのエラーを拾うのがファクトリ関数になるだけで話は一緒だろ
初期化関数?いちいちデフォルトコンストラクトしてから値設定し直すの?
実行効率命の組み込みでそんなことしてていいの?
523:デフォルトの名無しさん
09/02/05 02:03:04
最適化すれば冗長なコードは消えるだろJK
524:デフォルトの名無しさん
09/02/05 02:03:51
いまさらぬるぽのキーワードができるとかものすごいうんこだと思う。
0で書いた既存のC++コードは置換すらできない。
525:デフォルトの名無しさん
09/02/05 02:12:39
0からぬるぽの意味が消えるわけじゃないけどな
526:デフォルトの名無しさん
09/02/05 02:13:57
>>523
初期化関数がインライン化できない程度に複雑だったら無理だろJK
527:デフォルトの名無しさん
09/02/05 02:26:43
>>519
チーム仕事したことないだろ・・・
528:デフォルトの名無しさん
09/02/05 08:43:14
>>514
Cのどこが安全なんだ
むしろ安全じゃないから専門家に使いやすいのに
安全を追うならVBでも使ってろ
529:マイク ◆gZ6OoOjBU6
09/02/05 09:35:06
Linusが本当にそれを言ったなら
アメリカ人らしくて本音をちゃんと名前を出してぶっちゃけてくれているから
アメリカつうか白人文化は良いな。
530:デフォルトの名無しさん
09/02/05 09:42:39
今度はこっちか
531:デフォルトの名無しさん
09/02/05 09:42:54
リーヌスがアメリカ人?
532:デフォルトの名無しさん
09/02/05 10:09:26
C++の深刻な問題点は、ソフトをグループで開発するときに現れる。
C++に精通したプログラマはついついC++の高度なテクニックを使って
しまう。ところが、ペイペイの新米プログラマはそのコードの意味を
真に理解しておらず、誤解からバグを組みこんでしまう。
直接的にバグを仕込んだ新米プログラマが怒られるのだろうが、
考えようによっては高度で難解なコードを書いたベテランC++
プログラマの方がバグを発生させる罠を仕掛けたようなもので、
もっと責任が重いと思う。
まぁ、C++はプログラマの習得レベルの差が露骨に表れるから
共同開発には不適で、一人のプログラマがシフト開発するとき
しか使えない言語ってことだ。
533:デフォルトの名無しさん
09/02/05 10:12:44
ルーシーの弟であるところの Linus はアメリカ人だろ一応。
>>532
どうだろ。無能は VB8 やらせても無能だしなあ。
534:デフォルトの名無しさん
09/02/05 10:43:17
>>532
「坊主憎けりゃ袈裟まで憎い」の典型的コメントだな
別にC++が悪いわけではない
無能プログラマが悪いだけだ
535:デフォルトの名無しさん
09/02/05 11:12:15
>>534
オレはCのエキスパートだが(この点について煽りたきゃ好きなだけ煽れw)、C++でオーバーロードやら
派生やらを駆使したプログラムを追うのは苦労するし、そんな書き方する奴はアホかと思うぞ。
C++の「美しい」書き方は解析やデバッグにはまるで向かないんだよ。沢山のクラスに「append()」が
あったとき、コード中にある「hoge.append()」が一体どこを指しているのやら、探し出すのは大変なことだ。
プログラミングで一番大変なのはデバッグなのに、それ以外の仕事で大変な思いをするのは
(しかも、みずから選んで)バカバカしいことだと思うね。
536:デフォルトの名無しさん
09/02/05 11:19:18
カプセル化に意義を見出せず、中で何やってるか気になって
追いかけないと気がすまないのが C のエキストラとやらですか。
まあ下手糞にクラス作らせると、そういうこともあるけどさ。
537:デフォルトの名無しさん
09/02/05 11:22:00
>>535
派生やオーバーロードを他人が追うことになっている時点でC++の使い方を間違えている。
ユニット化してブラックボックスで使うものだろ。
538:デフォルトの名無しさん
09/02/05 11:23:15
何を言ってるんだ?
デバッグ時や機能拡張時は追いかけざるを得ないだろう。
動いているものなら放っておくよ。
539:デフォルトの名無しさん
09/02/05 11:28:16
>>537
おまえも何を言ってるんだか。
ブラックボックス化したクラスは、本人しか触るべきでない?
そいつが辞めたら、死んだら、どうするんだ。
機能拡張のために、またしても派生クラスを作るのか。
元のクラスを見ないまま派生して、効率が悪い、遅い、だけならいいが、
見ないまま書いたコードがバグらない保証があるのか?
だいたい、「本人しか触れない」と宣言した時点で、糞コード確定だってことわかってるか?
540:デフォルトの名無しさん
09/02/05 11:28:59
>>538
他人がデバッグや機能拡張している時点でC++の使い方を間違えている
541:デフォルトの名無しさん
09/02/05 11:30:11
>>539
オブジェクト指向全般に対する批判だな、こりゃ。
クラスの仕様書が残っていないのが悪い。
542:デフォルトの名無しさん
09/02/05 11:36:42
>>541
どんなツモリ、と
どうデキテルはちがうだろ。
543:デフォルトの名無しさん
09/02/05 11:45:01
クラス図くらい書いた上での話なんだろうな。
544:デフォルトの名無しさん
09/02/05 11:51:55
Cプログラマって
IDE支援なしで組んでるの?
545:デフォルトの名無しさん
09/02/05 12:07:36
>>539
お前は立派な糞グラマだ
546:デフォルトの名無しさん
09/02/05 12:44:46
>>534
お前みたいなのがバグを引き起こすテロリストになるのだ。
腐れチンポが、死ね。
547:デフォルトの名無しさん
09/02/05 12:50:52
>>546
逆ギレすんなよウンコグラマ
548:デフォルトの名無しさん
09/02/05 13:02:00
>>541の
> オブジェクト指向全般に対する批判だな、こりゃ。
これに尽きる。Cのエクスタシー君の話は、「C++の話」ではない。
549:デフォルトの名無しさん
09/02/05 13:07:48
そうか、逃げ道が見つかってよかったな。
でもその逃げ道は、「C++で書かれたプログラムはデバッグも修正もおそろしく手間がかかる」という
命題を否定できないけど、いいのか?
550:デフォルトの名無しさん
09/02/05 13:11:27
誰々がいなくなれば解決すると主張する人間と、
継承とか例外がなくなれば解決する主張する人間では、どっちがマシだろうか。
551:デフォルトの名無しさん
09/02/05 13:16:10
>>549
で、クラス図くらいは書いた上での話なんだろうな。
>>539の言っているのは一つの関数を複数人でいじり倒すのと同じことなのだが
552:デフォルトの名無しさん
09/02/05 13:24:46
C++は1行楽にするため何十行も追加するような言語
share ptrとかくだらん小細工ばかり多すぎ
553:デフォルトの名無しさん
09/02/05 13:35:04
>>552
そんなこといってるから
例外出た時に
メモリリークしてても気づかないんだよ。
554:デフォルトの名無しさん
09/02/05 13:37:00
>>552
お前はC丼でも使ってろ
555:536
09/02/05 13:40:37
>>552
C++ はマルチパラダイムです。検討ハズレですね。
つか、なんで双方必死なの?
個人的には、構造化すら満足に出来ない連中に
「OOノススメ」なんて無茶だと思うんだが。
556:デフォルトの名無しさん
09/02/05 13:41:23
クラス図見てもメモリリークはどうにもならんからな・・・
557:536
09/02/05 13:41:40
「健闘」の誤変換に気付いて修正しておいて
「検討」とはなんたる失態。
558:デフォルトの名無しさん
09/02/05 13:43:04
>>554
C丼で思い出した。
小学生の時に、藤井と言う子がいたんだが、彼女が日直の時に黒板の井の字の中に点を打ったのは、僕です。
それ以来、彼女はみんなから、藤丼と呼ばれるようになりました。ごめんなさい。
559:536
09/02/05 13:46:25
>>556
いや、クラス図は単に characteristics な面しか記述できないんだから
当たり前。
560:デフォルトの名無しさん
09/02/05 13:53:42
結局誰も「C++はデバッグが極めて困難な言語だ」という命題には反論出来ないことはわかった
561:デフォルトの名無しさん
09/02/05 13:56:42
>>560
ちょっと待った
命題には前提があるだろ
「もし下手グラマがC++に糞コードをたくさん入れたら」という
562:デフォルトの名無しさん
09/02/05 15:25:24
俺自身C++グラマだけど、
IDEが使えないような状況なら「デバッグはきわめて困難」だと思うぞ。