【訃報】C言語およびUNIXの父、デニス・リッチーさんが死去 -享年70★4

このエントリーをはてなブックマークに追加
1出世ウホφ ★
UNIXの父であり周囲の尊敬を集めたコンピュータサイエンティストのデニス・リッチーが、
しばらくの闘病を経て先週亡くなっていたことがわかった。享年70歳だった。

リッチー(dmrと呼ばれることもある)は、プログラミング言語のひとつであるC言語を生み出したこと、
そしてケン・トンプソンとともにUNIXを創りだしたことで世界中にその名を知られている。
リッチーはキャリアのほとんどをベル研究所で過ごした。彼が加わった1967年当時はアメリカで最も巨大な
電話回線提供社であり、かつ最も有名な研究所のひとつを運営する大企業であった。

60年代後半にトンプソン(彼はCの前進であるB言語を生み出した)とベルで働いているとき、
訪れようとしていたミニコンピュータ時代をにらみ、
より効率的なオペレーティングシステムを開発しようと思い立った。二人を中心としたこの作業は、
1971年のUNIXへと繋がっていった(DEC PDP-11の上で動作した)

TechCrunch Japan 10月14日(金)2時37分配信
http://headlines.yahoo.co.jp/hl?a=20111014-00001491-techcr-sci
画像 デニス・リッチーさん
http://e-bergi.com/2008/Agustos/resim/dennis_ritchie.jpg
前スレ ★1 2011/10/14(金) 11:19:08.25
http://raicho.2ch.net/test/read.cgi/newsplus/1318608961/l50
>>2以降に続く
2出世ウホφ ★:2011/10/16(日) 03:26:33.45 ID:???0
UNIXは安価で、かつさまざまなマシンを動作対象として想定してはいた。いったん動作させることができれば、
その上にさまざまなソフトウェアシステムを載せることができるようになっていた。
しかしOSがマシン語(アセンブリ言語)で記述されていたため、移植性も低く、またメモリの取り扱いにも苦労することとなった。

そこでリッチーとトンプソンは、C言語のシンタックスを発展させつつ機能を増やし、
ついにはOSを記述できるところまでに性能をあげていった。
そして1973年までにはついに、UNIXをCで書き換えてしまったのだ。カーネル部分は同年中に公開された。

今日、C言語は依然として2番目にポピュラーな言語として世界中で使われている(ないし、
これまでに記述されたコード量としては第2位につけている)。
そしてC++やJavaにさまざまな考え方が引き継がれていった。またUNIXについての二人の仕事は、
たとえばLinux TorvaldsのLinuxなどにも引き継がれていった。このUNIXの仕事だけでも、
リッチーは現代でもっとも重要なエンジニアのひとりとして位置づけられるべきだろう。

実際、UNIX関連の仕事により1983年にはケン・トンプソンとともに、チューリング賞を受賞している。
また1998年には当時の大統領であるビル・クリントンからアメリカ国家技術賞を受け取っている。(おわり)


3名無しさん@12周年:2011/10/16(日) 03:28:07.59 ID:vIqadFA/0
フォースを信じろ!
4名無しさん@12周年:2011/10/16(日) 03:28:57.97 ID:K0KDRgEM0
噂のCCガールスレはここでつか?
5名無しさん@12周年:2011/10/16(日) 03:32:26.74 ID:zAMlizk20
ご愁傷さま
void main 夏かしす
6名無しさん@12周年:2011/10/16(日) 03:37:14.26 ID:boCQoOkS0
C調言葉に御用心
7名無しさん@12周年:2011/10/16(日) 03:47:06.87 ID:SSqmwjDb0
今じゃpublic static void main だがな。
8名無しさん@12周年:2011/10/16(日) 03:47:47.53 ID:Z5YVijB8O
はじめての >>41 ゲット
9名無しさん@12周年:2011/10/16(日) 03:47:56.90 ID:Ox1MZji20
スレ3までよんでもはまだポインターが理解出来ない。
10名無しさん@12周年:2011/10/16(日) 03:49:20.10 ID:KgXAxFY50
>>9
3までそんなにポインタ議論してたのかよ。
ポインタはアドレス
これだけでいい。
11名無しさん@12周年:2011/10/16(日) 03:49:38.17 ID:I0J9Pmyj0
ぬるぽ の元祖はこれですか?
12名無しさん@12周年:2011/10/16(日) 03:49:46.37 ID:FctlPeAb0
Hellow World!
を考えた人だったか?

プログラム言語の入門書は、
いまだに、あれから進化なしか・・・何十年もたってるのにな
13 忍法帖【Lv=40,xxxPT】 【関電 60.6 %】 :2011/10/16(日) 03:50:40.24 ID:UZFN/uTf0
その割には、評価低すぎだしニュースも小さいんじゃないか?
14名無しさん@12周年:2011/10/16(日) 03:50:58.31 ID:nDfC0/yKO
>>11
ぬるぽの元ネタはJavaだったような…。
15名無しさん@12周年:2011/10/16(日) 03:51:02.66 ID:Xp7N7uV70
>>9
俺もポインターで256回挫折した。
16名無しさん@12周年:2011/10/16(日) 03:51:35.26 ID:bNr/djFq0
ライオネルかガイしか知らない
17名無しさん@12周年:2011/10/16(日) 03:52:06.30 ID:gKTld3TH0
進化しないから年寄りでも仕事が出来る。
良い言語だ〜
18名無しさん@12周年:2011/10/16(日) 03:55:47.32 ID:gKTld3TH0
printf("ウイルスを実行します。\n");

printf("宜しければEnterキーを押して下さい");

getchar();

for(;;){ printf("ウイルス"); }

}
19名無しさん@12周年:2011/10/16(日) 03:56:15.70 ID:I0J9Pmyj0
進化しないのではない。伝統を守っているのだ。
20名無しさん@12周年:2011/10/16(日) 03:56:20.01 ID:d2qJI0jH0
>>9
ウルトラセブンでも見とけ
21名無しさん@12周年:2011/10/16(日) 03:58:15.39 ID:OwlkJ32O0
ぬるぽが産まれたのもこの人のおかげ
22名無しさん@12周年:2011/10/16(日) 03:58:59.05 ID:6Z7LAUbn0
>>12
"hello, world" は進化のしようがないだろ
K&R本ちゃんと読んだのか?

"hello, world"プログラムを打ち込み、コンパイル、実行して
エラーなく実効され、"hello, world"と書きだされる。

それが、これからあなたがプログラム言語を学んで行く上での、
もっとも大きな難行を遂げたと言う事だと、K&Rは説いてるわけです。

ちょっとうるおぼえだけど、そんな感じ。
俺は、その書き出しは嫌いじゃないよ。
23名無しさん@12周年:2011/10/16(日) 04:00:09.92 ID:JMgkM8eU0
世の中への貢献度はiPhoneの比じゃなくすごかったな。合掌。
24名無しさん@12周年:2011/10/16(日) 04:03:35.77 ID:I0J9Pmyj0
何の警告もなく暴走するのは、うちの嫁以上。
25名無しさん@12周年:2011/10/16(日) 04:12:40.96 ID:W0mghH650
>>9

理解しない方が幸せな人生を過ごせます。
26名無しさん@12周年:2011/10/16(日) 04:13:18.24 ID:U4CI3HZs0
リッチーが死んでも、AT&Tの株価が落ちる訳でもないしなw

だが、UNIXが無ければ、OSX/iOSも、Linux/Androidも
存在しないわけだから。

いや、インターネットそのものが違ったものになっていたかもしれん。
27名無しさん@12周年:2011/10/16(日) 04:13:45.60 ID:utEY2R4z0
いやほんとコンピュータ業界の人って短命だよなwww

笑い事じゃないけど強力な電磁波が放射線とにたような働きをしてるらしい
28名無しさん@12周年:2011/10/16(日) 04:15:52.72 ID:I0J9Pmyj0
リッチーは、ぬるぽを作って2ちゃんねる文化の発展に尽くしてくれた。惜しい人を亡くした。
29名無しさん@12周年:2011/10/16(日) 04:19:03.89 ID:Ox1MZji20
#include <stdio.h>ってなんのおまじないかわからないでとりあえず最初にかいた。
30名無しさん@12周年:2011/10/16(日) 04:20:16.47 ID:8AJpjXeL0
アルバート・ホフマンは102歳まで生きたのにな。

そういえば、ホフマンからの紹介でLSD研究家と面会したジョブスが
『水道の水にまぜて、みんなをハイにしてやれ』と言ったのには笑ったなww
31名無しさん@12周年:2011/10/16(日) 04:23:00.87 ID:KsePb3uT0
いきなりCから入るとポインタがわからないのかな。初歩のマシン語はすこしかじったほうがいいかも。
メモリアドレスの概念はぜんぜん難しくないから。
32名無しさん@12周年:2011/10/16(日) 04:29:22.59 ID:NiDcQfAM0
>>27
70歳なら短命ってほどでもないでしょ
電磁波だってIT業界が目立って浴びてるもんでもないし
33名無しさん@12周年:2011/10/16(日) 04:29:59.80 ID:SSqmwjDb0
ポインタっていうのはアドレスの概念がわからないと理解出出来ない。
34名無しさん@12周年:2011/10/16(日) 04:30:14.59 ID:BNd235dt0
訃報(とほー)です。  <竹内由恵
35名無しさん@12周年:2011/10/16(日) 04:39:23.65 ID:cg9SrlJG0
>>32
今時分の感覚だとやっぱ早死にだな
できる人は短命なー
36名無しさん@12周年:2011/10/16(日) 04:40:16.25 ID:s4zSGTip0
ご冥福をお祈り申し上げます。

私がコンピュータの概念を本当に理解できたのはC言語を理解できた第一歩があるおかげです。
37名無しさん@12周年:2011/10/16(日) 04:42:54.48 ID:Ox1MZji20
いまでもCは現場で使われているものなの。
ウェブプログラミングには不向きってことはないのかな。
38名無しさん@12周年:2011/10/16(日) 04:45:28.80 ID:Go+XMYye0
リッチー&カーニハン
39名無しさん@12周年:2011/10/16(日) 04:45:49.45 ID:cg9SrlJG0
不向きというより
向いてる言語はWeb周りが楽なんだよ

最近のCは知らないけど7,8年前はそんな感じだった
つーかJavaが超楽
40名無しさん@12周年:2011/10/16(日) 04:49:32.30 ID:LQ8DD/Jt0
>>37
リソースが限定される、組み込み系では特に使用率が多いかな。

C++みたいにデッカいランタイムも要らないし、暗黙的にメモリ
取りに行くような言語では、面倒な事も多いしね。

PCのアプリだとC++の方が多いのだろうか。
41名無しさん@12周年:2011/10/16(日) 05:03:08.62 ID:9yNaWtG/0
今の言語はWEB系が当たり前なのかな
昔オークションの仕事してる時にWEB系が流行り始めただったんで
「おお、これなら全部タダでシステム作れるな」と思ってPHPとMYSQLで
システム組んでみた
一人で業務の傍らコツコツ半年かけて作ったけど感想としては
「確かに一人でもそこそこのシステム組めるようになったけど大変だな」と思った
42名無しさん@12周年:2011/10/16(日) 05:14:35.92 ID:yB8pKgy40
James Gosling は、元は NeWS の開発者だったんだよね。

IBM,HP,DECがSun潰しの為にMITにファンドして開発を進めた X Window のおかげで
NeWSの開発が潰れて、プロダクトを失った NeWSチームが Java を企画した、
その中心人物が Gosling 。

NeWS は、その名の通り NetworkベースのWindowSystemなんだけど、
言語仕様が PostScript の拡張って変態環境だったからね。
tNt ツールキット使っても、やはりアプリ開発出来るプログラマが少なく普及しなかった。

NeWS敗北の反省を踏まえて、開発された Java は、
元々networkベースのプログラミングに都合よく作られている。
必然、Webプログラミングにも向いてる。
43名無しさん@12周年:2011/10/16(日) 05:19:37.04 ID:SSqmwjDb0
そのJavaももうボラクルのものか…
44名無しさん@12周年:2011/10/16(日) 05:20:39.43 ID:f+jtgLxm0
PDP11で月面着陸ゲームやったのは昭和49年のころだったな。
45名無しさん@12周年:2011/10/16(日) 05:25:03.47 ID:f+jtgLxm0
ポインターか、おれも良く判らんかったが、結論として、
「気にするな」だったな。
46名無しさん@12周年:2011/10/16(日) 05:30:46.92 ID:qIJ27fgGO
誰も追悼してなくて★4なんて、Cはよっぽどツッコミがいのある言語なんだな。
47名無しさん@12周年:2011/10/16(日) 05:34:06.57 ID:Kp7375+90
PC言語を学ぶより、日本語を極めたほうがよっぽど良い人生を送れるよ。

特に霞ヶ関文学をマスターすべきw
48名無しさん@12周年:2011/10/16(日) 05:40:50.75 ID:cg9SrlJG0
ポインタ周りの実装悔やんでたのこの人だっけ?
まぁ気にすんなよ、と
49名無しさん@12周年:2011/10/16(日) 05:44:03.72 ID:SSqmwjDb0
>>45
Cの基本的な考え方として、データの種類に合わせて必要な変数の型を指定するってのがあるわけよ。
整数ならintとか浮動小数点ならfloatとか。

(言語によっては変数に型の指定がないのも有ったりするんだけど。)

ポインタもそれと同じ、「メモリ上にある何かのアドレスを入れる」為に使う変数っていうだけの事。

ややこしいのはどんな種類のデータを入れるかにを意識してやらないといけないって事だけ。
50名無しさん@12周年:2011/10/16(日) 05:47:55.83 ID:yen4ayx50
>>1
>もっとも重要なエンジニアのひとり

最近よく目にする鼻につく表現が、この「最も〜の一人」「最も〜の一つ」という日本語。
「最も」というなら最上級で頂点、よって複数はいないんだから「一人」「一つ」は不要。
この記事の表現も「もっとも重要なエンジニア」とすべき。
調査不足を後で突っ込まれた時の逃げ道に「一人」「一つ」をつけてるんだろうが、
なら初めから「最も」なんてつけるな。この記事も単に「重要なエンジニア」にしとけ。
51名無しさん@12周年:2011/10/16(日) 05:51:01.67 ID:P1IKeOm90
>>31
いきなりCをやる前に、アセンブリ言語とパスカルを勉強しろ、
って、何かの本で読んだ。
52名無しさん@12周年:2011/10/16(日) 06:05:31.12 ID:cg9SrlJG0
追悼の意味も込めてプログラミング作法読んで寝ようと思ったら
リッチー関わってないじゃないですか アレェェェ
ずっと勘違いしてた
53名無しさん@12周年:2011/10/16(日) 06:10:46.38 ID:v7yWxBev0
>>1
あなたの建てた前スレもだけど、
スレッドのタイトルは「UNIX」じゃなくて、
「UNIX」にしていただけると嬉しい。
54名無しさん@12周年:2011/10/16(日) 06:16:18.57 ID:S+kacQuc0
ここまでAhoなし。
55名無しさん@12周年:2011/10/16(日) 06:18:10.50 ID:pTMqiKI40
>>51
ポインタが原因でCを挫折しかけたが、知り合いからアセンブラを
やるとよくわかると言われてアセンブラを勉強したら、ポインタ等
Cの事がよくわかるようになった。

Cは初心者が学んだりするけれど、絶対に初心者向きの言語じゃないと思う・・・
56名無しさん@12周年:2011/10/16(日) 06:18:25.68 ID:SSqmwjDb0
日本じゃ「UNIX」ってタッパーの商標なんだったかな。
57名無しさん@12周年:2011/10/16(日) 06:19:34.27 ID:5Yac+NXq0
システム開発において最も頻繁に使用するデータ型である
文字列を、char型の配列として実装したことがこいつの最大最悪の罪。
この仕様のおかげで本来異なる概念であるポインタと配列が混同され
多くのC挫折者と、バグによる悲劇を生み出した。
称えられるどころか世界中のソフト開発者からタコ殴りにされても
おかしくない人。
58名無しさん@12周年:2011/10/16(日) 06:26:45.66 ID:f+jtgLxm0
>>57
ポインターと配列を同じものとして扱ってなにがまずいか、いまいちわからん
のだが。暇だったら、もう少し説明してくれないか。
59名無しさん@12周年:2011/10/16(日) 06:30:02.33 ID:SSqmwjDb0
配列の操作にポインタが使えるというだけで、そもそも配列とポインタは同じじゃない。
両者の区別がつかないならプログラマなんか辞めて営業か部長でもやってろ。
60名無しさん@12周年:2011/10/16(日) 06:30:55.28 ID:S+kacQuc0
>>57
そこがわからないやつにはプログラム開発部署から外れてもらったが
べつに悲劇ではない。適材適所。
61名無しさん@12周年:2011/10/16(日) 06:31:08.32 ID:f+jtgLxm0
>>59
うん、部長なんだ。
62名無しさん@12周年:2011/10/16(日) 06:33:38.92 ID:S+kacQuc0
>>61
こんな時間にこんなスレにレスするのは部長しかいない。
おれもだ。
63名無しさん@12周年:2011/10/16(日) 06:36:18.98 ID:3y/6jHjR0
スティーブ女ブスの訃報はつたえるが、デニス・リッチーの訃報はつたえないマスコミ・・・・

これ一つとっても、日本のマスコミは役所や企業から貰ったネタを垂れ流してるだけの、烏合の衆であることがわかる。
なにが大事なニュースで、なにが取るに足らない情報なのか、区別できないようだ・・
64名無しさん@12周年:2011/10/16(日) 06:41:41.14 ID:v7yWxBev0
つまりジョブスよりも、リッチーのほうが、ナイスな人物というわけか。
65名無しさん@12周年:2011/10/16(日) 06:49:32.48 ID:SSqmwjDb0
だからその二人を比較すること自体がナンセンスだとあれほど…
66名無しさん@12周年:2011/10/16(日) 06:54:27.68 ID:f+jtgLxm0
>>60
 しかし、説明能力の無いやつだな。うちにはいらんわ。
67名無しさん@12周年:2011/10/16(日) 07:07:29.06 ID:+QODP+Bt0
別に世界中のシステム開発者に使って貰おうと考えて作ったわけじゃないし
単に研究所の研究者が自分が使う高級言語っぽいアセンブラが欲しかっただけだから
68名無しさん@12周年:2011/10/16(日) 07:08:32.91 ID:b+D+T/Nl0
菓子パンみたいな名前だな
69名無しさん@12周年:2011/10/16(日) 07:37:33.73 ID:C4TTyMvK0
>>14
null pointer assignment のエラーメッセージがもとだろう。
ポインタを初期化せずにポインタの指す先に代入するエラー。
70名無しさん@12周年:2011/10/16(日) 07:57:12.44 ID:+QODP+Bt0
当時はK&Rを読んでた人間とパソコンでエッチなゲームをやってるやつは同じ扱いだった
71名無しさん@12周年:2011/10/16(日) 08:00:36.29 ID:C4TTyMvK0
>>66はすげえな。論破されるにもそれなりの頭が必要というのがよく分かる。
72名無しさん@12周年:2011/10/16(日) 08:09:42.03 ID:O9KYHomb0
>>56
うちにある > 「unix」のタッパー
73名無しさん@12周年:2011/10/16(日) 08:27:54.61 ID:y53esEbv0
>>9
「○○型を示すポインタ」という言い回しでわかると思うけど
*をつけないとアドレスを代入する変数
*をつけたらそのアドレスにあるデータのことになる
*をつけたときにどの型のデータと思えばいいか?をあらかじめ宣言しとく
74名無しさん@12周年:2011/10/16(日) 08:34:10.32 ID:MW4COh9X0
アドレスを格納するだけのポインタにもいちち型があるのは
p++ みたいにインクリメントしたら、p+=<size of 型> みたいに機能させるためなのかな??
75名無しさん@12周年:2011/10/16(日) 08:40:13.46 ID:l9byU5PZ0
>>74
ポインタの場合は「増やす」じゃなくて「進める」と考えればわかりやすかろう。
76名無しさん@12周年:2011/10/16(日) 08:42:41.62 ID:N1I/0h4S0
>>74
実体の型がわからないと、実体取り出したときにどう扱っていいかわかんないだろ。
実体はintかもしれないし、floatかもしれないし、構造体かも知れないし。
77名無しさん@12周年:2011/10/16(日) 08:46:39.69 ID:ajwSrKYaP
>>50
one of the most imortant うんたらかんたら
one of the world's most important うんたらかんたら

偉大さを強調する英文なんかでは昔からごくありふれた修辞法だと思う
日本語表現的に外来なのかどうかは知らんけど
78名無しさん@12周年:2011/10/16(日) 08:53:32.76 ID:b+D+T/Nl0
>>50
英文翻訳したからそんな表現になっただけだろ。
英文だとしょっちゅうでてくる表現。
正確に訳そうとして直訳風になると日本語的にはくどくなる。
79名無しさん@12周年:2011/10/16(日) 08:53:51.91 ID:f+jtgLxm0
俺がCを始めたのは、昭和55年頃だったかな。この頃にはCの教科書はK&Rしか
無かった。隔世の感があるな。
80名無しさん@12周年:2011/10/16(日) 08:55:33.73 ID:5YGFOTGF0
>>75
カーソルみたいなイメージだよね。


あと、ポインタは天啓の様に急に解る日が来る
81名無しさん@12周年:2011/10/16(日) 08:59:50.49 ID:y53esEbv0
>>74
*がついたらそのアドレスから始まるデータとして扱うってだけなので、
p++ってやるときは型関係ないよ
82名無しさん@12周年:2011/10/16(日) 09:03:55.44 ID:+QODP+Bt0
>>81
おいおい
83名無しさん@12周年:2011/10/16(日) 09:04:05.12 ID:gjSV2GZZ0
>>81

関係あるって。74の言う通り。
84名無しさん@12周年:2011/10/16(日) 09:04:47.19 ID:b+D+T/Nl0
>>81
俺も「え?」って思ってググったけど間に合わなかったw
85名無しさん@12周年:2011/10/16(日) 09:10:31.28 ID:+QODP+Bt0
cがブームになったときにたくさん入門書が出たけど無茶苦茶なのばっかりだったので
やっぱり最初からK&R買えという話になってずいぶん長いこと使われた
86名無しさん@12周年:2011/10/16(日) 09:13:38.55 ID:EQikZUxh0
unix 運用でお世話になりました。アーメン
87名無しさん@12周年:2011/10/16(日) 09:14:59.60 ID:k15bNYte0
Watcom C/C++
Watcom Fortran
88名無しさん@12周年:2011/10/16(日) 09:20:44.01 ID:pMV/PJVi0
コンピュータと語る言葉。
色々あったけど、これほど現代に貢献したものは無かったと思う。
それが、後発の多数の新言語の基本になっているし。
ご冥福を。
89名無しさん@12周年:2011/10/16(日) 09:22:17.33 ID:CY8BWcpe0
>>2
>今日、C言語は依然として2番目にポピュラーな言語として世界中で使われている(ないし、
1位は何?
90名無しさん@12周年:2011/10/16(日) 09:25:44.64 ID:0qLtWUxkO
もっと大きく取り上げられてもいいのに、ジョブズの直後とか間が悪いな。
91名無しさん@12周年:2011/10/16(日) 09:26:34.75 ID:SkYggORf0
92名無しさん@12周年:2011/10/16(日) 09:31:25.75 ID:k15bNYte0
Objective-C Eiffel c# C++ Smalltalk → ぬるぽ → C# D
93名無しさん@12周年:2011/10/16(日) 09:33:22.24 ID:gr+boGu20
ついに★4とかwwwwwwwwwwwwwwwwwww
いまえらどんだけおっさんやねん。
94名無しさん@12周年:2011/10/16(日) 09:34:32.90 ID:C4TTyMvK0
>>89
COBOLだ文句あるか?
いやおれもある。
95名無しさん@12周年:2011/10/16(日) 09:36:15.92 ID:+QODP+Bt0
部屋を埋め尽くす真空管コンピュータが生まれてから現在までの歴史の
半分以上がUNIXが現役の時代だったのだからやっぱり偉大なんだろ
96名無しさん@12周年:2011/10/16(日) 09:41:57.36 ID:k15bNYte0
偉大な思潮を持ったしぃー
97名無しさん@12周年:2011/10/16(日) 09:45:06.40 ID:ajwSrKYaP
>>89
HSP
98名無しさん@12周年:2011/10/16(日) 09:46:03.16 ID:y53esEbv0
>>58
p++ってやってもオフセットしないそうだし、
ポインターと配列は一緒。確定。
99名無しさん@12周年:2011/10/16(日) 09:50:10.50 ID:CY8BWcpe0
>>97
もう答えが出た後で、おもしろいと思って書いてるの?
100名無しさん@12周年:2011/10/16(日) 09:53:57.69 ID:l9byU5PZ0
>>58
ポインタは変数だから中身が変わる可能性がある。
配列は定義したら動かん。

ポインタは定義するだけじゃどこを指してるか分からんぞ、何かのアドレスを入れてはじめて使える。

配列の中身操作するのは配列名+オフセットでもポインタを使っても構わないというだけ。
101名無しさん@12周年:2011/10/16(日) 09:57:03.82 ID:TrP+EVoI0
配列の長さってメモリのどこにしまってあんの?
102名無しさん@12周年:2011/10/16(日) 09:58:06.30 ID:+QODP+Bt0
>>101
しまわれてない
103名無しさん@12周年:2011/10/16(日) 10:01:48.12 ID:TrP+EVoI0
>>102
なら配列をsizeofしたときの結果はどこから来るの?
量子の海?
104名無しさん@12周年:2011/10/16(日) 10:03:03.49 ID:SkYggORf0
実行しているプログラムがメモリーにしまわれてないはずがないと思うのだが
105名無しさん@12周年:2011/10/16(日) 10:10:01.24 ID:+QODP+Bt0
>>103
コンパイル時に決まる静的な数字
定数
106名無しさん@12周年:2011/10/16(日) 10:13:48.92 ID:ajwSrKYaP
>>103
それ定数だから
107名無しさん@12周年:2011/10/16(日) 10:15:42.69 ID:TrP+EVoI0
>>http://raicho.2ch.net/test/read.cgi/newsplus/1318608961/1000

コードが大きくなったからといって、変数の宣言に,が必要になる理由は見当たらんが。
可読性も変わらんし。


>>105
え‥定数ってメモリに格納されないの?
どうやってアクセスするんだ‥。

でも定数の仕組みを調べればいいってことはわかったよ。
ありがとう。
108名無しさん@12周年:2011/10/16(日) 10:16:07.82 ID:k15bNYte0
Brains*ck SDK
109名無しさん@12周年:2011/10/16(日) 10:17:10.18 ID:62xAPsZG0
      ____
     //  \\
   /( ●)  (●)\     ねえ、ゆうにいちゃんちょっと聞きたいんだけど
  /::::::⌒(__人__)⌒::::: \   RM1とRM2の2つのRMを使った分散トランザクションなんだけど
  |     |r┬-|     |    2PCのコミットフェーズでRM1のxa_commit要求はOKで
  \      `ー'´     /    次のRM2へのxa_commitが失敗、続いてxa_rollbackの処理が
   /` ‐- __ - ‐‐ ´ \    返ってこなかったら、TMとしてはどう対処すべきなんだろう?
  / .l        _,,ヽ ___ 〉、
  | l       / ,' 3 `ヽーっ
  ヒト- _    l   ⊃ ⌒_つ  おじさん達に聞いてもさっぱりわからないって言われてさ
.   !__   ̄, ̄ `'ー-┬‐'''''"    「ゆうにいちゃんならパソコンの大先生だから聞いてこい」って。
   L  ̄7┘l-─┬┘       ごめんね、こんな初歩的なこと聞いて。
    ノ  ̄/  .! ̄ ヽ
  └‐ '´   ` -┘
110名無しさん@12周年:2011/10/16(日) 10:17:44.22 ID:wkAvY17a0
リッチカニチャーハンを食おうと思ったが、しかしリッチなカニとは?
ズワイガニかタラバガニかそれとも毛ガニか?エロい人教えてくださいませ。
111名無しさん@12周年:2011/10/16(日) 10:19:59.20 ID:l9byU5PZ0
>>107
sizeofはコンパイル時に評価される演算子だよ。

配列の大きさはコンパイル時に決まってるだろ。
112名無しさん@12周年:2011/10/16(日) 10:20:21.33 ID:N1I/0h4S0
>>103
静的な配列ならコンパイル時に決まってる。
C99での、可変長配列の場合は、動的に計算される。
113名無しさん@12周年:2011/10/16(日) 10:21:37.89 ID:+QODP+Bt0
>>109
abort
114名無しさん@12周年:2011/10/16(日) 10:23:46.16 ID:aBatOHi50
ポインタは無くてもよかった気がするんだけどねぇ・・・
115名無しさん@12周年:2011/10/16(日) 10:24:56.42 ID:01MA55lU0
>>109
ニューカスへ帰れよ
116名無しさん@12周年:2011/10/16(日) 10:25:11.22 ID:l9byU5PZ0
アドレスを明示的に扱う以上、ポインタは必須なんだよ。
117名無しさん@12周年:2011/10/16(日) 10:27:51.46 ID:pMV/PJVi0
>>51
今でもパスカルはアルゴリズムを説明する表現方法として生きているけど、
ラテン語化していると思う。
学術的だけど、実践的でない。
遠回りするのが好きな人向き。
118名無しさん@12周年:2011/10/16(日) 10:29:36.64 ID:l9byU5PZ0
「本物のプログラマはPascalを使わない」なんてのも有りましたな。
119名無しさん@12周年:2011/10/16(日) 10:31:07.29 ID:+QODP+Bt0
cは実践的というより変態的
120名無しさん@12周年:2011/10/16(日) 10:31:10.70 ID:wkAvY17a0
ポインタはバグの温床。スマートポインタもしくはガベジコレクションくらい
デフォルトで用意しとけと。
121名無しさん@12周年:2011/10/16(日) 10:32:58.97 ID:A0lIQ6S30
>>55
ポインタの何が難しいのか全く分からない俺。
ポインタの中身が何かが分からなくてメンドイというコードを相手にしなきゃならん時は嫌になったもんだが。
122名無しさん@12周年:2011/10/16(日) 10:34:52.34 ID:l9byU5PZ0
ポインタがすんなり理解できるにはちゃんと教えられる教師が必須だと思うよ。
123名無しさん@12周年:2011/10/16(日) 10:34:55.69 ID:7faujSv50
UNIXはCでつくったってこと?
Cはどうやってつくったの?
124名無しさん@12周年:2011/10/16(日) 10:35:03.93 ID:pMV/PJVi0
>>120
ポインタは有用。
あまり遠くまで引き伸ばさないように工夫すれば
(「遠くまで」ってちょっと抽象的でゴメン)
相当バグは防げる。
125名無しさん@12周年:2011/10/16(日) 10:35:04.11 ID:y53esEbv0
>>100
配列はポインタと一緒でアドレスを保持してるだけだから
代入したら変わるよ
126名無しさん@12周年:2011/10/16(日) 10:35:50.31 ID:98EDqatg0
小学校か中学校でZ80とか68000とかのアセンブラ授業をちょっと入れるだけでびっくりするぐらいITに強い国になりそうな気もするんだけど
国がやるわけ無いか興味ないやつには地獄のような授業だろうしな
127名無しさん@12周年:2011/10/16(日) 10:36:36.05 ID:wkAvY17a0
ソフトがハングアップする原因の99.9999%はポインタの開放忘れ
128名無しさん@12周年:2011/10/16(日) 10:36:50.71 ID:k3pms+gvP
****
ポインタのポインタのポインタのポインタ
129名無しさん@12周年:2011/10/16(日) 10:37:50.92 ID:TrP+EVoI0
>>111
コンパイルとビルドとリンクの違いもわからんので、
コンパイル時に決まってるから、それがどうしたとしか。

素朴な疑問のはずが、なんでこんな面倒くさいんだよ!!

やっぱネットにある情報だけで独学は無理がある?
130名無しさん@12周年:2011/10/16(日) 10:38:48.17 ID:l9byU5PZ0
>>125
配列名に代入はできん。
131名無しさん@12周年:2011/10/16(日) 10:39:10.23 ID:A0lIQ6S30
>>123
UNIXを記述するのに、アセンブラで全部ベタ打ちするのメンドクセ!、で、作ったのがC言語。
だからアセンブラで記述できることは基本的にCで記述できる。
Cが中級言語と呼ばれる理由。
132名無しさん@12周年:2011/10/16(日) 10:40:08.84 ID:A0lIQ6S30
>>127
イミフ
133名無しさん@12周年:2011/10/16(日) 10:40:10.36 ID:+QODP+Bt0
>>129
独学するならちゃんと参考書を読む必要がある
134名無しさん@12周年:2011/10/16(日) 10:41:02.09 ID:A0lIQ6S30
>>129
はじめてのCを暗記するまで読め。
135名無しさん@12周年:2011/10/16(日) 10:41:16.92 ID:k15bNYte0
コピペ
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
time_t t;
t = time(0);
srandom(t);

int a[100];
for (int i = 0; i < 100; ++i) a[i] = i;
for (int i = 0; i < 100; ++i) {
int k = i + random() % (100 - i);
printf("%d\n", 1 + a[k]);
a[k] = a[i];
}
return 0;
}
136名無しさん@12周年:2011/10/16(日) 10:41:17.95 ID:ajwSrKYaP
ポインタガー、バグガー、オンショーガーとかほざいてるのはレベルが低い職場の自慢大会でもしたいのか
137名無しさん@12周年:2011/10/16(日) 10:41:50.85 ID:wkAvY17a0
無限ループでハングアップさせる奴はいるにはいるがただのアホ。
138名無しさん@12周年:2011/10/16(日) 10:42:24.52 ID:m8Spbc5A0
>>120
さまざまな言語でGCを使えるのも
Cのポインタのおかげだろう。
139名無しさん@12周年:2011/10/16(日) 10:43:00.80 ID:+QODP+Bt0
どんなにアホに思えることでも一回は自分でやらかす
140名無しさん@12周年:2011/10/16(日) 10:43:53.04 ID:A0lIQ6S30
バグの温床はポインタより再帰と多重ループと論理的思考ができないプログラマだわな。
141名無しさん@12周年:2011/10/16(日) 10:43:58.26 ID:3dIirmZO0
int (*test(char* string))(int*)
こういうのってどう解釈したらいいの?
142名無しさん@12周年:2011/10/16(日) 10:44:35.33 ID:98EDqatg0
>>129
int a;
a=10;
って書いたときの10は決まってる値だからコンパイルするときには既にわかってるってのと同じ事
余計わからんかw
143名無しさん@12周年:2011/10/16(日) 10:44:48.81 ID:7faujSv50
まったく理解できない 
144名無しさん@12周年:2011/10/16(日) 10:44:53.38 ID:9iZEcW6P0
俺もポインタがよくわからなかったが、アドレスを入れる箱のことだと説明されて、やっと理解した。

たとえば、「ある変数に値を代入」するという処理を、「13号室の山田さんに荷物を届けること」だと考える。
変数が山田さん、13号室がアドレス、13号室と書いてある伝票がポインタ。
山田さんが誰だか知っていれば、山田さんに荷物を届けるだけ。これが普通の代入。
山田さんを知らない人にお願いするなら、とにかくこの伝票の部屋番に荷物を届けろと伝えて実行させる。これがポインタ変数代入。
145名無しさん@12周年:2011/10/16(日) 10:47:02.82 ID:AZzB7bjQ0
>>141 関数ポインタ
146名無しさん@12周年:2011/10/16(日) 10:47:07.83 ID:wGxteECY0
#include <stdio.h>

int main()
{
char *po=NULL;
sprintf(po,"%s","ご冥福をお祈りします");
return 0;
}
147名無しさん@12周年:2011/10/16(日) 10:48:28.88 ID:wkAvY17a0
>>140
そんな奴はそもそも文系。
148名無しさん@12周年:2011/10/16(日) 10:48:52.83 ID:pMEzFqMh0
デニス本の難解さは訳が悪い説と原著が悪い説とあったが
どっちだったんだろうなw
149名無しさん@12周年:2011/10/16(日) 10:49:12.00 ID:A0lIQ6S30
>>147
いや、お前のことだが。
150名無しさん@12周年:2011/10/16(日) 10:49:47.70 ID:+GfIXbjU0
ポインタのポインタとかになってくるとアセンブラでレジスタ使う方がわかりやすい気がする
151名無しさん@12周年:2011/10/16(日) 10:50:13.66 ID:3dIirmZO0
>145
int (*test)(int*)
こう言うのなら関数ポインタとして理解できるんだけど
(char* string)がわからん
152名無しさん@12周年:2011/10/16(日) 10:50:19.22 ID:CY8BWcpe0
チンポインタ
153名無しさん@12周年:2011/10/16(日) 10:50:49.76 ID:+QODP+Bt0
バグの原因は寝不足
154名無しさん@12周年:2011/10/16(日) 10:50:53.95 ID:l29EnUm80
>>129
独学派の人は多いと思うんだけどなあ。
俺も独学。
なので明らかに可能。
155名無しさん@12周年:2011/10/16(日) 10:51:12.55 ID:wkAvY17a0
>>149
俺の情報を何も持ってないくせに論理的じゃねぇなお前w
156名無しさん@12周年:2011/10/16(日) 10:52:01.78 ID:l9byU5PZ0
>>151
関数へのアドレスを返す関数が有るのよ。
157名無しさん@12周年:2011/10/16(日) 10:52:06.16 ID:A0lIQ6S30
>>155
お前のこれまでのレスを見れば十分判断可能。
158名無しさん@12周年:2011/10/16(日) 10:54:31.69 ID:wkAvY17a0
>>157
短絡的だなw脳の論理回路が短絡しているって意味な。つまりアホ
まあおまえがアホでも俺にとっては別にどうでもいいんだけどな。
159名無しさん@12周年:2011/10/16(日) 10:54:35.32 ID:TrP+EVoI0
>>154
いや俺の場合、「参考書に金をかけずに」という縛りがあるので‥w

金のかからない趣味を選んだはずなのに!!
160名無しさん@12周年:2011/10/16(日) 10:55:27.43 ID:k15bNYte0
排他的lonely輪
161名無しさん@12周年:2011/10/16(日) 10:58:32.77 ID:l29EnUm80
>>159
俺もだよ。
C言語の参考書2冊しか買っていない。

もし一円たりとも使いたくないのであれば知識的にはネットだけでも十分。
でも辞書的な用途でK&Rはあったほうがいいかもなあ。
162名無しさん@12周年:2011/10/16(日) 11:01:07.87 ID:l29EnUm80
>>154
ちなみに俺はそこそこネットで取り上げられている程度オンラインソフトを何本か作っている。
オンラインソフト作家は独学の人多いんじゃないかなあ。なんとなくだが。
163名無しさん@12周年:2011/10/16(日) 11:03:14.14 ID:l9byU5PZ0
>>159
この板よりもっと質問しやすい板がある。
164名無しさん@12周年:2011/10/16(日) 11:04:16.78 ID:o/w+pRVt0
for (i=1;i<=1001;i++)
{
    if (strcmp(res[i],"ぬるぽ")==0)
    {
        printf("ガッ");
    }
}
165名無しさん@12周年:2011/10/16(日) 11:04:19.50 ID:62xAPsZG0
> 配列の大きさはコンパイル時に決まってるだろ。
そうでもないよ。動的配列に使用した場合は、実行時に計算される
166名無しさん@12周年:2011/10/16(日) 11:05:07.47 ID:S+kacQuc0
>>81
void *p;

でp++;やってみろや。
167名無しさん@12周年:2011/10/16(日) 11:06:04.66 ID:+QODP+Bt0
>>159
Cの参考書なんてブックオフにいけば105円で買える
文法書と標準ライブラリのリファレンスは買って手元に置いておくといいよ
だいたい理解したらアルゴリズム辞典かなにか買ってきて遊ぶ
168名無しさん@12周年:2011/10/16(日) 11:07:28.82 ID:TrP+EVoI0
>>163
そういう専門的な板でアホな質問すると、袋叩きにされそうで怖いんだけど‥。
でも勇気を出して行ってみるよ。
169名無しさん@12周年:2011/10/16(日) 11:09:34.14 ID:wkAvY17a0
char a[SIZE]のSIZEを変数にできないのでやっぱ定数かな?
仕方ないから#define SIZE 10とかやったりする
170名無しさん@12周年:2011/10/16(日) 11:10:07.48 ID:3dIirmZO0
>156
おおぉ、ありがとう。
ずっと疑問に思ってたのがやっと解けたよw
関数のポインタを返す関数なのね
戻り値の型が
int (*test)(int*)
で、
関数名がtest
引数がchar* string
171名無しさん@12周年:2011/10/16(日) 11:12:22.70 ID:9iZEcW6P0
>>168
アホをスルーするスキルが必要になるが、まあ頑張ってくれ
「そんなのネットで調べろ」とか言い出す奴が必ず出るからな
おまえらが今いる所はネットじゃないのかとw
172名無しさん@12周年:2011/10/16(日) 11:13:19.10 ID:CL7i3ybF0
再帰でスタックもりもり喰ってやんよ
173名無しさん@12周年:2011/10/16(日) 11:16:36.30 ID:62xAPsZG0
最近のCの処理系は、配列の宣言に変数を使えるよ
174名無しさん@12周年:2011/10/16(日) 11:18:40.07 ID:wkAvY17a0
>>173
C++と勘違いしているのでは?
175名無しさん@12周年:2011/10/16(日) 11:21:31.09 ID:m8Spbc5A0
C99だとauto変数の配列ってサイズ指定に変数値使えなかったっけ?
176名無しさん@12周年:2011/10/16(日) 11:27:08.88 ID:QOjnrLgI0
びっくりしたぁ〜。最近のCって、変数を関数途中で宣言できるのね?
177名無しさん@12周年:2011/10/16(日) 11:30:02.51 ID:01MA55lU0
kernel src には main がないんだよな
なんでや、あってもいいやろ
178名無しさん@12周年:2011/10/16(日) 11:30:16.55 ID:y53esEbv0
まとめサイト
179名無しさん@12周年:2011/10/16(日) 11:34:43.04 ID:wkAvY17a0
gcc だとchar a[SIZE]のSIZEに変数指定できるな。
Windows系のコンパイラはできなかった記憶が。
180名無しさん@12周年:2011/10/16(日) 11:35:41.51 ID:k15bNYte0
コボラードットコム
181名無しさん@12周年:2011/10/16(日) 11:37:14.36 ID:Zm3mcVYoO
明日の基本情報処理試験は追悼の意を込めてCで選択するわ。
リッチーさん見てて下さい。
182名無しさん@12周年:2011/10/16(日) 11:39:15.67 ID:8lLx9lsL0
また春にガンバレよ
183名無しさん@12周年:2011/10/16(日) 11:40:29.43 ID:wtqqn5uY0
ポインタってなに?
184名無しさん@12周年:2011/10/16(日) 11:42:14.86 ID:ZGB9mX2i0
>>127
while(1) { malloc(1); }
185名無しさん@12周年:2011/10/16(日) 11:44:16.55 ID:x7Coghwq0
死んだほうがいい奴は他に沢山いるというのに
186名無しさん@12周年:2011/10/16(日) 11:48:38.08 ID:rBtZKjkk0
ポインタってのは、ポイントのer系。
なので、**はポインタのポインタって言い方は間違い。
正しくは、ポインテリアになる。
***はポインテリアリアになる。
187空 腹 0.3_ ◆OQodEYiG7I :2011/10/16(日) 11:48:55.83 ID:ig3ocCa+0
Cで開発してんのに、ヒープ理解してないT興業のM下のおっさん。

データ構造とか、関心の分離とか、モジュール凝集度結合度とか
それぐらいは勉強しろ。

データベースぐらい使えるようになれ。
188名無しさん@12周年:2011/10/16(日) 11:50:48.73 ID:ZGB9mX2i0
>>176
ブロックの先頭ならC言語でもかなり前から宣言できなかったっけ?
189名無しさん@12周年:2011/10/16(日) 11:54:29.40 ID:ZGB9mX2i0
>>186
おまえ、そんなこと書いたらcharの読み方論争が始まるだろうが!
190名無しさん@12周年:2011/10/16(日) 11:57:31.27 ID:f4wd7Fug0
>>183
ポインタを使った例

while (韓国人_ブローカー) {
  韓国人_売春婦 += *韓国人_留学生;
}
191名無しさん@12周年:2011/10/16(日) 11:58:17.22 ID:aueqMRUt0
きゃら
192名無しさん@12周年:2011/10/16(日) 11:58:50.15 ID:8EoSjf/P0
ちゃぁ
193名無しさん@12周年:2011/10/16(日) 12:01:54.91 ID:KyKrFbas0
>>186
ポインタのポインタは日本語として
正しい

和製英語にケチつけるのと一緒
194名無しさん@12周年:2011/10/16(日) 12:04:27.37 ID:aueqMRUt0
>>187
基本情報落ちるレベルだな。
195名無しさん@12周年:2011/10/16(日) 12:04:51.60 ID:wkAvY17a0
今試したら
char a[10][10]
char (*b)[10]=a; OK Unix /NG Windows
char *b[10]=a; NG Unix /OK Windows
だと思われる

196名無しさん@12周年:2011/10/16(日) 12:05:26.19 ID:LRfpGiDA0
Cは殆ど使ってないな。
ネットはPHPで間に合うし。
遅さがネックになってきたら考えるが。
197名無しさん@12周年:2011/10/16(日) 12:05:28.93 ID:01MA55lU0
きゃーだろ
198名無しさん@12周年:2011/10/16(日) 12:06:22.98 ID:78jqP5MS0
>>187
屁理屈はどうでもいいから、さっさと俺が言った通りのもん作ってこいドカタ
199名無しさん@12周年:2011/10/16(日) 12:07:11.57 ID:rBtZKjkk0
>>193
でたらめ書いたのにマジレスさせちゃってごめんね。
200名無しさん@12周年:2011/10/16(日) 12:08:30.40 ID:+QODP+Bt0
いやいや、ドカタに命令する人に言ったとおりのモノを作っていっても怒り出すから
言ったとおりのものじゃなくて考えたとおりのモノじゃないと
201名無しさん@12周年:2011/10/16(日) 12:11:12.49 ID:v7yWxBev0
>>126
アセンブラもいいけど、 R と、
Perl や、 Ruby などのスクリプト系の言語を、
全ての授業と試験で使うように義務付けたほうが。
202名無しさん@12周年:2011/10/16(日) 12:12:20.22 ID:ajwSrKYaP
土木系の技能労働者のほうがずっとプロフェッショナルだよ
ITドカタっていう言い方は彼らに対して失礼だよ
203名無しさん@12周年:2011/10/16(日) 12:12:36.82 ID:2fn4gq+X0
>>200
ああ、凄くよく分かるソレ。
「思った通りのものじゃないかもしれないけど
 命令した通りのものです」
って言いたいけど言えない。
204名無しさん@12周年:2011/10/16(日) 12:13:32.71 ID:01MA55lU0
>>201
java やろ アンドロイドのアプリ作らせればいいじゃん
205名無しさん@12周年:2011/10/16(日) 12:14:47.27 ID:Zm3mcVYoO
中国語版K&R本を見てみたい。
206名無しさん@12周年:2011/10/16(日) 12:16:33.10 ID:5Yac+NXq0
8ビットマシンのアセンブラで
Load Effective Address命令で
レジスタにデータの先頭アドレスを入れ
レジスタ間接アドレッシングでデータを参照するというのを
何の疑問もなく使っていた自分なのに
Cのポインタは20年かけても理解できんのだよな。

おそらくは、データ型・変数・関数という高級言語的機能に
メモリアドレッシングという低級言語の機能をそのまま同居させ
両者が時に関連し合うという複雑さが、Cを難解にさせていると思う。
アセンブラより数段難しい。
207名無しさん@12周年:2011/10/16(日) 12:18:46.00 ID:62xAPsZG0
Cのポインタが、理解しづらいのは、
*と&の使い方が、紛らわしいだけ
208名無しさん@12周年:2011/10/16(日) 12:20:04.48 ID:wkAvY17a0
char a[10][10];
char (*b)[10]=a; OK Unix /OK Windows
char *b[10]=a; NG Unix /NG Windows
だったスマンwwwww
209名無しさん@12周年:2011/10/16(日) 12:20:57.11 ID:9iZEcW6P0
>>200
こういうことを言うおっさんがすごく多いから、きっちり動作仕様書を起こして、この通りに動くが本当にいいのかと念を押させる
まあこれだけやっても、「いや、そういう意味じゃない」とか言い出すんだけどな
おまえ、仕様書見ただろうがと、小一時間もめることになる
210名無しさん@12周年:2011/10/16(日) 12:22:50.71 ID:MjrAushp0
>>129
ネット黎明期でも独学出来たぞ。
今だったら無料の開発環境やら懇切丁寧な
解説サイトまであるんだから余裕だろ。

これだけ恵まれた環境で独学無理ってなら
誰が教えてもプログラミングできるようにならんぞ。
211名無しさん@12周年:2011/10/16(日) 12:25:05.98 ID:MjrAushp0
ポインタのポインタが理解できないという話を良く聞くが、
間違いなくポインタを理解できていないだけだ。
212名無しさん@12周年:2011/10/16(日) 12:26:14.99 ID:ajwSrKYaP
213名無しさん@12周年:2011/10/16(日) 12:28:19.06 ID:98EDqatg0
>>206
char AH;
char *HL;

AH = *(HL + n)

ってなってるだけじゃ?
214名無しさん@12周年:2011/10/16(日) 12:29:07.99 ID:XKzLbpf/O
>>206
概念だけはなんとなく
“メモリアドレス指定して命令を格納呼び出しする機能”
なのかにゃ、と思ふが
どこのメモリアドレスが今どんなんなってるか判らんのに
そんなん使えんのか?とも思った
215名無しさん@12周年:2011/10/16(日) 12:30:18.47 ID:k15bNYte0
イテレータ「お前を隅から隅まで舐め回してやる」
配列「いやん・・・」
216名無しさん@12周年:2011/10/16(日) 12:35:48.68 ID:wkAvY17a0
char a[10][10];
a[x][y]==*(a+x*10+y)なのはWindowsだけだと思われる。gccでは違った。
217名無しさん@12周年:2011/10/16(日) 12:43:37.55 ID:J73avyb70
>>215
そこは

(ここでイテレータが配列の帯をつかんで、コマを廻すようにサーッと引く。
配列の体がくるくるとまわり、)
配列「あーれー!」
と云いつつ、奥の床間
218名無しさん@12周年:2011/10/16(日) 12:46:45.77 ID:NbeU+aEQ0
リッチーとくればジョンロード
219名無しさん@12周年:2011/10/16(日) 12:46:51.17 ID:wkAvY17a0
今色々やってみた俺の結論
配列のサイズが定数=Windows
配列のサイズが変数=Unix
220名無しさん@12周年:2011/10/16(日) 12:47:47.63 ID:3SMr8PRK0
ポインタより構造化のほうがむずい
221名無しさん@12周年:2011/10/16(日) 12:49:32.70 ID:aYEc7nNN0
>>209
実装をお願いする側からすると、その仕様書を起こしている最中に
仕様で何も疑問に感じなかったのかな?と思ってちょっと聞いてみると
「いや変だと思ってました」とか子供のような返答がきてゲンナリすることがよくある。
222名無しさん@12周年:2011/10/16(日) 12:50:51.24 ID:lmqTg/Gm0
>>118
大好きな論文?本?です.
本物のプログラマーはPASCALどころかCすら使いません.
FORTRANとマシン語で生きています.
ーーー今の俺といいたいけど,そのレベルには達していない.ーーー
223名無しさん@12周年:2011/10/16(日) 12:51:15.57 ID:wkAvY17a0
>>215
そこはイナメレータだろが。
224名無しさん@12周年:2011/10/16(日) 12:51:39.98 ID:pu9jh+Zx0
>>126,201,204
Java といえば、Processing も良いよね。
225名無しさん@12周年:2011/10/16(日) 12:51:52.73 ID:ajwSrKYaP
配列要素のアライメントは処理系やコンパイラの実装に依存
226名無しさん@12周年:2011/10/16(日) 12:53:49.15 ID:lmqTg/Gm0
>>224
Javaはpointerがないので面白くない.嫌い.
227名無しさん@12周年:2011/10/16(日) 12:54:58.71 ID:ZEdZCuE70
>>201
スクリプト系ならpythonだろう
perlとかRなんて需要自体が限られてくる
228名無しさん@12周年:2011/10/16(日) 12:56:06.17 ID:jJ/McPJV0
>>201
C, C++/Java, SQL及びRDBMS周り, TCP/IP, R, Pearl/Ruby/Python

この辺は基礎教養として必修にしてほしい。

大学の教養でやったのは、時代遅れの昔のFortranで吹いたわ。
Excel VBA 教えてくれたほうが、まだ役に立つわ。
229名無しさん@12周年:2011/10/16(日) 12:56:54.62 ID:k15bNYte0
変数「そんな大きいの入れたら・・・私オーバーフローしちゃうよぉぉ…」
230名無しさん@12周年:2011/10/16(日) 12:57:39.86 ID:tUXgev3E0
ターミネーターが殺しに来るような人?
231名無しさん@12周年:2011/10/16(日) 12:57:43.15 ID:ZEdZCuE70
>>207
変数と変数を示す「アドレス」との関係が理解できているかどうか
実はここがアセンブラと良く似ている
逆にこれを理解するとアセンブラも理解し易くなる

当然のことながら、ハードウェア上の処理というものが
具体的にイメージできるようになる

アセンブラやCの教育をやらないほど、使い捨てIT土方の
数は増えていく
ハードの知識がない人間がシステムを組めるというのは
幻想に過ぎない
232名無しさん@12周年:2011/10/16(日) 12:58:19.07 ID:wkAvY17a0
C++で改善して欲しい仕様は幾つかあるな
delete (void*)a;が違反であるのが困る
仕方ないのでテンプレートを使うハメになる。
しかもデストラクタをバーチャルインラインデストラクタにしなければいけない。
233名無しさん@12周年:2011/10/16(日) 13:00:56.18 ID:2fn4gq+X0
>>229
小さけりゃ小さい出アンダーフローとか言い出すんだろこのビッチはよ
234名無しさん@12周年:2011/10/16(日) 13:01:09.03 ID:ZEdZCuE70
>>211
ポインタのポインタというのは、実はポインタ変数のポインタに過ぎないからね
ポインタというのはポインタ変数の中の値で、ポインタのポインタは
厳密には「ポインタ変数のポインタ」だ
値にはポインタが存在しないが、変数にはポインタが存在する

文系的な頭だと言葉に惑わされていつまでも理解できない
235名無しさん@12周年:2011/10/16(日) 13:08:58.51 ID:2nefDLTS0
>>234
ポインタのポインタとか関数ポインタとか
理屈はわかっても、なにそれ、なにに使うので思考が停止する人なのでは
236名無しさん@12周年:2011/10/16(日) 13:12:21.16 ID:v7yWxBev0
>>227,228
あくまでも、一般の小中学生も含めた全国民に、
読み書き算盤の一環として教えて、日常生活の中で使用することが前提なので、
R とスクリプト系の言語ということに。

もちろんスクリプト言語に、Python を加えてもいいし、
さらに余裕のある子供には、他のコンピュータ言語や、
SQL などのリレーショナル・データベースなども教えるということて。
237名無しさん@12周年:2011/10/16(日) 13:14:39.13 ID:5Yac+NXq0
>>234
ああ、ポインタという言葉の曖昧さってのはあるかもね。
Cの解説本によっては、ポインタ=アドレスである、と
断言しているものがあって混乱する。
アドレスはメモリの番地を現す数値であり、ポインタはその
数値を値として持つ変数のことじゃないのか?と突っ込みたくなる。

だからポインタのポインタとなるともうお手上げ。
データのアドレス、そのアドレスを持つ変数、その変数のアドレス、
そのアドレスを持つ変数の4つの関係があるからこれらを同時に
解釈するのは文系脳には極めて厳しい。
238名無しさん@12周年:2011/10/16(日) 13:14:41.78 ID:k15bNYte0
typedef「どれ、おじさんがいい名前をつけてやろう」
239名無しさん@12周年:2011/10/16(日) 13:15:16.58 ID:KF3UGYne0
ジョブズよりもリッチーさんの死の方が悲しい
貢献度で言えば、リッチーさんの方が遥かに上だろ
240名無しさん@12周年:2011/10/16(日) 13:16:40.68 ID:r4c5uYUw0
なんでR?
241名無しさん@12周年:2011/10/16(日) 13:17:31.16 ID:ZEdZCuE70
>>236
あまり意味ないと思うよ
pythonだけでもいいし、bashでもいい

スクリプト言語は誰でも簡単にプログラムが組めるという
メリットがある反面、それ自体には教育的な要素があまりない

一言で言えば「実用性に特化した言語」だろう
Rなんて統計学の基礎知識が無ければ、糞役に立たない言語だし

きちんと教育をしたければ、出来ればアセンブラ、妥協してC,Lispだと思う
スクリプトを教育に推奨するという人は、あまりプログラミングを理解していないのでは?
>>228の方が遥かに効果が高いと思う
242名無しさん@12周年:2011/10/16(日) 13:17:47.73 ID:8EoSjf/P0
>>236
Rを使って出来ることで意味の有ることは
大学の数学レベルだし
電卓用途のRならPythonですぐに実現できる
243名無しさん@12周年:2011/10/16(日) 13:18:03.44 ID:KF3UGYne0
>>235

>ポインタのポインタとか関数ポインタとか

結局はポインタのことなんだけどね
244名無しさん@12周年:2011/10/16(日) 13:19:43.07 ID:ZEdZCuE70
>>237
ただポインタ自体もアセンブラより抽象化していて、たとえばIntel系だと
グローバル変数のようにヒープ領域を使うものもあれば、
パラメータのようにスタックを使うものもある

この辺は処理系によっても微妙に変わってくるから、単純に説明できないところではある
245名無しさん@12周年:2011/10/16(日) 13:23:00.30 ID:QOjnrLgI0
ポインター? アセンブラやればすぐわかるんでは?
246名無しさん@12周年:2011/10/16(日) 13:23:16.63 ID:KF3UGYne0
単に
ポインタ=アドレスを入れておく変数
でいいじゃん
247名無しさん@12周年:2011/10/16(日) 13:23:43.58 ID:v7yWxBev0
>>240
R でなくても、
エクセルでも良いのだけど、
全国民が初歩的な統計学とスクリプト言語を習得し、
これを成人後、あらゆる業務に使用するようになれば、
>>126 のいうような
「びっくりするぐらいITに強い国に」なるということで。
248名無しさん@12周年:2011/10/16(日) 13:25:37.57 ID:k15bNYte0
length「すごく・・・長いです・・・」
249名無しさん@12周年:2011/10/16(日) 13:26:29.24 ID:KF3UGYne0
数学やっているヤツが理解できなかったのが

a = a + 1;

ん?なんで a と a+1 が等しいのだ?
これはリッチーが書いた本の中にも書かれていたか…
250名無しさん@12周年:2011/10/16(日) 13:26:36.31 ID:ZW2he9IB0
リッチーの業績では、UNIX >> C なのに、C の話ばかりなのは、
社会的には、K&R の影響が大きいということなのか。

ポインタがわからんって人が出てくるけど、参照とかだったら簡単なわけ?
ポインタ使って実装するようなデータ構造、例えば、Linked List とかは、理解できてるの?
251名無しさん@12周年:2011/10/16(日) 13:26:53.70 ID:01MA55lU0
>>246
ポインタはオブジェクトのアドレスで変数ではありません。
252名無しさん@12周年:2011/10/16(日) 13:29:17.64 ID:KF3UGYne0
初心者がよくやる間違い(コンパイルエラーも出ない)↓

if ( a = 3 ) {
}

>>251
インクリメント、デクリメント、足したり、引いたりできるから変数じゃないの?
253名無しさん@12周年:2011/10/16(日) 13:30:24.05 ID:9je+1ZUb0
>>26
汎用機を普通の学生が使えるような時代になるのは、十年以上遅れていただろうな
へたするとIBMの時代が今でも続いていたかもしれない

なにより、ビデオゲームが今の形で存在してることは考えにくい
Spacewar!が作られ、パブリックドメイン扱いでばらまかれた背景が存在しなくなるからね
その意味では、ビデオゲーム界の神祖様でもあったわけだ
コードがCで作られているゲームも少なくないしな
254名無しさん@12周年:2011/10/16(日) 13:30:34.90 ID:ZEdZCuE70
>>247
多分ならないw
エクセル程度なら必要に応じて業務の知識として研修を行えば良いレベル
本当に数学大嫌いな文系のお姉さんでも出来る話で教育による効果は
限りなく0に近いと思う

それなら数学教育を徹底して行い、高卒以上では簡単な微積分の知識を
身につけているくらいにした方が遥かに良い
もっと言えば、文系連中にはもっと「論証問題」をやらせろと言いたい
アホがスクリプト言語なんていう道具を覚えたところで、アホなプログラムを
作るだけだ

論証問題で緻密な議論に耐えられる頭脳があれば、言語なんて直ぐに
覚えられるだろう
さらにプログラミングの基礎の訓練をアセンブラレベルからやれば、
IT技術者として世界に通用する人間なんていくらでも量産できる

プログラミングと論理は世界共通
エクセルとかスクリプト言語とか、そんなものは必要ない
(ちなみに俺はruby,javaなんて知らない。Objective-Cなら触りだけやったことがあるがw)
255名無しさん@12周年:2011/10/16(日) 13:30:55.28 ID:01MA55lU0
変数にはポインタを入れられます。
256名無しさん@12周年:2011/10/16(日) 13:31:08.22 ID:bNtczvau0
オブジェクトのアドレスを値として持つ変数だよ
257名無しさん@12周年:2011/10/16(日) 13:32:13.20 ID:8EoSjf/P0
そもそも微積分出来無いと確率統計を理解出来ないし
258名無しさん@12周年:2011/10/16(日) 13:34:00.85 ID:k15bNYte0
>>253 Amigaも偉大
259名無しさん@12周年:2011/10/16(日) 13:35:34.93 ID:HpCDX3yN0
>>250
UNIX使うって、あるいみC使うわけだからな。

それとも、sed とか yacc とかの話でもするかね?www
俺の .shrc 自慢とかw
260名無しさん@12周年:2011/10/16(日) 13:38:30.12 ID:ZyE0OPE+O
>>251
変数じゃない?
オブジェクトのアドレスでなくてメモリのアドレスのような気も。
261名無しさん@12周年:2011/10/16(日) 13:38:53.93 ID:x7Coghwq0
俺の.zlogin .zshrc .zshenvは8年もの
262名無しさん@12周年:2011/10/16(日) 13:40:14.86 ID:01MA55lU0
zlogin は今でも現役やで
263名無しさん@12周年:2011/10/16(日) 13:41:32.46 ID:HVi+HpaY0
>>250
> ポインタがわからんって人が出てくるけど、参照とかだったら簡単なわけ?

むしろポインタよりも参照の方が難しいかも。

ポインタでは出来るけど、参照だと出来ない事って何?
264名無しさん@12周年:2011/10/16(日) 13:41:42.94 ID:ZEdZCuE70
UNIXの話をするとUNIX関係者、せいぜいLinuxあたりで話が終わるからだろう
Windows上でC/C++、javaを使って開発している奴から見れば、
UNIXは未知の世界かも知れないし

ただ実際にはUNIXの果たした役割は非常に大きいし、
Linux、Windowsに与えたリソース、Internetの発展まで全部含めれば、
おそらくデジタルと名のつくものでUNIXと関係のない物はほとんどない
と言っていいだろうね

IPから組み込みOSの開発環境、ホストと言うことになるから
信号機の制御システムから薄型テレビに至るまでリッチーは
貢献したと言える

メディアのジョブズ過大評価、リッチー過小評価ということだろう
そもそもOS/Xからして・・・
265名無しさん@12周年:2011/10/16(日) 13:43:25.56 ID:vvM3SjC20
>>22
うろ覚えだろ馬鹿。

ほんとうる覚えって言う奴って日本人なの!?
”うる”なんて表現、売る以外では”うるう年”ぐらいだろ!?
266名無しさん@12周年:2011/10/16(日) 13:45:25.93 ID:v7yWxBev0
>>241-242
イメージとしては、自然言語で記述されたデータや、テキストデータを
スクリプト系言語で処理し、
必要とあれば、それらのテキストデータから、数値化されたデータも生成し、
また数値化されたデータを、R で処理するという感じで。

全国民がデータマイニングと統計学を常用するようになれば、
国民一人あたりの生産効率も、現在よりかなり上がると思うんだが。

もちろん、processing を使って視覚化もすれば良いと思うし、
awk や sed や、bourne sh や bash を使ってもいいと思う。
267名無しさん@12周年:2011/10/16(日) 13:46:30.15 ID:HVi+HpaY0
>>263
> ポインタでは出来るけど、参照だと出来ない事って何?

自己レスだが、逆を聞いてしまった。
参照のインクリメントはポインタの様に普通の意味(オーバーロードとか抜き)
では出来んか。

でもって、ポインタでは出来ないけど、参照だと出来る事って何?
C++あたりだとコピコンとか参照を前提に設計されてるから、アレな気もするけど。
268名無しさん@12周年:2011/10/16(日) 13:47:54.91 ID:8EoSjf/P0
>>266
ミーハーな中二病って感じ
269名無しさん@12周年:2011/10/16(日) 13:49:25.95 ID:ZW2he9IB0
>>253
UNIX が、その後の世界にどのようなインパクトを与えたか、考えてみる。

OS が高級言語で実装されることで、他のアーキテクチャへの移植が容易に
-> ミニコンから、マイクロプロセッサを使った安価なワークステーションの時代へ
-> RISC などのアーキテクチャ競争を経て、コンピュータの性能の劇的向上
(半導体プロセス技術以上に、アーキテクチャの進歩や回路実装技術の性能に対する貢献は大きい)

TCP/IP は、UNIX 上で実装された。
-> メーカー独自 OS しかなければ、メーカー独自プロトコルが乱立し、IP 網は存在しなかった。
(マイナーな ARPANET に加え、商用の OSI や ATM 網が並存という世界になってた?)

ほんの 20 年前のこと考えても、PC のほとんどが 32bit 化しても、DOS Extender (Win3.1) を使い、
アプリケーションの大半が 16bit だったことを考えれば、OS の重要度と UNIX の貢献の高さが分かるよなあ。
270名無しさん@12周年:2011/10/16(日) 13:49:56.55 ID:N1I/0h4S0
>>250
単に、UNIX使ってる奴が少ないだけだろ。
UNIX使ってるプログラマも、Javaとかスクリプトの(サーバサイド)プラットフォームとして
使ってるだけで、日常的にUNIX使ってるわけじゃないだろうし。
271名無しさん@12周年:2011/10/16(日) 13:50:27.85 ID:HHAQRIBP0
「ポインタわかんねー」的な書き込みが多いけど、
関数の戻り値として、配列を変えそうとすると、
ポインタから逃げられないんじゃねーの?
272名無しさん@12周年:2011/10/16(日) 13:51:20.02 ID:8EoSjf/P0
>>271
配列も分かってないんだろ、Cの場合は。
273名無しさん@12周年:2011/10/16(日) 13:52:03.41 ID:9je+1ZUb0
>>269
あと、実はゲイツがBASICを商品として開発した環境も存在しなくなるので、
必然的にマイクロソフトも存在しなくな……あれ? これってなんてヘヴン?w
274名無しさん@12周年:2011/10/16(日) 13:52:29.65 ID:01MA55lU0
* は ポインタのぽいんちゃん
** は、ぽいんちゃんのおっかー
*** は、そんなもん知るか
275名無しさん@12周年:2011/10/16(日) 13:54:28.51 ID:ZEdZCuE70
>>266
> イメージとしては、自然言語で記述されたデータや、テキストデータを
> スクリプト系言語で処理し、
> 必要とあれば、それらのテキストデータから、数値化されたデータも生成し、
> また数値化されたデータを、R で処理するという感じで。
そういうのって、はっきり書けば「職業訓練」的な話に過ぎない
それを使えても下請けでのIT土方を量産するだけ
でもって、世界的に見てその程度のIT土方はいくらでも供給がある
つまり、それをやったところでIT後進国に成り下がるしかなくなる

君が言っているようなことをやるべき国はインドや東南アジアだろう
Rと言っただけで付加価値があるように見えるのかもしれないが、
全くないと言っていいくらい価値が薄い

ところがマシン語を使いこなせれば、高級言語も比較的理解し易いし、
一方でスクリプトなんて知らぬ間に覚えてしまうものだ
(使いながら覚えていくのに適している)
pythonあたりだと多少気合入れる必要があるかもしれないが

重要なのは基礎の基礎である数学、物理学、さらにITの基礎となっている
情報工学、ソフトウェア工学、電子・通信工学などだろう
もっと業際的に見れば制御工学などもやっておいた方が良いかもしれない

使うかどうか分からないスクリプト覚えている暇が合ったら、minix,linux,bsdなど
のOSのカーネルのソースを読んだ方が遥かに良い
あるいはfirefoxのソースを読みながらC++の勉強とか
276名無しさん@12周年:2011/10/16(日) 13:55:26.25 ID:B+mA2h6y0
同人ゲー作りたいとプログラミングに手を出したが、
いきなり言語を学んでもイミフな世界だったので
コンピュータの歴史から学ぶことにしたら、
プログラミングの必要性やが概念がなんとなくだがつかめてきた気がする。
ま、文系DQNの自分にはこれが精一杯。
相変わらず何のプログラムもつくれまへん。
277名無しさん@12周年:2011/10/16(日) 13:56:54.02 ID:HHAQRIBP0
>>276
ふつーは、フリーなゲームのソースをいじってチートするところから始めるんですよ。
278名無しさん@12周年:2011/10/16(日) 13:58:40.50 ID:9je+1ZUb0
>>276
HSPでサンプルいじりながらいろいろやってみたら?
あれは本当に良くできている。言語仕様があれだとか文句を言う人もいるだろうけど
ノベルゲーなら、Nscriptとか吉里吉里とかあるから、それもコードをいじるところから初めてみるといい

読んでいるだけで理解できるなら、今頃あなたは、とっくにコードを書き始めているだろうからね
279名無しさん@12周年:2011/10/16(日) 13:59:44.77 ID:v7yWxBev0
>>275
C++ の勉強だとしても、
firefox のソースはあまり読みたくないなあ。
せめて、webKit かなにかにしてほしい。
280名無しさん@12周年:2011/10/16(日) 13:59:51.80 ID:ZW2he9IB0
>>267
ポインタが難しいって言ってる人が、そもそも、ポインタを必要とするような
データ構造を理解してるのかなって、聞きたかっただけ。

データ構造が理解できて、ポインタの使い方が難しいんなら、言語仕様に改善の余地があるかもしれないけど、
データ構造が理解できないのに、ポインタの使い方だけ説明されても、分かるわけが無いと思う。
281名無しさん@12周年:2011/10/16(日) 14:01:19.67 ID:ZEdZCuE70
>>269
更に派生的なことを書けば、

20年ほど前、組み込み系のホスト(EWS)としてはUNIXが定番だった
(つまりUNIX上にクロスコンパイラなど開発環境を用意して、
プログラムをリアルタイムOSとバインドして、そこからターゲットに
ダウンロードするという形が取られていた)

UNIXの知識が無いとPC以外のマイコン制御システムを開発できない
という時代が続いていた

UNIXという標準規格のおかげで低コストにマイコン制御ができた訳だ
282名無しさん@12周年:2011/10/16(日) 14:01:32.48 ID:wkAvY17a0
>>267
記述の解り易さじゃないかな?
f(int x,int& y);って言ったら
xは入力でyは出力だって解る。もっともそれを意識して作ったのが前提だが。
f(int x,int* y)だったらyは出力なのか配列なのかただのポインタなのか解らない。
283名無しさん@12周年:2011/10/16(日) 14:02:41.03 ID:ZW2he9IB0
>>259>>270
多くの人は、UNIX ってのは、コマンドのことなのか。
確かに、入門書にはコマンドの解説しかないもんなあ。
284名無しさん@12周年:2011/10/16(日) 14:03:10.28 ID:Gcro4LrQ0
>>271
やってることすら理解できないなら論外。
記述されてる意味がわからねーってのならまだマシ。たとえばこんな感じのやつとか。
void (*function(int number, void (*pointer)(void)))(int)
285名無しさん@12周年:2011/10/16(日) 14:04:49.04 ID:XW7KOuN20
>>276
今はツクール系のツールがたくさん出てるんだからまずはそれを活用しようぜ
それで不満が出てきたらほかの手を模索すればいい
286名無しさん@12周年:2011/10/16(日) 14:05:55.40 ID:01MA55lU0
unix 型 OS の kernel の souce 読めば ポインタの使い方理解できるよ
287 忍法帖【Lv=13,xxxPT】 :2011/10/16(日) 14:09:36.60 ID:R6qOjk6V0
>>284

   関数へのポインタを持ち出せれば偉そうにできるという、C言語の世界。

   何の意味があろうか?


288名無しさん@12周年:2011/10/16(日) 14:11:25.43 ID:mQ8XgiBz0
ポインタのラッパーが参照だろ。
289 忍法帖【Lv=13,xxxPT】 :2011/10/16(日) 14:13:00.47 ID:R6qOjk6V0

   小学生にこう教えよう。

      住所=ポインタ

      名前=変数名

   ポインタは当然1バイトずらしても、正確な次の変数の住所を教えてくれない。

   そりゃ、敷地の大きさが違うからね〜。これで分からなければ、プログラミング以外の

   仕事を選択すべきだ。

290名無しさん@12周年:2011/10/16(日) 14:14:16.10 ID:k15bNYte0
(format t "nullpo~%")
291名無しさん@12周年:2011/10/16(日) 14:14:48.20 ID:n51i7vMX0
関数ごと入れかえてしまうような
ポインタの使い方は
見つけにくいバグの素
292 忍法帖【Lv=13,xxxPT】 :2011/10/16(日) 14:15:19.46 ID:R6qOjk6V0
>>288

   実装によるだろ、ポインタを変数としている言語もあるし。

   この場合、メモリーのallocationなどは、言語とOSが面倒を見るって話。

293名無しさん@12周年:2011/10/16(日) 14:16:32.35 ID:GLYpjGXO0
ジョブス並に大事件とおもうけどな。
294名無しさん@12周年:2011/10/16(日) 14:17:09.16 ID:Gcro4LrQ0
>>289
概ね同意だけど、
ポインタ変数 = 住所とその敷地サイズが書かれたメモ
メモリアドレス = 住所
データの値 = 実際の土地
こっちの方が全然わかりやすいと思う。

>>293
一般人にとってはテレビに出たりしてる人以外はどうでもいいんだと思う・・・
295 忍法帖【Lv=13,xxxPT】 :2011/10/16(日) 14:17:36.43 ID:R6qOjk6V0
>>291

   リソースが十分ある現代において、そんなプログラムは組み込みでも見当たらないだろ。

   いつの話かな?


296 忍法帖【Lv=13,xxxPT】 :2011/10/16(日) 14:20:08.95 ID:R6qOjk6V0
>>294

   使いやすい方で説明されれば? 私は職業プログラマでも、指導教官でも

   ないからねぇ。


297名無しさん@12周年:2011/10/16(日) 14:21:02.49 ID:wkAvY17a0
UNIXの話をしたい人がいるみたいだな
rm / -rf
298名無しさん@12周年:2011/10/16(日) 14:21:45.16 ID:iXQ+dYayP
char **pのpはポインタのポインタではなくポインタのアドレス、って読んだ方が
理解しやすい。
ポインタの配列として使う場合はchar *p[]と明示的に書いたほうが他人に理解してもらいやすい。
299名無しさん@12周年:2011/10/16(日) 14:22:06.81 ID:ZEdZCuE70
>>293
事件かどうかは分からないが、
コンピュータ業界内でも社会的に見ても
業績は間違いなくリッチーが大きい

歴史家の評価は最終的にそうなるだろう
UNIXがどう社会と関わっているかを考えれば、
とてもじゃないがアポー一社で完結してしまっている
人とは桁が異なる
300名無しさん@12周年:2011/10/16(日) 14:22:52.84 ID:HHAQRIBP0
>>293
ジョブズ:ウォズニアックの給料を搾取して、金持ちになった。
リッチー:リッチになれなかった。
301名無しさん@12周年:2011/10/16(日) 14:24:09.44 ID:XzZFu/VG0
Cでポインタを使って、アドレス0番地に入っている値を見るにはどうしたら良い?
302名無しさん@12周年:2011/10/16(日) 14:24:24.64 ID:ZEdZCuE70
>>297
その前にこれをやっておかなければ

ls / -lR
303名無しさん@12周年:2011/10/16(日) 14:24:30.87 ID:l9byU5PZ0
リッチーはプアだったのか…
304名無しさん@12周年:2011/10/16(日) 14:26:15.11 ID:8lLx9lsL0
>>301
*((char *)0)
じゃあかんの?
305名無しさん@12周年:2011/10/16(日) 14:26:46.07 ID:XzZFu/VG0
>>304
それ、ヌルポじゃないの?
306名無しさん@12周年:2011/10/16(日) 14:26:57.12 ID:iXQ+dYayP
>>301

printf("%x\n" ,*((int *)0) ) ;

かな
307名無しさん@12周年:2011/10/16(日) 14:27:34.40 ID:v7yWxBev0
>>276
>>201 の話は、全国民が読み書きができるようになったように、
全国民が、あなたのいう「IT土方」程度の能力を身につけるようにしようというだけの話だよ。

スクリプト言語程度なら、
子供の頃からあらゆる授業や試験において、これを使っていれば、
まさにあなたが言うように

> 一方でスクリプトなんて知らぬ間に覚えてしまうものだ
> (使いながら覚えていくのに適している)

という性質のものなので >>201 のようにすれば
彼らが成人する頃には >>266 のような国になるわけだ。

ただ、公教育の場から日本語を全廃したとしても、
彼らが成人した頃に、彼ら全員が流暢に英語を読み書きできるような気もしないので、
私は >>268 の言うように「ミーハーな中二病」なのだとも思うが。

ところで C++ なら、
Linux や BSD 系の OS の他に、
一緒に haiku なども詠むと効率が良いんじゃないかな。
308名無しさん@12周年:2011/10/16(日) 14:28:02.32 ID:2nefDLTS0
ポインタ:      現住所
ポインタ変数:   区域名
アドレス:      番地
ポインタ変数配列:住所録
メモリ領域:     区域割り
アドレス演算:    住所欄を1(n)行ずつたどる・・・・・なんか違うかな・・・
309名無しさん@12周年:2011/10/16(日) 14:28:28.86 ID:8lLx9lsL0
そうか、0 は NULLに解釈されるんだったっけ?
あかんのか。
310名無しさん@12周年:2011/10/16(日) 14:29:14.10 ID:wkAvY17a0
ポインタにも種類があるからな
配列ポインタ(集合住宅の住所)
ボイドポインタ (住所不定無職)
311名無しさん@12周年:2011/10/16(日) 14:29:56.64 ID:k15bNYte0
K&R=ロバート・ノイス ゴードン・ムーア アンドリュー・グローブ<<<<<<<<<<ゲイツ<ジョブズ
312名無しさん@12周年:2011/10/16(日) 14:30:30.79 ID:iXQ+dYayP
>>305
そりゃMMUがプロテクトかけているメモリ空間だったらユーザーレベルのプログラムが
いくら頑張っても読めないよ。
OSレベルでpeekに相当するAPI呼ばないと。
そもそも最近のOSではユーザープログラムが見ている0番地は実際の0番地ではないし。
313307:2011/10/16(日) 14:30:54.09 ID:v7yWxBev0
>>276
ごめん、もともとスレ違いの話の上に、
ポインタを間違ってインクリメントしてしまったようだ。

>>307は、>>276じゃなくて >>275へのレス。
314名無しさん@12周年:2011/10/16(日) 14:31:17.67 ID:N1I/0h4S0
>>301
その0番地ってのは、物理アドレスなのか論理アドレスなのか。

>>305
ぬるぽの先に何かあれば(そして、アクセスが許可されていれば)読める。
315名無しさん@12周年:2011/10/16(日) 14:31:19.81 ID:goDGIlxq0
excelのマクロ組めるくらいの能力があれば誰だってプログラマになれる。
316名無しさん@12周年:2011/10/16(日) 14:31:29.79 ID:XzZFu/VG0
>>312
じゃ、OSもMMUもない組込みシステムみたいなのとしたら?
317名無しさん@12周年:2011/10/16(日) 14:32:45.21 ID:S6ToEdjW0
Cのエライところ

i++;
i+=1;
っていう記法。

C++の、Cに対してエライところ

1行コメントを // でかける。/* */で囲まなくてもヨイ

変数宣言を、上で全部やらなくても使う前に宣言すりゃヨロシ


以上。
318名無しさん@12周年:2011/10/16(日) 14:33:46.12 ID:01MA55lU0
今日は暇人がおおいな
319名無しさん@12周年:2011/10/16(日) 14:33:46.63 ID:8lLx9lsL0
>>316
結局は、NULLポインタをどう解釈するかの、実装依存になるから、
確実に読める方法は無いってことでしょ?
320名無しさん@12周年:2011/10/16(日) 14:36:06.44 ID:ZW2he9IB0
>>312
> OSレベルでpeekに相当するAPI呼ばないと。

普通は、物理空間が map されてる領域があって、特権モードだとアクセスできる。
MMU を初期化する前に動かないといけないから。
address 0 は、そこに含まれることが多いんじゃないかな?
321名無しさん@12周年:2011/10/16(日) 14:36:28.49 ID:iXQ+dYayP
>>316
>>306じゃダメ?

コンパイラが気を利かせてぬるぽでエラー出すなら変数にして

int k =0 ;
printf("%x\n" ,*((int *)k));

とやれば少なくともコンパイル段階ではエラーは出せないはず。
322名無しさん@12周年:2011/10/16(日) 14:37:35.01 ID:fXmo1HEOO
>>317
古いコーダーは変数全部上に書いちゃうんだよな

Wiki見たらうちの親会社が日本にUNIX持ち込んだとあった
マジなんかなあ
323名無しさん@12周年:2011/10/16(日) 14:39:32.78 ID:GLYpjGXO0
>>299
んんー。俺はまあジョブス的な仕事も割りと重視してんので。
あいついなかったらPC=キモヲタで終わりだったかもしれん。
>>307
だね。
ファイルを扱える簡単なスクリプト言語くらいは大卒程度の肩書きあるやつは
文系理系問わず多少知ってほしいもんだ。
ふつーに便利だし。
324名無しさん@12周年:2011/10/16(日) 14:40:03.69 ID:H8e2nxeU0
M01G71X0Y0とかってC言語?
325名無しさん@12周年:2011/10/16(日) 14:40:23.46 ID:fXmo1HEOO
>>321
普通に

printf("%x",k)

でええやん
326名無しさん@12周年:2011/10/16(日) 14:40:53.47 ID:8lLx9lsL0
>>325
え?
327名無しさん@12周年:2011/10/16(日) 14:41:43.23 ID:ZW2he9IB0
>>321
アドレスが動的に変化する場合は、コンパイラではエラーを検出できない。

仮想空間のページ 0 は、特権モードでしかアクセスできないから、ユーザープロセスでは例外が発生する。-> segmentation fault
カーネルモードでは、対応する物理アドレスにメモリが存在しないから、やはり例外が発生して、panic() かな?
328名無しさん@12周年:2011/10/16(日) 14:42:30.89 ID:QOjnrLgI0
ポインターが無かったら。 間接アドレッシングが無かったら、どうなっただろ?
329名無しさん@12周年:2011/10/16(日) 14:42:40.32 ID:S6ToEdjW0
今思い出した。
汎用機でCを使おうとしたら、キーボードに
{}
がないんだよな。
だから


main ()
??<
printf("hell ,world");
??>

って打った覚えがあるぞ。

(トリグラフ)



330名無しさん@12周年:2011/10/16(日) 14:42:54.80 ID:01MA55lU0
つか 0番地って何か意味あるのか?
331名無しさん@12周年:2011/10/16(日) 14:44:33.60 ID:S6ToEdjW0
>>324
それ、マシニングセンターとかで使うNC

NCコードでググれ。
ちなみにX0Y0っていうのは原点(X,Y座標)
332名無しさん@12周年:2011/10/16(日) 14:45:13.31 ID:ZEdZCuE70
>>307
職業訓練というのは後から出来るのだよ
しかも、必要に応じてその時代に沿ったものをやるのが一番効率がいい
さらにスクリプト言語はシェルスクリプトと同じように、
単純にコンピュータに命令する手順を簡単に記述できるようにしただけの
言わばメモみたいなものに過ぎない
これから始めると確かに敷居は広がるが、Cへのステップアップは
さほど楽にはならない(ブラインドタッチが早くなるとか、そういうレベルなら
あるかもしれないがw)

で何が起きるかと言うと、誰もCをやりたがらなくなる
スクリプトである程度のことが出来れば、Cなんて勉強する動機が
どんどんなくなる

でもって、世界に通用するプログラマはいなくなる

一番いいのはアセンブラ
それも出来るだけ簡単なもので、マイコンを使って実際に制御させるのが良い
なぜそれがいいかと言えば、感動のレベルが全然違う
アセンブラだとある程度中の仕組みが分かっていて、それを自分で
操縦するという感覚が楽しめる

一方、スクリプト言語はコンピュータに「買い物リスト」を渡して、勝手にやって
というレベルのもの
一応、自分の言った通りのことが出来るが、実際に何をやっているかは知らない
感動もアセンブラの1%くらい
深さも大きさも異なる
333名無しさん@12周年:2011/10/16(日) 14:45:18.03 ID:fXmo1HEOO
>>326
すまん前後のレス読んでなかった
334名無しさん@12周年:2011/10/16(日) 14:45:18.51 ID:iXQ+dYayP
ベクターテーブルをいじりたいとか
335名無しさん@12周年:2011/10/16(日) 14:45:26.70 ID:S6ToEdjW0
>>330
ワンチップマイコンだと、電源ONとかのリセットベクトルが0000だったりすることもあるな。
336名無しさん@12周年:2011/10/16(日) 14:45:32.25 ID:XzZFu/VG0
>>319
やっぱりそうですかねぇ。
ハードの回路図見て、0x80000000読めばできるって思ったケースもあったけど、
これは特殊な場合ですしねぇ・・・

>>321
実行時の動作は、やっぱり処理系依存ですよね・・・エラー吐くかどうかも含めて。
あと、そのコードならkはvolataileにしとかないと、コンパイル時エラーの可能性も
あるんじゃ?
337名無しさん@12周年:2011/10/16(日) 14:45:54.24 ID:2nVvs/pt0
a.out
338名無しさん@12周年:2011/10/16(日) 14:46:09.37 ID:N1I/0h4S0
>>327
仮想空間のページ0にアクセスできるかどうかは、OSが決めること。
物理アドレスとして0番地が存在するかどうかは、アーキテクチャ次第。
339名無しさん@12周年:2011/10/16(日) 14:46:49.53 ID:hRdvQ/4s0
>>330
そこら辺りはOSが予約してる特殊領域。色んな情報が詰まってる。例えばOSのバージョンとか。
NULLが0だと思ってる人が多いが別にそうである必要はない。むろん0でも良いが。
340名無しさん@12周年:2011/10/16(日) 14:46:49.69 ID:S6ToEdjW0
>>337
#なら
./a.out
だなw
341名無しさん@12周年:2011/10/16(日) 14:48:24.17 ID:o/w+pRVt0
for ( ; ; )
{
   printf("ぬるぽ\n");

}
342名無しさん@12周年:2011/10/16(日) 14:48:35.40 ID:7CycRNqL0
PC98時代に リセットをかける == 0番地をcallする
のキャストのかけかたが Lattice と MS で違ってて夜を徹して論争したものじゃ
343名無しさん@12周年:2011/10/16(日) 14:48:55.55 ID:8EoSjf/P0
>>307
>彼ら全員が流暢に英語を読み書きできるような気もしない
なんだ分かってたのか。現状でも英語は教育してるし、重要性も十分説いてる

データマイニングさえやれば、
統計学さえやれば、
プログラミングさえやれば、
データベースさえやれば、
回帰分析さえやれば、
ゲーム理論さえやれば、

そういう謳い文句の本があるわな
義務教育の数学すら分かってない奴ばかりなのに?
もう良いよ。現実的な話をしてくれ

プログラミングやってない奴は存在を知っててあえてやってないんだよ
お前の言ってることを実行しても諦めるのが早いか遅いかの違いしか生まない
344名無しさん@12周年:2011/10/16(日) 14:49:45.97 ID:H8e2nxeU0
>>331
ありがと。
やっぱり違うのか。
昔この仕事してたんだけど、根本的になんなのかは教わらなかったからさー。
345名無しさん@12周年:2011/10/16(日) 14:51:32.45 ID:N1I/0h4S0
>>339
C言語において、NULLは0。
0をどういう値にするかは処理系次第。
C-FAQによると、0以外の処理系もあるらしいが、使ったことはない。
346名無しさん@12周年:2011/10/16(日) 14:51:46.07 ID:ZW2he9IB0
>>338
いや、通常の MMU は、仮想アドレスモードに切り替えても、物理アドレスが直接マップされてる領域が存在する。
そのような MMU では、OS が勝手に決めることはできない。
347名無しさん@12周年:2011/10/16(日) 14:51:55.57 ID:S6ToEdjW0
Cなヒトで、僕がイヤなのは、
なんていうか、なんでもかんでも1行で書けばエライと思っているフシないすか?

aa= *(i++)|| (a > 10 ? (b = a) : (b = -a));

みたいなやつ。
348名無しさん@12周年:2011/10/16(日) 14:52:25.01 ID:8EoSjf/P0
ワンライナーはどの言語でもいる
349名無しさん@12周年:2011/10/16(日) 14:52:58.22 ID:S6ToEdjW0
>>348
Pythonには少ないと信じたいw
350名無しさん@12周年:2011/10/16(日) 14:53:58.27 ID:k15bNYte0
>>341
for ( ; ; )
{
   printf("ガッ\n");

}
351名無しさん@12周年:2011/10/16(日) 14:57:07.48 ID:S6ToEdjW0
DOSでのCでイヤなところは、

パス区切りと、エスケープ文字が同じ¥(っていうか、バックスラッシュ)なことだな。
まぁこれはそもそもDOSがパス区切りを/にせずに、独自性を主張したことがアレだが。
352名無しさん@12周年:2011/10/16(日) 14:58:12.41 ID:2nVvs/pt0
>>347
JavaでもCでも、通ぶってる人ほどそういった書き方をする。
熟練者ならメンテやヴァージョンアップのことを考えて、読みやすいように書く。
353名無しさん@12周年:2011/10/16(日) 14:59:19.31 ID:8Pld61mo0
カニご飯はリッチだな
食わねばトンプ損だ。
354名無しさん@12周年:2011/10/16(日) 14:59:38.15 ID:R+zXz8yv0
>>247
Excelの統計関数はバグというか間違いも多いらしいので、
俺みたいにプログラムは本職じゃないけど、研究のデータ解析や統計でプログラムを組んでる身としては、
Rは欲しいところだな。

>>315
VBAは普通にプログラミングだろ。
355名無しさん@12周年:2011/10/16(日) 15:01:31.39 ID:awKPMb700
>>347
趣味で書く分にはどう書いてもいいけど仕事で書くコードはメンテしやすいように分かりやすく書き
複数の処理はちゃんと複数行に分けてそれぞれコメントを書くのが職業プログラマだと思う。
347が書いてるようなコードを書いてくるPGがいたら「オナニーは自分の家でやれ!」と怒鳴りつけるよ俺は。
356名無しさん@12周年:2011/10/16(日) 15:01:55.94 ID:8EoSjf/P0
Rの外部から持ってくる機能の正当性って誰が保証してるの?
357名無しさん@12周年:2011/10/16(日) 15:02:39.70 ID:l9byU5PZ0
>>351
さらに漢字の2バイト目にその同じコードを含むのが有るとかもうね…
358名無しさん@12周年:2011/10/16(日) 15:02:56.09 ID:iXQ+dYayP
ワンライナーよりもインデントがめちゃくちゃな奴のプログラムは読みたくない。
特に同じカラム数の行なのに全部タブだけと全部スペースだけの行を混在させる奴。
359名無しさん@12周年:2011/10/16(日) 15:03:02.81 ID:wkAvY17a0
俺は通だけそそんな書き方しねーよw
360名無しさん@12周年:2011/10/16(日) 15:04:21.76 ID:2nVvs/pt0
>>357
もうS-JISとかいらないよね。
そろそろUTFに統一しようぜ。
361名無しさん@12周年:2011/10/16(日) 15:04:48.49 ID:XBx3KQfz0
MS-DOSのアプリ開発,UNIX系では拡張OSの開発でCを使っていたど、
もう10年以上、Cでプログラミングしていないな。
今も、Cを使っている人っている?
362名無しさん@12周年:2011/10/16(日) 15:05:17.18 ID:c74Ehg7t0
C言語で書かれたC言語をどうやってコンパイルしたんでしょう
それ考えると眠れなくなっちゃう
363名無しさん@12周年:2011/10/16(日) 15:05:35.10 ID:wkAvY17a0
通はこう書くとか都市伝説作るなよw通な奴程シンプルに書くもんだ。
364名無しさん@12周年:2011/10/16(日) 15:06:04.70 ID:eZSKkYTw0
何でこんなめんどくさい事覚えなきゃならんの?
コードかける奴に作れと命令すれば済む事だろ?
365名無しさん@12周年:2011/10/16(日) 15:06:44.02 ID:xToHjjzIP
たまにC書くと、シンプルで良い言語だなと思う。
普段はbash使いなんだけど、Cは馬鹿っ速いし。
366名無しさん@12周年:2011/10/16(日) 15:07:29.69 ID:R+zXz8yv0
>>361
基本はJavaとかC#で書くけど、ロジック部分はCで書いてライブラリとして共通化することも多いから、
今でも普通に現役でしょ。AndroidでもCは動くし、Javaから呼び出すなどで普通に使うよ。
367名無しさん@12周年:2011/10/16(日) 15:07:43.86 ID:wkAvY17a0
>>360
JISに対してS-JISを作ったようにUTFに対してUTF-BOMを作って邪魔する組織があるんですが。
368名無しさん@12周年:2011/10/16(日) 15:08:03.85 ID:2nVvs/pt0
>>363
シンプルに書こうとして>>347になっちゃうんじゃ・・・・w
369名無しさん@12周年:2011/10/16(日) 15:08:27.23 ID:S6ToEdjW0
>>355
だよな。
デバッガーで、watchかけてもさっぱりわからんしw

>>357
そうだよな。それを回避するのがMSCの/Jだったか。
だけど/Jって確かsigned char 関連のオプションなので、さらにワケワカランというww

>>358
うちでは若いヤツにはスクリプトはPythonで書くように指導している。
個人的にはPHPの方が好きなんだけどね。
このごろCAE関連とかでもサポートしているスクリプトはPythonが多いんだよな。
370名無しさん@12周年:2011/10/16(日) 15:08:40.41 ID:l9byU5PZ0
いくらワンライナーが嫌いとは言っても

while( *dst = *src );

くらいは許すんだろ?
371名無しさん@12周年:2011/10/16(日) 15:09:07.08 ID:XzZFu/VG0
そもそも、K&Rのテキストで、えらくわかりにくいコードの書き方を
推奨していた気がする。
372名無しさん@12周年:2011/10/16(日) 15:10:39.34 ID:8lLx9lsL0
>>370
無限ループは許さないよ
373名無しさん@12周年:2011/10/16(日) 15:10:58.09 ID:S6ToEdjW0
>>365
{ }で閉じるのはいいと思う。
Python使っていても、
if (a==b):
   a=0
#}
ってするんだよな。なんか閉じていない気がして。

374名無しさん@12周年:2011/10/16(日) 15:11:18.38 ID:5b/rjCqG0
そもそも他人の目から見て
何がどうすれば見やすいか、どうすれば見難いかの定義みたいなのってあんまりないだろ?

改行やコメントが多けりゃいいって訳でもないし
375名無しさん@12周年:2011/10/16(日) 15:11:21.06 ID:XzZFu/VG0
>>372
ヌル文字が来れば終る。
376名無しさん@12周年:2011/10/16(日) 15:11:34.64 ID:xToHjjzIP
>370

しかも、=じゃなくて==じゃないか?
377名無しさん@12周年:2011/10/16(日) 15:12:17.74 ID:8lLx9lsL0
>>375
ループに入ったとき、*src が '\0'だったらいいけどな
378名無しさん@12周年:2011/10/16(日) 15:13:03.06 ID:ZyE0OPE+O
>>365
最近の言語使うとコードが半分以下になって楽よ。
文字列操作なんてめんどくさくって。
379名無しさん@12周年:2011/10/16(日) 15:13:06.02 ID:QqEBMx8s0
>>361
研究所なんで大量データを一度に扱って計算が必要な場合は
C++みたいなオブジェクト指向言語より
無駄にコールスタックを生まないCで組んだ方が段違いに早いので使うし
チップなんかの組み込み系はCが主流だろ
380名無しさん@12周年:2011/10/16(日) 15:13:23.42 ID:S6ToEdjW0
>>370
while( *dst++ = *src++ );
じゃないのかなぁ。
ちなみにボクは

*dst++



*(dst++)
ってしないと気がすまないクチですw
381名無しさん@12周年:2011/10/16(日) 15:13:52.22 ID:XzZFu/VG0
>>377
全くその通りだ。
そうじゃないと、外部から書き換えられない限り終わらないな。
たぶん、
while( *dst++ = *src++ );
というのが言いたいところなんだろう。
382名無しさん@12周年:2011/10/16(日) 15:13:53.48 ID:xToHjjzIP
>>375

ああ、そういうことか....、って
stcrpy使えよ!
383名無しさん@12周年:2011/10/16(日) 15:15:44.44 ID:S6ToEdjW0
>>382
たぶん、strcpy
って言いたいんだろうけど、これ使うと
VisualCあたりは「そんな古いもん使うな」って怒らなかったっけ?
strcpy_s() を使えみたいな
384名無しさん@12周年:2011/10/16(日) 15:16:11.40 ID:8EoSjf/P0
終わるのが保証されないとさ。表明。
385名無しさん@12周年:2011/10/16(日) 15:16:27.82 ID:QqEBMx8s0
>>371
まあ実務上K&Rのコードの書き方は第三者が見て分りにくくなるだけだから
参考にすんなとはよく言われたな
386名無しさん@12周年:2011/10/16(日) 15:17:21.82 ID:l9byU5PZ0
うははははは、間違えたw

while( *dst++ = *src++ );

俺も三項演算子はなぜか好きになれん。
でもreturn文で分岐させるのは楽なんだよなぁ。
387名無しさん@12周年:2011/10/16(日) 15:18:16.65 ID:xToHjjzIP
K&Rは中身より巻末の標準関数一覧を
一番良く見た気がする。
388名無しさん@12周年:2011/10/16(日) 15:19:00.72 ID:8Pld61mo0
>>386
はぁ?それは単項演算子だろ。Cの三項演算子は?くらいだ。
389名無しさん@12周年:2011/10/16(日) 15:20:16.42 ID:m8VPMoghP
>>228
 IPC使ったマルチスレッド、マルチプロセスアルゴリズムー>これ教えられない
教育者が大杉。マルチコアの時代に、シングルスレッド・シングルタスク
なんてあり得ない。データのデコード処理もマルチスレッドが常識の時代。
 データおよびオブジェクトのシリアライズ、メモリ管理法、
例外処理法、圧縮・暗号化に関する基礎アルゴリズムと手法

この辺りも追加
390名無しさん@12周年:2011/10/16(日) 15:20:22.93 ID:ZyE0OPE+O
>>347
覚えたてで嬉しがってるようにしか見えないよ。
パフォーマンスに影響あたえるようなコード以外は、さっと読んでわかるように書かないと。
391名無しさん@12周年:2011/10/16(日) 15:20:29.50 ID:2nVvs/pt0
おまえら言語の話好きだなw
D・リッチーさんもきっとあの世で喜んでるよ。
392名無しさん@12周年:2011/10/16(日) 15:20:57.44 ID:LgGcqw590
>>345

C++において、じゃね?

LP64だと0 != NULLだと思うのだが。
393名無しさん@12周年:2011/10/16(日) 15:21:31.85 ID:S6ToEdjW0
まぁコーディングは楽なんだろうけど、
ボクのメインはワンチップマイコンへの組み込みなので
1行1命令じゃないとデバッグが超面倒なので勘弁なんだよな。
石さえ変わらなければアセンブラが一番いいんだけどね。
394名無しさん@12周年:2011/10/16(日) 15:23:10.48 ID:ZyE0OPE+O
>>370
++付かないの?
395名無しさん@12周年:2011/10/16(日) 15:24:08.78 ID:XBx3KQfz0
>>366
そうか、暇な時にCで遊ぶかな。
>>365
早い事は早いけど、それでも無駄な命令があったりして、アセブンラには負ける。
今の言語の方は、もっと酷いだろうけど。
396名無しさん@12周年:2011/10/16(日) 15:24:28.08 ID:S6ToEdjW0
多分、前スレかなんかで出てきたとは思うが
D言語とか、あれ、どうしたんだ?
397名無しさん@12周年:2011/10/16(日) 15:25:44.38 ID:QqEBMx8s0
>>390
まあ記述的に許されてるからまんま記述するのは逆に才能は感じないよな
ソースは他人が読む場合がままあるんだから
パフォーマンスに影響しないレベルで分り易いコードを書く奴の方が才能は感じる
398名無しさん@12周年:2011/10/16(日) 15:26:06.80 ID:XzZFu/VG0
論理シフトと算術シフトは、分けて欲しかった。
399名無しさん@12周年:2011/10/16(日) 15:26:16.38 ID:8EoSjf/P0
3項演算子って改行すれば見やすい

> def gcd(x, y):
... return gcd(y, x) if x<y \
... else x if y==0 \
... else gcd((x-y), y)
400名無しさん@12周年:2011/10/16(日) 15:27:13.51 ID:S6ToEdjW0
>>397
わかりやすいコードの方が、コンパイラの最適化にかかりやすい
っていうのもあるな。
401名無しさん@12周年:2011/10/16(日) 15:27:38.66 ID:6YpsQjl8P
>>396
D言語は道楽だろ。それよりGo言語とかどうなったんだろう。
402名無しさん@12周年:2011/10/16(日) 15:28:00.43 ID:ZyE0OPE+O
>>386
ポインタのインクリメントとwhileの判定の順番がまぎらわしいから自分は書かないかな。
403名無しさん@12周年:2011/10/16(日) 15:28:31.20 ID:S6ToEdjW0
>>399
それなら普通にif文で書いても殆ど変わらないんじゃね?


404名無しさん@12周年:2011/10/16(日) 15:30:01.31 ID:v7yWxBev0
>>332
> で何が起きるかと言うと、誰もCをやりたがらなくなる
> スクリプトである程度のことが出来れば、Cなんて勉強する動機が
> どんどんなくなる

いや、そこはどうだろう。あとのことは大体同意するけれど、
先に進もうというタイプの人間は、
OS の中を見たいなどの動機によって、
どんどん先に進んでいくんじゃないかな。
405名無しさん@12周年:2011/10/16(日) 15:30:24.07 ID:8EoSjf/P0
>>403
returnとか代入なら同じ左辺値を何度も書く必要がないってだけかな
406名無しさん@12周年:2011/10/16(日) 15:30:29.02 ID:wkAvY17a0
三項演算子は極力使うべきではないが、
こんな極めて自明なときは使うべき。
int max(int x,int y){ return x>y?x:y;}
407名無しさん@12周年:2011/10/16(日) 15:30:58.85 ID:S6ToEdjW0
>>401
あ、そんなのあるんだ、と思って調べたら
なんで、そんなもん、わざわざ作ったのかよくわからんw


関係ないけど今思い出した。若いのが
「C#で作っていいっすか?」とか言ってたな。C++は醜いから。とか言ってたw
408名無しさん@12周年:2011/10/16(日) 15:32:04.43 ID:+Nisv+aL0
三項演算子は、ExcelのIF関数使う様になってから抵抗無くなった。

今はもうコンパイラ・オプティマイザが良きに計らってくれるだろうから、
見やすさ重視で使っちゃう。
409名無しさん@12周年:2011/10/16(日) 15:32:15.41 ID:V2DqQVhH0
アメリカって日本より平均寿命大分低いよね
410名無しさん@12周年:2011/10/16(日) 15:32:47.34 ID:xToHjjzIP
>407

若いのにいわれるとイラッとくるけど、
正論だww
411名無しさん@12周年:2011/10/16(日) 15:33:30.79 ID:vJsjcUQs0
>> 399
おまけに、継続行なんて要らないから。
412名無しさん@12周年:2011/10/16(日) 15:33:38.34 ID:S6ToEdjW0
>>408
まぁEXCELのセル関数のIFは、それしかないからなぁ
セル関数のIFが3つネストしたらわけわからんのだが、それしか手が無いんだからしょうがないよな
413名無しさん@12周年:2011/10/16(日) 15:34:15.02 ID:kPAphV8d0
ジョブスなど足下にも及ばない程、この方の世界への貢献は偉大。

K&R本は今でも持ってるぜ
414名無しさん@12周年:2011/10/16(日) 15:34:15.26 ID:QqEBMx8s0
>>400
デバッカー使ったときも分り易いってのもある
C++やJavaでクラスの関数から値取得して引数にみたいなコード見ると
コードを書いた奴が何も考えずにコーディングしてるの透けて見えて頭が痛くなる
そういう奴に限ってソースレビューで指摘してもポーカンとしてるし
415名無しさん@12周年:2011/10/16(日) 15:35:10.68 ID:ZEdZCuE70
>>404
> 先に進もうというタイプの人間は、
> OS の中を見たいなどの動機によって、
> どんどん先に進んでいくんじゃないかな。
ならばなおさらアセンブラから始めるのが良いだろう
スクリプトから初めても難しさは変わらない
必要のない知識を溜め込むより、必要のある知識だけを
効率的に勉強していくのが王道だ

先に行く必要が無いなら、スクリプトだけ勉強するというのも
ありだが、出来ることが限られているのだから、必要な
人だけ勉強すればいい

アセンブラから入れば自然に先に進める
高級言語を後から勉強する方が進化の過程を
順に追っていくことになるから無理もなく無駄もない
逆に高級言語から低級言語に向かえば、
余計なものばかり勉強することになるので、
無駄だらけになる
416名無しさん@12周年:2011/10/16(日) 15:37:55.67 ID:ZW2he9IB0
>>371>>385
そうかなあ。
K&R の例は、分かりやすい上に、実用的だったけど。
417名無しさん@12周年:2011/10/16(日) 15:39:10.57 ID:S6ToEdjW0
>>415
いまどきアセンブラなんてPCで動くのかと思ってやってみたら、
動いたのでちょっと涙しているww

C:\Users\
>debug
-a 100
18DE:0100 mov ax,1
18DE:0103 mov bx,2
18DE:0106 add ax,bx
18DE:0108
-r ip
IP 0100
:100
-t

AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=18DE ES=18DE SS=18DE CS=18DE IP=0103 NV UP EI PL NZ NA PO NC
18DE:0103 BB0200 MOV BX,0002
-t

AX=0001 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=18DE ES=18DE SS=18DE CS=18DE IP=0106 NV UP EI PL NZ NA PO NC
18DE:0106 01D8 ADD AX,BX
-t

AX=0003 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=18DE ES=18DE SS=18DE CS=18DE IP=0108 NV UP EI PL NZ NA PE NC
418名無しさん@12周年:2011/10/16(日) 15:39:25.67 ID:y53esEbv0
配列名、添字なし変数名、ポインタ名を
同じように命名してしまうと訳わからなくなることがわかってよかった
厳密なマイルールが必要な言語だよね
419名無しさん@12周年:2011/10/16(日) 15:40:12.73 ID:vJsjcUQs0
カキコしている自分で思うけど、
良く「ν速から出て行け」って書かれないよね。
やっぱデニス・リッチーさんの訃報で
おおめにみてくれてるのかな?
皆良い奴だな。
420名無しさん@12周年:2011/10/16(日) 15:40:43.50 ID:01MA55lU0
アセンブラから勉強って妄想たれてるの、どこの親父だよ
421名無しさん@12周年:2011/10/16(日) 15:41:42.99 ID:xToHjjzIP
>419

確かにww
よくスレ4まで伸びてるなww
422名無しさん@12周年:2011/10/16(日) 15:42:07.54 ID:QqEBMx8s0
>>413
高級言語のデファクトスタンダードみたいなもんを構築した点じゃあ
コンピューター業界における貢献度は所詮はハード屋のジョブズと比べようもない偉大な人なんだけど
大多数は貢献度合いは理解できないからなぁ・・・
423名無しさん@12周年:2011/10/16(日) 15:43:40.29 ID:XBx3KQfz0
>>414
前任者が作ったバグありソースとか直しとかもしたことあるけど、
しっかりとしたコーディング規約も必要だよね。
424名無しさん@12周年:2011/10/16(日) 15:44:02.68 ID:ZW2he9IB0
>>420
アセンブラって言語じゃなくて、CPU のインストラクションセットだもんな。
RISC とか、スタックとか汎用レジスタだし、CALL の戻り番地もレジスタ格納だけど、
その面倒見るのって、アセンブラの知識じゃないし。

C 覚えてから、auto 変数は、スタック上に取られるとか理解したほうが早いだろ。
425名無しさん@12周年:2011/10/16(日) 15:44:54.88 ID:y53esEbv0
マクロプロセッサを型付きに拡張したようなものだと思うけど
そんなに偉大なの
426名無しさん@12周年:2011/10/16(日) 15:44:57.36 ID:ZyE0OPE+O
>>418
普通はネーミングルールあるでしょ。
427名無しさん@12周年:2011/10/16(日) 15:45:17.57 ID:V2DqQVhH0
ぶっちゃけFORTRANの方がすごいよね
428名無しさん@12周年:2011/10/16(日) 15:45:20.51 ID:XzZFu/VG0
>>416
大学で初めてC言語を習ったときのテキストが、K&Rだったが
あれを初学者に読ませるってのは、良くないと思うぞ。
429名無しさん@12周年:2011/10/16(日) 15:46:28.24 ID:S6ToEdjW0
C:\Users
>debug
-a 100
18DE:0100 mov dx,200
18DE:0103 mov ah,09
18DE:0105 int 21
18DE:0107 return
18DE:0108
-e 200
18DE:0200 00.32 00.43 00.48 00.24
-r ip
IP 0100
:100
-g
2CH
Program terminated normally
----------------------------------

おぉー こいつ、動くぞw
430名無しさん@12周年:2011/10/16(日) 15:46:29.84 ID:8EoSjf/P0
アセンブラって高級言語が裏で何をやってるのか知って感謝するための存在じゃないの
第二外国語でスペイン語をやって英語の活用のシンプルさに感謝するみたいな
431名無しさん@12周年:2011/10/16(日) 15:48:10.61 ID:S6ToEdjW0
>>426
ハンガリアン記法ですかい?
Windowsプログラムの本の最初のコードがアレなので
それでイヤになったやつ多いと思うなぁ。

lptrsz

だっけか。忘れたw
432名無しさん@12周年:2011/10/16(日) 15:48:12.43 ID:QqEBMx8s0
>>427
FORTRANって型定義が適当なんでダメ
433名無しさん@12周年:2011/10/16(日) 15:48:32.29 ID:wkAvY17a0
やってることは
(x[i-1]+2*x[i]+x[i+1])/4 なんだけど。
(((*(x-1))+2*(*x)+(*(x+1)))>>2); と書いた方が実際早い。
下を採用するのはクリティカルな部分のみ。
434名無しさん@12周年:2011/10/16(日) 15:48:41.49 ID:XzZFu/VG0
FORTRANも凄いけど、高級言語すぎてニッチなんだよね。
435名無しさん@12周年:2011/10/16(日) 15:49:25.34 ID:ZbhncBRc0
ここ読んでると、機械語やアセンブリ言語っていうプログラミング言語があるかのように
錯覚するけど、あれらって各プロセッサ固有の命令をずらずらならべていってるだけだよね?
436名無しさん@12周年:2011/10/16(日) 15:49:26.31 ID:S6ToEdjW0
>>430
あー組み込み系やっていると、結局はアセンブラのお世話になるので必須です。
割り込み順位とかあるんでなー。
コンパイラもたまに間違えるコトあるんでなー(苦笑)
437名無しさん@12周年:2011/10/16(日) 15:49:41.42 ID:Snb2Cssq0
糞分かりにくい言語をつくりやがって!!
人類が発展しちゃたーじゃねーか
技術者はCを通じて会話できちゃうじゃねーか
あれ、いいことばかりだ
素直にR.I.P

438名無しさん@12周年:2011/10/16(日) 15:50:17.33 ID:l9byU5PZ0
♪おおブレネリ あなたの お家はどこ
439名無しさん@12周年:2011/10/16(日) 15:50:35.12 ID:S6ToEdjW0
>>435
そだよ。
だから移植を考えるなら高級言語で書いたほうが保守性がヨイです。
440名無しさん@12周年:2011/10/16(日) 15:51:22.57 ID:XzZFu/VG0
>>438
やっほ〜♪・・・・
441名無しさん@12周年:2011/10/16(日) 15:51:22.70 ID:ZW2he9IB0
>>428
どこが?
全ての言語の解説書は、K&R を手本にしてると思うが。

そもそも、プログラミングがどういうものか理解してない人は、
読者として想定してないって書いてあるんだが。
442名無しさん@12周年:2011/10/16(日) 15:51:31.45 ID:9iZEcW6P0
>>438
やぁっほぉぉー、フォートランランラン♪   …って言わせんな恥ずかしい!
443名無しさん@12周年:2011/10/16(日) 15:51:40.90 ID:8EoSjf/P0
FORTRANってあんな糞仕様でよくあれだけ普及したな
444名無しさん@12周年:2011/10/16(日) 15:53:01.19 ID:+Nisv+aL0
>>420
ハードウェアマニュアルを首っ引きする様な状況じゃなければ、要らないね。
逆に上記の状態なら、lstファイルを確認する位の姿勢が必要。

ただ、CPUの動作原理位は把握しておいた方が良い。


>>430
そういう事ですわなw
ビットセット/リセットが命令セットの都合で、2000h番地以下にしか効かなかったりね。
445名無しさん@12周年:2011/10/16(日) 15:53:34.37 ID:XzZFu/VG0
>>441
>そもそも、プログラミングがどういうものか理解してない人は、
>読者として想定してないって書いてあるんだが。
って、理由わかってんじゃん。
446名無しさん@12周年:2011/10/16(日) 15:54:05.62 ID:R+zXz8yv0
>>443
Fortranは最初の高級言語でしょ。ある意味で全てのプログラミング言語の祖。
今の基準で糞とか論じるのは良くないかと。
447名無しさん@12周年:2011/10/16(日) 15:54:32.21 ID:l9byU5PZ0
>>443
信じられない話だが、あれが登場した時は「これでプログラマは要らなくなる」とか言われたもんだ。
448名無しさん@12周年:2011/10/16(日) 15:54:49.72 ID:S6ToEdjW0
>>443
いまだにCAEではFORTRANがハバを利かせていて、
構造要素を拡張するためには、ユーザがFORTORANでコードを書くことを強いるんだよw

まぁボクも情報処理1種、2種は両方FORTRANで取ったしな。
449444:2011/10/16(日) 15:55:10.88 ID:+Nisv+aL0
ごめん、上の430は>>436の間違いです。
450名無しさん@12周年:2011/10/16(日) 15:55:11.53 ID:Snb2Cssq0
>>443
ま、計算能力は高いから仕方じゃないんじゃね
その分、開発に時間がかかってトータルでみればCのほうが早いけどwww
451名無しさん@12周年:2011/10/16(日) 15:55:49.15 ID:ZW2he9IB0
>>443
FORmura TRANslator だから。
数式をレジスタとスタック使って、インストラクション列に置き換えれば十分。
452名無しさん@12周年:2011/10/16(日) 15:56:22.30 ID:XzZFu/VG0
>>448
今はもうFortranを選択できないけどな。
なぜかCOBOLは残っているけど。
453名無しさん@12周年:2011/10/16(日) 15:56:51.91 ID:S6ToEdjW0
これを言うと歳がバレるがw
FORTRANはパンチカードを生協で買って、パンチした。
翌年は、それがマークシートになって、消しゴムで消せるようになったので歓喜した。
うっかりコタツに置いた、マークシートの束を落としてバラバラになったら泣きそうになった
454名無しさん@12周年:2011/10/16(日) 15:57:48.77 ID:Snb2Cssq0
>>452

COBOLは金融系だから
残しておかないと銀行が困る
455名無しさん@12周年:2011/10/16(日) 15:58:05.82 ID:l9byU5PZ0
FORTRANも77でだいぶマシになったが、算術IF文の使いにくさときたらもう…
456名無しさん@12周年:2011/10/16(日) 15:58:15.64 ID:8EoSjf/P0
>>453
パンチカードとかジジイ教授の昔話でしか聞いたことないわ…
基本情報はCを選択したけど、K&Rで余裕だった。というか国語の問題だった
457名無しさん@12周年:2011/10/16(日) 15:58:57.94 ID:HHAQRIBP0
FORTRANがなければ、
アポロ計画はなかった。
458名無しさん@12周年:2011/10/16(日) 15:58:58.18 ID:S6ToEdjW0
>>449
>ビットセット/リセットが命令セットの都合で、2000h番地以下にしか効かなかったりね。

それ、なんだっけ? ATMELがそんな感じだったような記憶が

459名無しさん@12周年:2011/10/16(日) 15:59:07.70 ID:nioxXHf+0
>>453 なかーまw
460名無しさん@12周年:2011/10/16(日) 15:59:18.21 ID:l9byU5PZ0
俺が大学の時はまだ紙テープが有ったぞ
461名無しさん@12周年:2011/10/16(日) 15:59:30.95 ID:XzZFu/VG0
パンチカードは、余っていたのを工作の材料に使ったことしかないな。
462名無しさん@12周年:2011/10/16(日) 16:00:04.67 ID:ZW2he9IB0
>>445
著者が想定していない読者に読ませることが良くないって、
キミが、何が言いたいのか分からない。

キミの教官が馬鹿だったということ?
463名無しさん@12周年:2011/10/16(日) 16:01:09.19 ID:HHAQRIBP0
パンチカードは、イデ隊員の様に
素で読めるようになって一人前。
464名無しさん@12周年:2011/10/16(日) 16:01:32.78 ID:S6ToEdjW0
>>456
ジジイで悪かったな。
って事はなにか?今の若い者は
紙テープに出したコードの1バイトを変える時、マシンが開いていないので、実際に紙を当ててノリで貼ったり、
紙テープにパンチで穴あけたコトがないというのか?
465名無しさん@12周年:2011/10/16(日) 16:01:58.57 ID:l9byU5PZ0
>>453
カードは箱に入れてマジックで斜めに線を引いておくのだ。
ひっくり返しても簡単に元に戻せる。
466名無しさん@12周年:2011/10/16(日) 16:02:13.60 ID:Snb2Cssq0
色々、プログラミングしたけどPerlが一番楽チンだったなー
正規表現も簡単だったし
けど、perlもC言語が親なんだよね〜
やっぱ、Cに感謝
467名無しさん@12周年:2011/10/16(日) 16:02:24.32 ID:+Nisv+aL0
>>458
俺がハマったのはM16Cです。
468名無しさん@12周年:2011/10/16(日) 16:02:32.18 ID:S6ToEdjW0
>>465
それ、あとでセンパイから聞いたw
469名無しさん@12周年:2011/10/16(日) 16:02:47.97 ID:wkAvY17a0
そんな時代にPC自体無かっただろ?
470名無しさん@12周年:2011/10/16(日) 16:03:20.95 ID:S6ToEdjW0
>>466
PerlもいいんだけどPHPの方がCに近いので(特に break )
すぐに乗り換えた。
471名無しさん@12周年:2011/10/16(日) 16:03:48.38 ID:XzZFu/VG0
>>464
ねーよw
472名無しさん@12周年:2011/10/16(日) 16:04:28.59 ID:l9byU5PZ0
>>469
それがさ、俺が紙テープを使ってた頃、別の研究室にはMacintoshが有った。
473名無しさん@12周年:2011/10/16(日) 16:04:54.98 ID:S6ToEdjW0
>>469
マイコン って言っていたな。

といってもそのヘンのやつに「マイコン」って言うと
「マイクコンプレッサー」 か
「マイラーコンデンサー」 
のどちらかの認識しかなかった。

TK-80がやっと世の中に出るころだな。
474名無しさん@12周年:2011/10/16(日) 16:05:35.28 ID:+Nisv+aL0
>>468
そんなもんw

MS-DOSとCP/Mでコピー操作のSRC/DSTの並びが逆とかww
475名無しさん@12周年:2011/10/16(日) 16:06:16.36 ID:S6ToEdjW0
>>472
MACは無かったなぁ。
金持ちのボンがApple][でVisicalcで実験レポートまとめていて、
教授以下、目を丸くしていたなぁ。
476名無しさん@12周年:2011/10/16(日) 16:07:26.76 ID:S6ToEdjW0
>>474
なんだったかなx

>PHP
>B:=A:*.FOR

だったかなぁ。流石に忘れた。
家のどっかにある8インチのFDDにそう書いてある筈なんだが。
477名無しさん@12周年:2011/10/16(日) 16:07:35.89 ID:Snb2Cssq0
>>470

さっき、COBOLは金融系と書いたけどPerlはバイオ系が主流だったのよ
PHPもいい言語だと思うけどPerlが好きなんだ
いい加減なとこも含めて
あと、Rubyもすきだ
478名無しさん@12周年:2011/10/16(日) 16:08:40.96 ID:S6ToEdjW0
>>477
あ、Rubyはオブジェクト概念を強制してくるのがどうしても馴染めなくてなぁ。
挫折した。国産なのに悪いことした。
479名無しさん@12周年:2011/10/16(日) 16:09:08.14 ID:WN8K/q9p0
FORTRANはコンパイラによる最適化が強力で
計算速度だけは未だに一級品だから。
COBOLが生きてるのは多分標準でBCDが使えるから。
480名無しさん@12周年:2011/10/16(日) 16:09:25.38 ID:GLYpjGXO0
そういやひまわりはどうなった?
あれなら素人も覚えやすかろう。
481名無しさん@12周年:2011/10/16(日) 16:10:24.94 ID:l9byU5PZ0
>>474
MS-DOSがcopyでCP/Mがpipだったか
482名無しさん@12周年:2011/10/16(日) 16:10:43.47 ID:S6ToEdjW0
>>480
なでしこ っていうのもあるらしいぞw
483名無しさん@12周年:2011/10/16(日) 16:11:55.82 ID:Snb2Cssq0
>>478
プログラム言語はあくまでツール
RubyやPerlはバイオ系に強かっただけで
好きな言語も人それぞれだとおもう
けど、すべてはCから生まれたものだと俺は思っている
484名無しさん@12周年:2011/10/16(日) 16:11:59.46 ID:l9byU5PZ0
>>479
FORTRANはスパコンのベクトル演算でまだまだ現役だよね。
485名無しさん@12周年:2011/10/16(日) 16:12:32.03 ID:uTZFqNLx0
>>386
コンパクトにまとめるこのK&R流のやり方にわかりにくいと拒否反応があるのか
でも、当時のある条件のプログラマたちから見たら
むしろわかりやすい、やっぱりこう書かなきゃね、なんだよ
だってwhile( *dst++ = *src++ );はPDP-11の流れを汲むモトローラ系の6809なら

loop:
lda ,x++
sta ,y++
bne loop

68000なら
loop:
move.b (a0)+,(a1)+
bne loop:

なんだから
最終的なオブジェクトコードを想像しながら書いたらこれしかないでしょ、という感覚だと思う

ところがインテル系のCPUを使ってると転送命令でZフラグは変化しないし
オートインクリメントアドレッシングは(ストリング転送命令以外)ないしで
あまりご利益が無く意味がぼやけてしまってた
486名無しさん@12周年:2011/10/16(日) 16:13:13.87 ID:ZEdZCuE70
昔、Perlを使っていた時期もあったけれど(文字列を簡単に扱える)、
どんなに綺麗にスッキリコーディングしてもメンテナンスが大変

今はpythonとRくらいかな?
Cすらまったく使ってない

pythonのunicodeが面倒で好きじゃないが、トータルとしては楽だ
487名無しさん@12周年:2011/10/16(日) 16:14:05.83 ID:Snb2Cssq0
>>479

でも、開発と最適化に時間がかかるのがFORTRAN
今で言うじゃじゃ馬みたいなもんだね
488名無しさん@12周年:2011/10/16(日) 16:14:51.99 ID:S6ToEdjW0
>>485
インテルって、Aレジスタをクリアする専用命令すらないのな。
今はあるのか?

バイト先のセンパイに聞いたら
XOR A
って言われた。 なんぢゃそりゃ、と思ったw
489名無しさん@12周年:2011/10/16(日) 16:15:31.26 ID:l9byU5PZ0
なかなか強烈な加齢臭のスレだな



俺モナー
490名無しさん@12周年:2011/10/16(日) 16:17:17.43 ID:S6ToEdjW0
>>486
Pythonって誰が書いても同じようなコードになるってフレコミ
聞いたことがあるなぁ。

ちょっと正しいと思った。
やっぱ i++ とか i+=1 とかが便利すぎるんだろうなぁ
491名無しさん@12周年:2011/10/16(日) 16:17:18.47 ID:ZEdZCuE70
C言語プログラマの平均年齢はかなりのものだろう
C++,さらにはJavaになるとかなり下がるだろうけれど
492名無しさん@12周年:2011/10/16(日) 16:17:40.75 ID:ZW2he9IB0
>>488
実質的に同じことできるインストラクションがあるなら、
別の opecode 割り当てるのは無駄。
分かりにくけりゃ、二モーニックだけ追加すればいい。
493名無しさん@12周年:2011/10/16(日) 16:17:41.85 ID:5P9A30TJ0
ものすごいもの2つも発明してすごいな
とてもシンプルに頭がいいんだろうな うらやましい
494名無しさん@12周年:2011/10/16(日) 16:17:56.43 ID:+Nisv+aL0
>>481
だす
495名無しさん@12周年:2011/10/16(日) 16:19:30.19 ID:m8Spbc5A0
>>347
lisp系とかに慣れているとそのコードの方が
ifで分岐させるよりよっぽど分かりやすいような。
496名無しさん@12周年:2011/10/16(日) 16:20:02.80 ID:Snb2Cssq0
>>489

死臭漂うスレよりはましじゃねwww
497名無しさん@12周年:2011/10/16(日) 16:21:38.22 ID:wkAvY17a0
俺はその頃オヤジの睾丸の中の精子だったと考えると想像したくない。
498名無しさん@12周年:2011/10/16(日) 16:22:05.99 ID:1YG9WSBf0
>>18
getchar(); wwwww

>>27
運動しないで座りっぱなしはやばいらしい。この手の仕事はそうなりがちだし。
499名無しさん@12周年:2011/10/16(日) 16:22:16.71 ID:S6ToEdjW0
>>471
って事は今の若いものは

ASCIIに印刷されていたTynyBasicだったか、それのコードを
紙テープリーダを自作して読み込んだことがないというのか?
500名無しさん@12周年:2011/10/16(日) 16:23:41.30 ID:Snb2Cssq0
>>347
>>495

その気持ちわかるわ
開発者が楽したいけど、後の引き継ぎが大変なんだよね
特に新人さんに
もっと、分かりやすく書けと
501名無しさん@12周年:2011/10/16(日) 16:24:08.78 ID:ZEdZCuE70
>>490
「同じ」は正しくないが「同じような」は正しいね

a=[]
for i in [1,2,3] :
a.append(i)



b=[1,2,3]
a=[i for i in b]

みたいにできるというのはあるけれど、表記そのものは
限られているから、パターンを覚えれば問題なし

Cはフリーフォーマットだから、無数にパターンが出来る
同じ式でも途中で自由に改行入れられる
そこがCの魅力だけどね
逆にCは基本的に関数の最初に変数宣言をやらないと
駄目とか、途中で変数を宣言するには{}でスコープを
作らないと駄目とか、不便な面もある
502名無しさん@12周年:2011/10/16(日) 16:24:35.64 ID:+Nisv+aL0
>>499
(;´д`)/ 先生、その前にテープ自体を記憶媒体に使った事無いと思います
503名無しさん@12周年:2011/10/16(日) 16:24:46.58 ID:8EoSjf/P0
>>490
itertools、リスト内包表記、ラムダ式を積極的に使う人とそうでない人で全然違う
504名無しさん@12周年:2011/10/16(日) 16:26:15.76 ID:kPAphV8d0
C言語の見せてくれた最も偉大な点は、
理想と現実との妥協のありようと最大効率化の導きようを、
俺たちボンクラなエンジニアに示してくれたこと。

プロセッサの振る舞いと人間の思考をクロスオーバさせながら取り組める開発言語。これからも末永く活躍していくだろう。
505名無しさん@12周年:2011/10/16(日) 16:26:21.12 ID:rZsr/YfTP
>>373
カッコに毒されすぎ。

もっとPythonコード読みこなせば
(ちゃんと整形されたコードなら)
カッコなんてジャマだってわかるよ。
506名無しさん@12周年:2011/10/16(日) 16:26:28.74 ID:ZEdZCuE70
>>501
> a=[]
> for i in [1,2,3] :
> a.append(i)
2ちゃんは半角スペース駄目だったんだなw
a=[]
for i in [1,2,3] :
 a.append(i)

一応自己フォローと言うことでw
507名無しさん@12周年:2011/10/16(日) 16:27:10.93 ID:l9byU5PZ0
>>502
なんだと!最近の若いもんは紙テープで科学特捜隊ごっこもしたことが無いのか?
508名無しさん@12周年:2011/10/16(日) 16:27:33.69 ID:m8Spbc5A0
Pythonは2chに貼り難いという致命的な欠点があるな。
509名無しさん@12周年:2011/10/16(日) 16:27:34.18 ID:S6ToEdjW0
>>502
あ?なんだと?
テープレコーダとの相性が悪いときに極性逆にしてみるとか
ダイオードを2個入れて、上下クリッピングしてみるというのは常識だよな?

あと、あれだ。

月刊テープアスキー
510名無しさん@12周年:2011/10/16(日) 16:29:08.01 ID:S6ToEdjW0
>>505
いや、わかっているんだけど

BASICだって、PascalだってCだって
「あけた扉は閉める」
のが流儀だったからなぁ。 こればっかりはちょっと慣れそうにない。
511名無しさん@12周年:2011/10/16(日) 16:29:17.95 ID:XzZFu/VG0
話についていけんので、
テープリーダの回路図きぼんぬ
512名無しさん@12周年:2011/10/16(日) 16:29:33.96 ID:v7yWxBev0
8086系プロセッサにおける
xor ax,ax
によるレジスタへの0の代入方法や、

数を80倍したいときなどに、
ビットシフトで16倍してから、64倍したものと足し合わせる方法などは、

恐らく、死ぬまで忘れることはないと思うものの、
もう私の生涯においては、二度と使うこともないような気がする。

ビットシフトの計算はもしかしたら、
何かで使うこともあるかもしれないが。
513名無しさん@12周年:2011/10/16(日) 16:30:21.46 ID:rZsr/YfTP
>>503
ぜんぜん違うってほどでもない。
他の言語にくらべればほとんど同じコードに近い。

この点において最悪なのがPerl。
514名無しさん@12周年:2011/10/16(日) 16:31:02.09 ID:ZW2he9IB0
>>510
改行があるのに、わざわざ ; をつけないと怒られる方がおかしい。
これについてだけは、C の欠点だと思う。
515名無しさん@12周年:2011/10/16(日) 16:31:57.47 ID:S6ToEdjW0
>>511
うろおぼえだが、ASCIIのは印刷物で穴があいているんじゃないので、
フォトリフレクタを8個ならべた様な記憶がある。
30年くらい前の話だからかなり記憶が怪しい
516名無しさん@12周年:2011/10/16(日) 16:31:58.37 ID:KF3UGYne0
某メーカーで仕事やってた時、ポインタ禁止だったな
マジで
理由はポインタ分からないヤツがいるからとか
訳の分かんない理由だった
517名無しさん@12周年:2011/10/16(日) 16:32:43.89 ID:Zm3mcVYoO
料理ができる:プログラミングが書ける
懐石料理(単品)が作れる:C言語が使える
懐石料理コースが作れる:C++が使える
創作料理コースが作れる:Javaが使える
包丁さばき・食材への火の入れ方・調味料マスター:アセンブリ言語が分かる

インスタントの料理が作れる:BASICが使える
冷蔵庫のあり合わせとは思えない料理が作れる:rubyが使える
盛り付け上手:htmlが使える
三つ星きたなシュラン:COBOLが使える
518名無しさん@12周年:2011/10/16(日) 16:33:16.72 ID:S6ToEdjW0
>>516
文字列を使わないのなら、ポインタ無くてもなんとかなるかな。
519名無しさん@12周年:2011/10/16(日) 16:34:06.54 ID:XzZFu/VG0
>>515
マークシートも使えそうだな。
それで読み取ったのをパラレルI/Fに転送するのか?
520名無しさん@12周年:2011/10/16(日) 16:34:16.70 ID:+Nisv+aL0
>>507
(;´д`)/ 科特隊ごっこは、コンピューター経験不問です


>>509
俺の部屋にはファミリーベーシック用のデータレコーダーが2基生存してるけど、
そんな初代PSの様な対策は流石にやった事無いw
521名無しさん@12周年:2011/10/16(日) 16:34:22.86 ID:rZsr/YfTP
>>514
ソースを一定に整形する意義が
深く理解されてなかった時代だからしょうがない。
後から来たJavaがソース整形自由なのは笑ったけど。
522名無しさん@12周年:2011/10/16(日) 16:34:57.33 ID:ZW2he9IB0
>>512
MMIX には、Immideate shift + add というインストラクションがあって、
定数の乗算を乗算器を使わずに実行できる。

MMIX のインストラクションセットなんて、知ってる人少ないだろうけど。
523名無しさん@12周年:2011/10/16(日) 16:35:17.31 ID:m8Spbc5A0
>>514
ecmascriptみたいになったら最悪だろ。
524名無しさん@12周年:2011/10/16(日) 16:35:34.71 ID:S6ToEdjW0
>>514
;がないなら「;が無い様ですが、あるとしてコンパイルしますか?」って
聞いてくるくらいしてもいいと思った。(今でもそう思う)。

あと strcpy 使うなら、#include <string.h>を自動的に挿入してくれるオプションとか。
525名無しさん@12周年:2011/10/16(日) 16:36:11.45 ID:ZEdZCuE70
>>512
でも2bit,16進数感覚は、コンピュータをやっているものにとっては財産だし、
インターネットの時代にも役に立つ

IPのmaskとか
そもそもIPアドレスが実質的に256進数だということにも気づくし
526名無しさん@12周年:2011/10/16(日) 16:37:04.05 ID:S6ToEdjW0
>>520
データレコーダははじめから波形整形対策してある。 それはブルジュアぼっちゃん の使うものだ。
労働者階級が使うものではない。けっw
527名無しさん@12周年:2011/10/16(日) 16:37:23.18 ID:l9byU5PZ0
あー、紙テープとパンチカードを記念に残しときゃ良かった
528名無しさん@12周年:2011/10/16(日) 16:37:28.48 ID:i7MreLfp0
7カラム目をアスタに
529名無しさん@12周年:2011/10/16(日) 16:38:31.93 ID:XzZFu/VG0
パンチカード使っていた人って、自分で穴あけてたの?
それとも、専業のねーちゃんにやってもらってた?
530名無しさん@12周年:2011/10/16(日) 16:38:33.04 ID:neGTMGJu0
研究室につい最近まで残ってたけど>紙テープ
先人が卒業研究で製作したpc8001ベースの端末がつながっていたのでそっちから入力も出来たけど、教授の趣味で入力は基本的に紙テープでやってた。
IPLは紙テープでしか出来なかったので慣れさせるためってのも有るけど。
531名無しさん@12周年:2011/10/16(日) 16:39:14.20 ID:S6ToEdjW0
>>3
あ、いまこのRESに気が付いた。

パソコン用のFORTH

ってあったよな。逆ポーランドなやつ。
532名無しさん@12周年:2011/10/16(日) 16:39:30.85 ID:+Nisv+aL0
>>526
あ、でもDR買う前はラジカセ使ってたよ。
そん時言ってくれれば……w
533名無しさん@12周年:2011/10/16(日) 16:39:57.41 ID:S6ToEdjW0
>>529
パンチャー室で自分であけていた。
翌年からマークシートになった。
534名無しさん@12周年:2011/10/16(日) 16:40:21.01 ID:l9byU5PZ0
>>529
大学では自分でパンチしてた。
会社じゃパンチャーのいる部署もあったが、うちはTSSだったから使わんかった。
535名無しさん@12周年:2011/10/16(日) 16:40:38.49 ID:ZW2he9IB0
>>521
インデントの重要性は、K&R でも強調されてたが、当時は、継続文字は美しくないという
認識だったじゃないかなあ。

java は、C の後継者のつもりでいたから、見かけも C に似てる必要があるせいだったのか?
C++ は、C のスーパーセットのつもりだから、仕方ないけどさ。
536名無しさん@12周年:2011/10/16(日) 16:40:54.70 ID:vJsjcUQs0
>>504
禿同
なかなか格調高いご意見を拝察。
537名無しさん@12周年:2011/10/16(日) 16:41:01.19 ID:m8Spbc5A0
>>531
Forthは現物使った事無いな。
postscript(ghostscript)では遊んだ事あるけど。
538名無しさん@12周年:2011/10/16(日) 16:41:06.95 ID:+XhFRT190
>>109
うぜえwww
539名無しさん@12周年:2011/10/16(日) 16:41:44.94 ID:Snb2Cssq0
>>518

今の計算機でポインタを使うのと使わないのではどれくらい差が出るものなのかな?
差が、僅かしかないならポインタ使う必要の無いように思うのだが・・
540名無しさん@12周年:2011/10/16(日) 16:43:51.78 ID:S6ToEdjW0
>>539
アセンブルレベルでは殆ど同じようなコード出すんじゃないかなぁ。
ポインタを使うと、文字列の切り出しをするときに、
文字列の切り出し関数がなんだっけ?と思い出さなくても良いというスゴイ利点がw
541名無しさん@12周年:2011/10/16(日) 16:45:38.06 ID:vJsjcUQs0
>>524
半分同感。俺もよくそう思う。
が、それで意味が変わっちゃうケースもあるんで。
そうすると、結局あとでデバッグするハメに。
542名無しさん@12周年:2011/10/16(日) 16:45:41.01 ID:ZEdZCuE70
>>514
改行したくない時はしなくていいです

という意味だから

void a(){
 int i ; char c; int e; double d;

 e=i++; c='a'; d = (double)e;
 printf ("%d %c %f\n",i,c,d);

}

でも一応OK
よい書き方ではないかもしれないが
543名無しさん@12周年:2011/10/16(日) 16:45:59.03 ID:KuRulMUk0
一体何のスレなんだw
ニュー速+板じゃないところに来たかと思った
けどこれも一種の追悼か
544名無しさん@12周年:2011/10/16(日) 16:46:26.16 ID:m8Spbc5A0
Cでポインタ使わないってことは、動的なメモリ確保も使えず、
関数呼び出しで参照渡しも出来ないってこと?

545名無しさん@12周年:2011/10/16(日) 16:46:44.08 ID:TrP+EVoI0
>>510
それは慣れそうにないんじゃなくて、単に君が(心情的に)慣れたくないだけ。
その気になれば3日で慣れる。もっと短いかも。
546名無しさん@12周年:2011/10/16(日) 16:46:47.28 ID:k15bNYte0
オランウータン向けのプログラミング言語 Ook!
547名無しさん@12周年:2011/10/16(日) 16:47:28.75 ID:S6ToEdjW0
>>544
>関数呼び出しで参照渡しも出来ないってこと?

これは全部グローバル変数にしとけ

でいいよなw

548名無しさん@12周年:2011/10/16(日) 16:48:15.83 ID:KF3UGYne0
>>539
配列を扱う場合、配列アクセスとポインタアクセスではかなり速度が違ったよ
今ではCPUの性能が上がったから、その当たりあまりこだわりが無いけど、
組み込み系では処理速度がやはり重要になるのでポインタに置き換えれるところ
はポインタに置き換えている
549名無しさん@12周年:2011/10/16(日) 16:48:33.74 ID:ZW2he9IB0
>>539
ポインタ使わずに書くには、配列のインデックスを代わりにするってことかな?
最適化すれば、ほとんど違わない気がする。

64 bit アプリだと、64 bit のポインタより、32bit のインデックスの方が、
メモリの節約になるし。
550名無しさん@12周年:2011/10/16(日) 16:49:22.14 ID:l9byU5PZ0
>>514
改行じゃセミコロンの代わりにならんのだから仕方あるまい。
むしろ改行で勝手に文が終わってもらってはこまる。
長い文が書けない。
551名無しさん@12周年:2011/10/16(日) 16:49:38.96 ID:Snb2Cssq0
>>540

>ポインタを使うと、文字列の切り出しをするときに、
>文字列の切り出し関数がなんだっけ?と思い出さなくても良いというスゴイ利点がw

それだと、駱駝本いらないねwww


552名無しさん@12周年:2011/10/16(日) 16:50:22.13 ID:wkAvY17a0
>>514 C++やjavaの話だが

char * a=
"<html>\n"+
"......."+
"......."+
"......."+
"</html>";
って書ける恩恵の方がでかい。
553名無しさん@12周年:2011/10/16(日) 16:51:02.37 ID:0JdAz96nO
>>539

コールバックとかフックならポインタ必須では?
554名無しさん@12周年:2011/10/16(日) 16:51:32.95 ID:KF3UGYne0
>>514
;を付けないと、トークンの区切りをコンパイラが分からないから

>>547
そう、そんな感じ
必要なメモリは外部変数で予め確保しておけと
もちろん配列の関数渡しはご法度
555名無しさん@12周年:2011/10/16(日) 16:52:56.31 ID:ZW2he9IB0
>>550
python とか Haskell とかのオフサイドルールに従えば、改行があっても
文を継続させることは可能。
オフサイドルールなしでも、文の終わりかそうでないかを判定するルールは作れる。
556名無しさん@12周年:2011/10/16(日) 16:53:25.68 ID:m8Spbc5A0
>>552
勝手に改行で文の終わり解釈されるecmascriptだと、
そういう書き方なら上手くいくが、ちょっと流儀を変えて
char * a=
"<html>\n"
+"......."
+"......."
+"......."
+"</html>";

が悲惨な事に
557名無しさん@12周年:2011/10/16(日) 16:53:51.48 ID:S6ToEdjW0
>>554
なんかグローバル変数使うのは悪 みたいな感じがあって、
じゃぁ関数呼び出しで
func( int a, int b, int c, float d, char *s )
って長々書くのが美しいのか? と思うんだよな。

558名無しさん@12周年:2011/10/16(日) 16:53:58.83 ID:KF3UGYne0
>>549
そーゆーこと
配列の関数渡しはもちろんご法度
だから関数の使い回しが非常にやりにくいプログラムになる
559名無しさん@12周年:2011/10/16(日) 16:54:36.78 ID:0JdAz96nO
>>554
画像系組み込みのメモリ挙動も思い出してやってくれ
560名無しさん@12周年:2011/10/16(日) 16:55:09.09 ID:Snb2Cssq0
>>548
>>549

ポインタの現況説明THX
Cにとって初心者にはポインタが最初の難関になると思ってる
(というか俺もそうだった)
その部分を改善すればもっと門戸が開けると思ったわけです

561名無しさん@12周年:2011/10/16(日) 16:55:57.90 ID:LgGcqw590
>>539

極端な例かも知れんが…関数の引数や戻り値に
構造体使うのと、構造体へのポインタを使うのとでは、無視できない差がありそうに思う。
562名無しさん@12周年:2011/10/16(日) 16:56:13.07 ID:l9byU5PZ0
>>557
モジュールの独立性が下がるから不必要なグローバル変数は嫌われるのだよ。
563名無しさん@12周年:2011/10/16(日) 16:56:25.42 ID:vJsjcUQs0
pythonは色々便利な構文(他の言語も取り入れて欲しい)がある反面
インデントがうるさくて
思考を阻害する部分もあると思うけど。
564名無しさん@12周年:2011/10/16(日) 16:56:39.14 ID:wkAvY17a0
>>557 プロトタイピングつって
ブラックボックス内は何をしているのか一目瞭然となるのが理想
565名無しさん@12周年:2011/10/16(日) 16:56:54.94 ID:6+M6eT+V0
おっさんが昔話を語るスレに
なっているなwwww

紙テープみながら「怪獣が東京湾に現れた」
とか、計算機センターでカードの束に
ひたすらパンチしていたおれがいうのも
何だが。
566名無しさん@12周年:2011/10/16(日) 16:57:03.72 ID:4Hri+NQkO
>>505
括弧の方が安心感あるけどなー。
括弧のくくり直しに比べてインデントの変更は簡単にできるぶん
不注意で要らんことになりそうで怖い。
567名無しさん@12周年:2011/10/16(日) 16:57:17.86 ID:FzHRlK0WP
>>535
FORTRANがパンチカードの幅80文字を強く意識した仕様になっているように、
Cはパンチカードの後に出てきた紙テープの特徴を反映している。
紙テープには改行がなく、どこまでも一行でつながっている。
だから改行ではなくデリミタで行の終わりを示すという発想になる。
これは時期の近いPASCALも似ている。
568名無しさん@12周年:2011/10/16(日) 16:57:35.58 ID:DCiic+lO0
>>26
UNIX板がなければ2chはとっくの昔に終わっていたよ
569名無しさん@12周年:2011/10/16(日) 16:57:52.40 ID:l9byU5PZ0
>>561
よっぽど大きな構造体でないと目に見える様な差は出ないんじゃね?
570名無しさん@12周年:2011/10/16(日) 16:58:20.39 ID:TrP+EVoI0
頭の中で慎重に反芻して、ようやく「ポインタを理解した!」と閃いて
いざコードを書こうとすると、*とか&とかどこにどう置いていいのか
考えてるうちに、閃きも雲散霧消する。
さっきの理解が正しかったのかどうかもわからなくなる。
571名無しさん@12周年:2011/10/16(日) 16:58:25.20 ID:rZsr/YfTP
>>552
そういう問題じゃないと思うよ。

>>554
貧弱なパーサでもOKというのがあるんだろうね。

産業用・教育用としてはソース整形を
決まりきった形に強制するほうがいいと思うけおdね。
572名無しさん@12周年:2011/10/16(日) 16:59:15.80 ID:S6ToEdjW0
>>567
それで思い出した。
DOSが改行を 0D0A の2バイトにしているっていうのも、ヨケイナコトヲ
と思っているうちの一つだな。
573名無しさん@12周年:2011/10/16(日) 17:00:19.18 ID:k15bNYte0
コボラーとリスパー元気?
574名無しさん@12周年:2011/10/16(日) 17:00:26.62 ID:KF3UGYne0
構造体の実体渡し
これでメモリー不足も初心者がよくやるんだよなぁ
その場合、ポインタのありがたさがよく分かる
575名無しさん@12周年:2011/10/16(日) 17:00:30.79 ID:TrP+EVoI0
>>563
Pythonの強制インデントをうるさく思うような人は、
普段はインデントなんて無視して書いてんの?
そんなコード読むのやだなぁ。
576名無しさん@12周年:2011/10/16(日) 17:01:26.02 ID:S6ToEdjW0
>>573
コボラーは知らないが
MAXIMA使うためにはLispの(最低限の知識)は必要なんだよな。
577名無しさん@12周年:2011/10/16(日) 17:01:38.24 ID:y53esEbv0
楽してポインタなんか使ってると
結局ダメ人間になるって話だよね
578名無しさん@12周年:2011/10/16(日) 17:01:53.35 ID:rZsr/YfTP
>>566
カッコをミスして消すとかと、同じレベルだと思うよ?

インデントのほうが、ブロック全体にわたるので
そういうミスは少ないね。
579名無しさん@12周年:2011/10/16(日) 17:03:09.32 ID:S6ToEdjW0
>>575
インデントは無視しないけど、
インデント=スペース1個
っていうのは やむを得ず、やることがあるw

かといってPythonの TAB=スペ^ス8個 っていうのは多いと思うんだよな
580名無しさん@12周年:2011/10/16(日) 17:04:44.14 ID:KF3UGYne0
自動車業界関係だとMISRA規約とか有名じゃないかな?
http://old.iar.com/website1/1.0.1.0/474/3/

>ルール118では、動的メモリ割当ての使用は禁止され、ルール101では、ポインタの演算が禁止され、
>さらに、ルール102では、3段階以上のポインタ間接参照は記述されるべきでないとあります。
581名無しさん@12周年:2011/10/16(日) 17:04:48.66 ID:S6ToEdjW0
>>578
うっかりインデントを狂わせたとき、もとに戻すのが面倒なんだよな。
全部よまなきゃならんし。

その点、カッコの方がエディタで対応するカッコを探しながらできるので
楽な様な気がする
582名無しさん@12周年:2011/10/16(日) 17:05:05.78 ID:ivSNhFhP0
かつてPGになりたいと思った。
そこでまず派遣で評価する側から入って、勉強しようと思った。
しかしPGになると趣味は辞めるしかないほど自分の時間が持てないと知って、
(評価ですら深夜残業だったし。)
仕事として覚えるのを辞めた。
583名無しさん@12周年:2011/10/16(日) 17:06:09.76 ID:l9byU5PZ0
>>572
キャリッジリターン(CR)とラインフィード(LF)なんだよな。

で、Macの場合CRだけでunixはLFだけだったかな?

それ以外にもまだ変な制約残って無かったかな?
テキストに^Zが入ってるとそこから後ろが読めなかった様な記憶が。

たしかセクタ単位でしかファイルの大きさを管理できなかったCP/Mの為に、テキストの最後にEOFを置いた名残だとか。
584名無しさん@12周年:2011/10/16(日) 17:06:27.69 ID:Snb2Cssq0
>>577

半分は賛成するけどポインタが無くても成立言語は多数あるぞ
585名無しさん@12周年:2011/10/16(日) 17:06:56.91 ID:S6ToEdjW0
そういや、今、ハンガリアン記法ってどうなん?

ボクは未だにPython使うときも

sFilename="file.csv"

って書くほうなんだけど。
586名無しさん@12周年:2011/10/16(日) 17:07:19.91 ID:TrP+EVoI0
>>579
その点は完全に同意。
TAB=スペース4個で規格を統一しなかった先人どもは、今すぐ首吊って死ね!!
587名無しさん@12周年:2011/10/16(日) 17:09:26.01 ID:KF3UGYne0
>>585
嫌い
それよか
S16BITとかU16BITにマクロで置き換えたほうが好き
588名無しさん@12周年:2011/10/16(日) 17:09:58.45 ID:rZsr/YfTP
>>579
タブじゃなくてスペース4個が多いと思うけど…

>>585
ハンガリアンは悪。
589名無しさん@12周年:2011/10/16(日) 17:10:29.45 ID:l9byU5PZ0
>>584
Javaなんかポインタがない様に見えて実はプリミティブ型以外は全部ポインタだぞ。

だからNullPointerExceptionを出してガッされる。
590名無しさん@12周年:2011/10/16(日) 17:10:34.45 ID:+Nisv+aL0
>>585
厳密に従ってないけど、
strXXXやblnYYY、数値変数はvalだのnumだのcntだのを接頭辞にしてる。

これは言語の垣根を越えてやってるよ。
型でなく、用途を表現する様にしてる。
591名無しさん@12周年:2011/10/16(日) 17:10:43.17 ID:TrP+EVoI0
>>585>>587>>588
どっちのハンガリアン記法について言ってるの?
変数の型を接頭辞にするほう?
592名無しさん@12周年:2011/10/16(日) 17:11:01.74 ID:ireOBfYy0
マジか!?
ご冥福をお祈りいたします
593名無しさん@12周年:2011/10/16(日) 17:11:19.33 ID:3xkHBY1w0
Cにポインタがある理由

 ブートローダ、カーネル、デバイスドライバを作るため

物理アドレス(論理アドレス/ページ)を参照出来ない言語では、作れない
594名無しさん@12周年:2011/10/16(日) 17:12:34.08 ID:XX7ww/030
>>585
それは、間違ったハンガリアン記法だから。
Wikipediaでも読んで勉強しなおそう。
595名無しさん@12周年:2011/10/16(日) 17:13:24.47 ID:S6ToEdjW0
>>591
システムハンガリアン っていうんだっけ?
変数型を前にもってくるやつです。
596名無しさん@12周年:2011/10/16(日) 17:14:40.00 ID:rZsr/YfTP
>>589
ポインタとリファレンスは違うもの。
597名無しさん@12周年:2011/10/16(日) 17:15:18.11 ID:S6ToEdjW0
>>594
そっけ。
文字列はs
ポインタはptr から始めるっていうのが身についた癖なんだがなぁ。
598名無しさん@12周年:2011/10/16(日) 17:16:42.35 ID:S6ToEdjW0
>>593
あと、基本的に関数が値渡しだから だと思う
599名無しさん@12周年:2011/10/16(日) 17:17:12.00 ID:WN8K/q9p0
いろいろ調べたくてJISの規格票でプログラム言語Cを読もうかと思ったんだけど
IE+Adobe Reader Xだとうまく表示できないんだよね。みんなは見える?
(以下のページで JISX3010 か プログラム言語Cで検索)

http://www.jisc.go.jp/app/JPS/JPSO0020.html
600名無しさん@12周年:2011/10/16(日) 17:17:31.00 ID:ireOBfYy0
>>597
間違っているけど、それもそれで
結構普及しちゃってるからなぁw
でも型変えた時が面倒なんだよなー
601名無しさん@12周年:2011/10/16(日) 17:17:54.47 ID:ZW2he9IB0
>>567
MVS のデータセットは、レコードサイズあるからなあ。
ファイル自体が、単なるバイト列じゃない。

カードに由来してるかどうか、知らないけど。

>>572
DOS というか、テレタイプの制御をそのまま出してるだけ。
UNIX では、TTY ドライバが LF->CR LF に変換してる。
ファイルとかは、LF だけ残す。
602名無しさん@12周年:2011/10/16(日) 17:21:18.81 ID:XX7ww/030
>>597
言い出しっぺが言いたかったのは、そっちじゃない方でしょう。
今でも、偶にそういうソースを見るけど、解りにくいよ。
変数の頭は、本来の意味で付けて欲しいね。
603名無しさん@12周年:2011/10/16(日) 17:21:45.60 ID:FzHRlK0WP
>>601
昔はリターンキーが[復改]だった機種があったね。
行頭に復帰して一行送る、だからCR+LFなのはわかるような。
604名無しさん@12周年:2011/10/16(日) 17:23:37.73 ID:k15bNYte0
605名無しさん@12周年:2011/10/16(日) 17:26:02.96 ID:S6ToEdjW0
>>602
そっけ?
Windowsのプログラムみたとき

lpszMenuName;

なんていうのがあったが。

自分の中では ポインタは ptr で始めるっていう規則は結構役にたったんでな。
(改めて考えて見れば 文字列をsで始めたからといって、役に立った覚えはねぇなw)
606名無しさん@12周年:2011/10/16(日) 17:26:16.40 ID:4Hri+NQkO
>>596
でもJavaのアレは参照というよりポインタだと思う。
参照ならば必ず何らかのオブジェクトを参照しているべきで、
(オブジェクトでもない)nullを代入できるのはおかしい。
607名無しさん@12周年:2011/10/16(日) 17:27:05.02 ID:S6ToEdjW0
今更だが、

null って

ナル

だよな?
608名無しさん@12周年:2011/10/16(日) 17:28:47.84 ID:TrP+EVoI0
>>605
言いだしっぺとは違うチームのプロジェクトだったんだろう。
社内で既に間違った理解のされ方で感染が広まったらしいし。
609名無しさん@12周年:2011/10/16(日) 17:29:27.99 ID:gBJxJrTr0
>>379
亀レスだが、C++でそんな処理にクラス多用するのはバカだよ
C++のオブジェクト指向は内部的にはただの関数呼び出し(仮想関数は関数アドレスのテーブル)
だし、オブジェクト指向だから速いだの遅いだのは無い

C++も使い方による。C標準のqsortよりSTLのsortが速くなることが多いのは有名だが
ベクトル処理なんかでも、インライン化されてない加減乗除の演算子オーバーロードとか使ったら遅い
そんなもんクリティカルな部分で使うやつがおかしいw
610名無しさん@12周年:2011/10/16(日) 17:30:24.16 ID:SSqmwjDb0
>>607
データベース屋さんは「ナル」と読む人が多い。
それ以外は「ヌル」が多いかな。
611名無しさん@12周年:2011/10/16(日) 17:31:16.97 ID:S6ToEdjW0
>>608
今頃Wikipedia見ているんだが、それはつまり
アプリケーションハンガリアンとシステムハンガリアンの違い
ってことですかい?
612名無しさん@12周年:2011/10/16(日) 17:34:36.40 ID:6Y6rRzHH0
ぬるぽの元祖は
ぬるいなー へぼいなー
なんかこんなのなまぬるくてやってられないんだけど
はっきりいっちゃうといろいろとあれだし
ぬるぽ と区切っていっておくか
その意図を読み取ったツレが ガッとたたく

これが起源です nullとかはあとずけです
613名無しさん@12周年:2011/10/16(日) 17:34:37.77 ID:S6ToEdjW0
ついでに聞くが

warning って
 
ウォーニングだよな?

StarWarsがスターウォーズなら
warningはウォーニングだと思うんだが。
614名無しさん@12周年:2011/10/16(日) 17:34:58.90 ID:rZsr/YfTP
>>606
参照とポインタの違いはそこじゃないよ。
615名無しさん@12周年:2011/10/16(日) 17:35:13.21 ID:KF3UGYne0
Warnningもワーニングと読むヤツとウォーニングと読むヤツに別れるよな
616名無しさん@12周年:2011/10/16(日) 17:35:15.15 ID:8v8PVMJ40
>>522
lea eax,[eax*4 + eax]

みたいな、i386以降で出来るレジスタ内容をシフトして加算するやつの事?
これだったら、CPUの演算機能を使わずに演算が出来るので、かなり重宝したわ
昔は乗算器が遅くて、どう使わずに計算するかに苦労したのも、今ではいい思い出・・・
617名無しさん@12周年:2011/10/16(日) 17:35:49.93 ID:N1I/0h4S0
>>605
そういうの見ると、
ロングポインタって、ロングじゃないポインタも使うの?
ゼロ終端文字列って、ゼロ終端じゃない文字列使うつもりなの?
(Pascal型な文字列でも使うつもり?)
って思うわな。
酷いのになると、C++でstring型の変数にlpszとかつけてたりするし。
618名無しさん@12周年:2011/10/16(日) 17:36:26.44 ID:TrP+EVoI0
>>611
名前までは知らんかったけど、Wikipedia見たら、多分そうだと思う。

前スレでこのページ貼ってた人がいた。
http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
俺はこの記事でハンガリアン記法が誤解されていたことを知った。
619名無しさん@12周年:2011/10/16(日) 17:36:55.86 ID:S6ToEdjW0
>>616
自慢じゃないが、昔、ボクが設計したワンチップマイコンでのサーボは
ゲインは2,4,8,16と、2のベキ数でしか設定できなかった。えっへん。
620名無しさん@12周年:2011/10/16(日) 17:36:57.85 ID:k15bNYte0
ワーニン
621名無しさん@12周年:2011/10/16(日) 17:37:04.33 ID:tBL16CyP0
未だに、++も#も使えない、オールドタイプが記念真紀子
622名無しさん@12周年:2011/10/16(日) 17:38:24.30 ID:S6ToEdjW0
>>617
VisualCで、文字列のポインタが*から^になったときは絶望したな。
もうついていけないとw
623名無しさん@12周年:2011/10/16(日) 17:39:06.68 ID:wkAvY17a0
>>612
いまいちピンと来ないな。本当なのかそれ?
624名無しさん@12周年:2011/10/16(日) 17:40:10.40 ID:XX7ww/030
>>605
今は、開発ツールで、その変数の型を表示してくれたりするでしょう。
変数名に付いていても付いていなくても困らない。
付いていると、最初の何文字かは読み飛ばしながら変数を追いかけることになるし。

で、人の所で開発したソースで、付いているのと付いていないのが混じっていると、あーあと思う。

関数の説明書位なら、変数名はあまり気にせずに、横の型を見るからいいけど、
昔は、マイクロソフト自身が、間違った方を奨励していたんだよね。
625名無しさん@12周年:2011/10/16(日) 17:41:23.88 ID:4Hri+NQkO
>>614
う〜む…
じゃあ何なの?
626名無しさん@12周年:2011/10/16(日) 17:43:17.77 ID:V8UmlH8v0
>>613
辞書引けばわかるだろwウォーニングだよ
627名無しさん@12周年:2011/10/16(日) 17:44:09.17 ID:8aEXB1KJ0
若い奴はコボルをきっちり勉強しとけよ。
需要不足だからな。
628名無しさん@12周年:2011/10/16(日) 17:46:00.46 ID:S6ToEdjW0
>>626
だよな。
だけど日本語の取説で「ウォーニングが出たときには、、」とか書いてあるのを
殆ど見たことないんだよな。
629名無しさん@12周年:2011/10/16(日) 17:46:15.54 ID:N1I/0h4S0
>>627
需要もないのに勉強する意味が無い。
630名無しさん@12周年:2011/10/16(日) 17:46:24.83 ID:SSqmwjDb0
>>623
俺はぬるぽが誕生する瞬間をリアルタイムで見た。

何年前か忘れたがプログラマ板で「NullPointerExceptionをぬるぽと呼ぶスレ」というクソスレが立った。

あまりの馬鹿らしさにすぐそのスレの1をガッと殴るレスがついた。

そのぬるぽ→ガッのコンビはあれよあれよと言う間に板全体に飛び火し、気が付けば別の板にまで拡散して行った。

みんな多分、本当の意味は知らないとおもう。
631名無しさん@12周年:2011/10/16(日) 17:47:01.72 ID:8lLx9lsL0
そうは言うが、query をちゃんと発音している奴なんか、見たこと無い
632名無しさん@12周年:2011/10/16(日) 17:47:32.37 ID:rZsr/YfTP
>>625
ポインタは演算できるがリファレンスはそうじゃない。
633名無しさん@12周年:2011/10/16(日) 17:48:24.15 ID:S6ToEdjW0
>>631
いや、もともと英語を正確にカタカナで書くのはムリなのはわかっているけどさ、
warはワーよりはウォーだろうと。
634名無しさん@12周年:2011/10/16(日) 17:48:51.37 ID:SSqmwjDb0
>>627
オヤボルとマゴボルモナー
635名無しさん@12周年:2011/10/16(日) 17:49:10.45 ID:8aEXB1KJ0
ウォーなんて表記する奴は、三十年前に滅多にいなかったんだよ
636名無しさん@12周年:2011/10/16(日) 17:50:29.48 ID:rZsr/YfTP
>>627
供給不足ってことか?

何年後かにはJavaがコボルのポジションになりそうだ。
でもJavaはフレームワークもバラバラで大変だろうなあ。
637名無しさん@12周年:2011/10/16(日) 17:50:53.68 ID:S6ToEdjW0
>>635
StarWarsは「ちゃんと」スターウォーズって書いたじゃないですかー
638名無しさん@12周年:2011/10/16(日) 17:51:18.60 ID:4Hri+NQkO
>>632
うーむ…
「演算(加減算)できること」はポインタの必須要件なんだろうか?
たとえばPascalのポインタ型は加減算できない。
639名無しさん@12周年:2011/10/16(日) 17:52:00.95 ID:8aEXB1KJ0
>>626
>>636
すまん、間違えたw 供給不足だw
640名無しさん@12周年:2011/10/16(日) 17:52:36.38 ID:wkAvY17a0
>>631
クヲェゥリー
641名無しさん@12周年:2011/10/16(日) 17:53:38.94 ID:XzZFu/VG0
ν速+とは思えない進行だな。
642名無しさん@12周年:2011/10/16(日) 17:53:50.82 ID:ew/bQY6M0
ポインタって無茶苦茶な事できるもんな
後から読むと書いた本人ですら分からなくなるくらい
643名無しさん@12周年:2011/10/16(日) 17:54:25.41 ID:tBL16CyP0
>>629
オフコン&汎用機は、なんだかんだで中々消えないからなぁ・・・
644名無しさん@12周年:2011/10/16(日) 17:54:38.01 ID:rZsr/YfTP
>>638
ポインタを用語としてとらえるかどうかだけど。
それは用語におけるポインタではないね。
単にそういう風に名付けたというだけ。
645名無しさん@12周年:2011/10/16(日) 17:55:11.34 ID:N1I/0h4S0
つか、今はもうC/C++が供給不足だぜ。
組み込みの現場とかだと、20代がまったくいない。
646名無しさん@12周年:2011/10/16(日) 17:55:45.87 ID:S6ToEdjW0
>>638
それは
char s[10];
char c
char *p

p=s;
c=*(p+3);

みたいなコトが出来ないってことですかい?
647名無しさん@12周年:2011/10/16(日) 17:56:08.51 ID:8EoSjf/P0
>>645
きょうびC/C++プログラマなんて流行らんのだろ
別に日本語できる必要ないしインド人とかが人件費安くて良いんじゃね
648名無しさん@12周年:2011/10/16(日) 17:57:17.40 ID:S6ToEdjW0
>>645
組み込みにCを使わないとすると、何使うんすか?
少なくともうちの会社だとC、アセンブラ(デバッグで使えればOK) 必須だが。
649名無しさん@12周年:2011/10/16(日) 17:57:32.44 ID:TrP+EVoI0
>>645
案件の需給なのか、人材の需給なのか、文脈を統一してくれ。
650名無しさん@12周年:2011/10/16(日) 17:58:44.32 ID:rZsr/YfTP
組み込みとはちょっと違うのかもしれないけど、
STBとかアプライアンスとかだと、Linuxが乗ってるからPythonでとか。
651名無しさん@12周年:2011/10/16(日) 18:00:02.72 ID:SSqmwjDb0
>>637
「スターワーズ」じゃ締まらんな。
652名無しさん@12周年:2011/10/16(日) 18:01:54.51 ID:wkAvY17a0
ウォって書くなよ日本語でヲって既にあるだろが。
653名無しさん@12周年:2011/10/16(日) 18:02:13.83 ID:N1I/0h4S0
>>649
あぁ、すまん(若い)人材が供給不足ってこと。
定年間近のおっちゃんがはんだごて片手にコーディングしてるのはいいんだが、
若い奴は少ないねぇ。
654名無しさん@12周年:2011/10/16(日) 18:02:35.57 ID:H3Du8yJD0
C++は駄目だ
これからはD言語の俺たちの時代
655名無しさん@12周年:2011/10/16(日) 18:03:33.43 ID:S6ToEdjW0
>>652
ウォとヲは違うと思うなぁ
656名無しさん@12周年:2011/10/16(日) 18:04:32.63 ID:WN8K/q9p0
>>605
メイヤーが書いてるけど、型安全な言語で変数名に型を明示すると
あとあと型が変わったときにソースコードを全部書き換えるハメになる。
書き換えないと、ハントのいう「二重化の禁止」に反して(人的な)バグの原因になる。
一方、サッターは型安全でない言語では有効であろうとちょっと理解を示している。
実際のところ、Windows APIはC言語から呼ばれる事を前提にしているし
APIの型が変わることは多分ない(必要ならEXとかつけて新しいAPIを作っちゃうから)ので
Windows APIでlpszとかくっついてる分にはまぁぎりぎりありかな、と。
657名無しさん@12周年:2011/10/16(日) 18:04:37.21 ID:wkAvY17a0
正しくは「ヲゥーヌィン」だ。
658名無しさん@12周年:2011/10/16(日) 18:04:43.91 ID:S6ToEdjW0
>>654
残念ながら、Z言語っていうのがあるらしいw
(ちなみに、Z++っていうのも、やっぱりあるらしいww)
659名無しさん@12周年:2011/10/16(日) 18:05:02.58 ID:8aEXB1KJ0
スターヲーズ だめだこりゃ
660名無しさん@12周年:2011/10/16(日) 18:05:38.93 ID:R6p00iOL0
もうJavaでいいやと思って幾星霜だが
JVMの動かない環境じゃCが必須なんだよな
JavaをCやC++に翻訳してくれるバインドないかしら
661名無しさん@12周年:2011/10/16(日) 18:07:41.05 ID:YrTbu6c60
>>631
自分はクエリーって読んでるけど、
IBMのオフコンやってる人はキューリーって呼んでた。
662名無しさん@12周年:2011/10/16(日) 18:08:07.97 ID:zAvaO9Ui0
>>557
自分を返すクラスとかだと、
con.select("項目").from("テーブル").where(eq(a,b)).where(gt(c,d), ADD).limit(5);
みたいに延々と続くから、改行終端はいらないと思う。
663名無しさん@12周年:2011/10/16(日) 18:08:21.05 ID:WN8K/q9p0
>>660
つJ++
SUNが「独自拡張すんな」って難癖付けなければ
それなりに便利で速いネイティブアプリが作れたのにねぇ…w
664名無しさん@12周年:2011/10/16(日) 18:08:59.81 ID:rZsr/YfTP
>>660
Pythonでいーじゃない。
665名無しさん@12周年:2011/10/16(日) 18:09:43.99 ID:S6ToEdjW0
>>663
J#っていうのなかったっけ?
666名無しさん@12周年:2011/10/16(日) 18:10:37.28 ID:FzHRlK0WP
>>661
queueを「クエウエ」って訳してるマニュアル見たことあるよ。
音楽関係のソフトだったけどな。
667名無しさん@12周年:2011/10/16(日) 18:11:43.48 ID:wkAvY17a0
>>666
ああキューか。じゃあqueryはキュリーが正しいんだろうな。
668名無しさん@12周年:2011/10/16(日) 18:11:54.34 ID:S6ToEdjW0
>>666
そいつがCの本書いたら

stdio.h をスタジオヘッダー って訳すんだろうなぁ。
669名無しさん@12周年:2011/10/16(日) 18:12:01.38 ID:YrTbu6c60
>>665
Visual Studioに入ってるJavaかな?
絶滅したんじゃないかな。
670名無しさん@12周年:2011/10/16(日) 18:12:11.68 ID:8aEXB1KJ0
queryはキュェリィだと思ってたんだがな
671名無しさん@12周年:2011/10/16(日) 18:13:37.68 ID:S6ToEdjW0
>>667
http://www.merriam-webster.com/cgi-bin/audio.pl?query002.wav=query

クイリーだな。 そうしか聞こえないw
672名無しさん@12周年:2011/10/16(日) 18:14:26.17 ID:zAvaO9Ui0
>>540
アセンブラレベルだと添字とポインタ指定はぜんぜん違うコード吐く。

てか添字の場合だと、参照のたびに配列の先頭番地+(添字×型のサイズ)が入る。
今のコンパイラはどう最適化するか知らんけど、昔ペースメーカーの開発とかで
添字指定でやってたりすると蹴られたりした。
673名無しさん@12周年:2011/10/16(日) 18:14:28.63 ID:wkAvY17a0
答えが解らないから言うけど
スタンダードアイオーヘッダって言うとネタバラシになるの?
674名無しさん@12周年:2011/10/16(日) 18:15:09.74 ID:WN8K/q9p0
でも、facadeを最初からファサードと読める奴は少ないと思うんだ…
さらに、ファサードがなんなのか知ってる奴はもっと少ないと思うんだ…
675名無しさん@12周年:2011/10/16(日) 18:16:45.35 ID:uVd/bmr10
TeXは本当は テッハ と読むらしいぞ
676名無しさん@12周年:2011/10/16(日) 18:17:36.87 ID:rZsr/YfTP
width もカタカナ表記しづらいな。
677名無しさん@12周年:2011/10/16(日) 18:17:44.28 ID:ivSNhFhP0
俺が高校の情報処理科の時はCOBOLを習ったが
今の高校の情報処理科は何を習ってるんだ?
678名無しさん@12周年:2011/10/16(日) 18:17:52.26 ID:XX7ww/030
>>660
コンバータ、使えるのかどうかは知らない。
Janus
ttp://www.java-conf.gr.jp/event/grandprix/97/sakuhin/T/TI3970/
679名無しさん@12周年:2011/10/16(日) 18:18:42.35 ID:S6ToEdjW0
>>675
テフかテックだろ。 テックスじゃないことだけは確かなはず。
680名無しさん@12周年:2011/10/16(日) 18:18:44.92 ID:Ch9NQk6a0
>>11
取り敢えず

ガッ!

しとけよおまいら
681名無しさん@12周年:2011/10/16(日) 18:19:30.49 ID:TrP+EVoI0
>>673
実際にそうやって発音してる奴いるのかな?
682名無しさん@12周年:2011/10/16(日) 18:19:52.89 ID:S6ToEdjW0
>>677
真ん中の娘は工業高校なので、C++とシーケンサーのラダー
下の娘はタートルグラフィックやったって言っている。
683名無しさん@12周年:2011/10/16(日) 18:20:24.17 ID:wkAvY17a0
>>675
大学でテフって教授が言ってた。
684名無しさん@12周年:2011/10/16(日) 18:21:22.04 ID:Pf+CRdEf0
>>665
Visual J#だね。
685名無しさん@12周年:2011/10/16(日) 18:22:29.91 ID:SSqmwjDb0
>>677
COBOLやるのって商業系?
686名無しさん@12周年:2011/10/16(日) 18:22:43.58 ID:S6ToEdjW0
#ってあれだろ?
C++の
Label->Text を
Label.Text
ってかくやつ。

まぁ確かにこのあたりはC#のほうが美しいなぁ
687名無しさん@12周年:2011/10/16(日) 18:24:05.72 ID:N1I/0h4S0
>>674
建築系では普通に使われてる単語なんだけどね。
688名無しさん@12周年:2011/10/16(日) 18:26:03.55 ID:R6p00iOL0
J++もJ#もWinで使う分には
Win用のJVMが十分速いからいらんような気もするが

出来上がったEXEは目茶速いんだろうか
ちょっと入れてみるわ、アリガd
689名無しさん@12周年:2011/10/16(日) 18:27:17.69 ID:ArXtqD+B0
D言語はいつになったら時代がくるかねぇ
690名無しさん@12周年:2011/10/16(日) 18:27:52.90 ID:RxBYhFZH0
トンプソン?
カーニハンじゃないの?
691名無しさん@12周年:2011/10/16(日) 18:28:50.39 ID:kOwWLY/Z0
CとLISPは小学校で教えておくべき
692名無しさん@12周年:2011/10/16(日) 18:29:27.24 ID:BrB/cfCw0
stdio.h とか スタジオエッチ にしか読めない時点で
いかがなものだろう
演算子>> ^ || とかポインタ * も全部そう

もっと人間に発音しやすいコンピュータ言語ほうが
人間の間違いが減ると思う
693名無しさん@12周年:2011/10/16(日) 18:30:26.72 ID:k15bNYte0
Cはくるよ!Cは未来!
694名無しさん@12周年:2011/10/16(日) 18:31:55.42 ID:kOwWLY/Z0
>>692
「現在の所持金は?」と、尋ねて、所持金に、入れる。
もし、所持金>5000{円}ならば、(
  「新しいマウス買いますか?」と、二択。
  もし、それが、はいならば、所持金=所持金−2000{円}
)違えば(
  「マウス買うと生活費に困るので買いません。」と、言う。
)。
「現在の所持金は、{所持金}円」と、言う。
695名無しさん@12周年:2011/10/16(日) 18:32:15.20 ID:wkAvY17a0
なるほど女の子にそれを言わすためだけにネタ振ってるのか・・・。
696名無しさん@12周年:2011/10/16(日) 18:35:58.98 ID:FzHRlK0WP
>>694
COBOLのソースって、ほとんどそんな感じじゃないか?
697名無しさん@12周年:2011/10/16(日) 18:39:42.90 ID:k15bNYte0
指が減るこぼる
698名無しさん@12周年:2011/10/16(日) 18:40:44.10 ID:zAvaO9Ui0
>>695
「挿入する前にちゃんと嘗めないと駄目だよ」
って会話が聞こえて、何かと思って振り返ったらDBのINSERTについて指導してた。
699名無しさん@12周年:2011/10/16(日) 18:43:22.06 ID:R6p00iOL0
>>678
面白そうだ
自分でソースの確認もできるし
アリガd
700名無しさん@12周年:2011/10/16(日) 18:43:40.45 ID:4Hri+NQkO
>>646
そういう事。
Pascalのポインタはリストや木構造などの再帰的なデータで次の要素を指すために使う。
ポイントはするけど、抽象的な意味で対象を指しているだけで、
Cのようにメモリ空間と結びついているわけじゃない。
ポインタに値を足したり引いたりしても意味がないし、
そもそもそんなコードはコンパイル時にエラーが出て通らない。
701名無しさん@12周年:2011/10/16(日) 18:44:15.85 ID:Ho1f9fXu0
A言語ってのは無いの?
702名無しさん@12周年:2011/10/16(日) 18:45:28.25 ID:Pf+CRdEf0
>>694
そう言えば、日本語プログラミング言語MINDってあったね。


>>696
>>694の書き方じゃないけど、富士通謹製の日本語COBOLを読んだときには頭が痛くなった。
703名無しさん@12周年:2011/10/16(日) 18:47:28.21 ID:ArXtqD+B0
日本語プログラミング言語はなにがまずいか考えたけど
やっぱ文字のでかさとスペースの不必要性だよ

読みにくい読みにくい
704名無しさん@12周年:2011/10/16(日) 18:47:58.81 ID:BrB/cfCw0
var
pointer p,q;
integer i;

q:=pointer(integer(p)+4));
でOK
705名無しさん@12周年:2011/10/16(日) 18:49:14.27 ID:Yd9qtCX/0
デニス・リッチーも糞、カーニハンも糞、クヌースも糞。

ジャブズが最高!レオナルド以来の大天才!ウォズは従業員(笑)

それが、アップル狂信者
706名無しさん@12周年:2011/10/16(日) 18:50:24.97 ID:xuWZkmG90
言語は、AからZまである
707名無しさん@12周年:2011/10/16(日) 18:51:02.09 ID:Yd9qtCX/0
ジョブズはGUIを作った!NEXT STEPを作った!ぴくさーも作った!
最強の技術者!ゲイツは今すぐ氏ね!

あらゆる意味で間違ってるのが、アップル狂信者
708名無しさん@12周年:2011/10/16(日) 18:52:52.25 ID:ew/bQY6M0
ゲイツって結構しぶといよな
709名無しさん@12周年:2011/10/16(日) 18:54:48.38 ID:ZEdZCuE70
>>557
グローバル変数はデバッグしづらいというのと、
他への転用が難しくなるという問題がある
externは非常に面倒だし

> func( int a, int b, int c, float d, char *s )
func(
   int a,    /* 1 : a */
   int b,    /* 2 : b */
   int c,    /* 3 : c */
   float d,    /* 4 : d */
   char *s    /* 5 : s */
   );       /* end of func */

という書き方が出来るのがCの良いところ
美しくないかもしれないが、見易い
710名無しさん@12周年:2011/10/16(日) 18:56:20.44 ID:XBx3KQfz0
>>707
オープン化しないOSでな。なんで、評価しないよ。
711名無しさん@12周年:2011/10/16(日) 18:58:41.00 ID:k15bNYte0
ジョブズ>ゲイツ>インテル>ベル研
712名無しさん@12周年:2011/10/16(日) 19:01:42.74 ID:S6ToEdjW0
>>709
あーそれはちょっといいですね。
今後採用させていただきます。ども
713名無しさん@12周年:2011/10/16(日) 19:01:47.34 ID:F2eeTWeg0
マッカーシー → ジョブズ
リッチー → ゲイツ

例えるならこんな感じ
Cはハード側のアーキテクチャに沿った愚直な言語だけど、
論理的なエレガントさは皆無。
714婆 ◆HKZsYRUkck :2011/10/16(日) 19:05:14.17 ID:q5nziOp50
>>557
おお、なんか同意。
俺も教条主義的に>>562の作法だったけど、苦労のわりには
可搬性向上しないよね。
715名無しさん@12周年:2011/10/16(日) 19:06:48.21 ID:yqZZM+h+0
>>693
不覚にもワロタ
716名無しさん@12周年:2011/10/16(日) 19:15:59.33 ID:k15bNYte0
マッカーシーって誰やねん?
717名無しさん@12周年:2011/10/16(日) 19:18:37.86 ID:8v8PVMJ40
>>716
LISPの創造主
718名無しさん@12周年:2011/10/16(日) 19:23:56.80 ID:4Hri+NQkO
>>704
Pascalの話だとすれば、Pascalではポインタの値を整数に型変換できないよ。
もし出来たとすれば、それは処理系の独自拡張。
ポインタの値がアドレスになる(だから整数に型変換可能)というのはあくまでCの流儀。
ポインタ操作を実際のメモリ空間にマッピングしたのがCの言語仕様の上手いところ。
719名無しさん@12周年:2011/10/16(日) 19:28:18.13 ID:h8tcq4eP0
>>9
理解したいなら、CコンパイラがあるCPUのアドレッシングモードを勉強しよう。
x86系のアセンブラで検索すればわかりやすいサイトもあるだろう。
まずはそこからだ。

プログラミング言語Cは共通アセンブラ、
Cのポインタで悩むよりも、CPUの勉強した方が手っ取り早い。
720名無しさん@12周年:2011/10/16(日) 19:41:17.58 ID:LIBvVAtx0
>>709
そこは

func(a ,b ,c ,d ,s)
   int a;    /* 1 : a */
   int b;    /* 2 : b */
   int c;    /* 3 : c */
   float d;    /* 4 : d */
   char *s;    /* 5 : s */
{
}


だろ、スレ的に考えてw
721名無しさん@12周年:2011/10/16(日) 19:41:40.65 ID:01MA55lU0
構造体も理解するの大変だよな
a.b.c
a->b->c
722名無しさん@12周年:2011/10/16(日) 19:43:22.09 ID:k15bNYte0
蟹飯
723名無しさん@12周年:2011/10/16(日) 19:44:27.41 ID:rZsr/YfTP
>>719
こういうロートルのいうことは信用しないほうがいいよ。
724名無しさん@12周年:2011/10/16(日) 19:50:09.48 ID:Q3hLdN7W0
aマイナー be動詞 c言語
725名無しさん@12周年:2011/10/16(日) 19:50:37.11 ID:k15bNYte0
デニスリッチー マークリッチー
726名無しさん@12周年:2011/10/16(日) 19:57:03.13 ID:k15bNYte0
ピンカスグリーン
727名無しさん@12周年:2011/10/16(日) 20:03:50.61 ID:h8tcq4eP0

ポインタの取っ掛かりについて、
ポインタなんてCPU寄りの機能なんだから、CPU寄りの勉強したら判る。
直接アドレッシング、間接アドレッシング、アドレッシングモード、辺りのキーワードでググって
片っ端から読めば判る。
図解されてるからそれを丸覚えすればいいw
728名無しさん@12周年:2011/10/16(日) 20:08:12.43 ID:SMH7pzMF0
ポインタ
mov (%esp),%eax
mov $0x3,(%eax)

mov $0x3,(%esp)
729名無しさん@12周年:2011/10/16(日) 20:18:42.41 ID:ireOBfYy0
>>727
別にそこまでやらんでも、要は扱ってるのが
何の値なのかが解ればよろし
730名無しさん@12周年:2011/10/16(日) 20:19:59.73 ID:ka7ATFQ40
>>417
マジで動いてワロタw
まんま8086だな。

てか、互換モードで残してるだけだよね。
731名無しさん@12周年:2011/10/16(日) 20:23:21.58 ID:JWbDZZMm0
デニス・リッチー  Dennis MacAlistair Ritchie C言語とUNIXの父
リチャード・デニス Richard J. Dennis       タートルトレーダーの父、ピットのプリンス、
                             400ドルを数十億ドルにした伝説の投機家

なんか紛らわしいとおもた。
732名無しさん@12周年:2011/10/16(日) 20:25:58.46 ID:R6p00iOL0
Winのアセンブラもハード周りいじるときはAPI叩いてるだけよね
新し目のPC用に書かれたアセンブラコードって
古いPCじゃ動かなかったりするし
ソースに動かした環境の詳細をコメントに書いといて欲しいなぁ
733名無しさん@12周年:2011/10/16(日) 20:27:14.28 ID:HHAQRIBP0
ジョブズはjobs(雇用)を作ったが、
リッチーはrichには、なれなかった。
734名無しさん@12周年:2011/10/16(日) 20:27:36.97 ID:y53esEbv0
JobsのせいでまたCなんかつつかなきゃならないなんて!
時代に逆行してる感が半端ないです
735名無しさん@12周年:2011/10/16(日) 20:28:23.52 ID:wUoZha+B0
>>733
他人のrichは作ったよ
736名無しさん@12周年:2011/10/16(日) 20:30:44.24 ID:yqZZM+h+0
>>731
Dennisって姓あんのかw
737名無しさん@12周年:2011/10/16(日) 20:31:24.70 ID:ka7ATFQ40
>>733
いい加減Javaに統一してくれって言いたいよな。
738名無しさん@12周年:2011/10/16(日) 20:33:57.52 ID:S6ToEdjW0
>>730
つっか、今のCPU (オレのはCore2Duoだが)
って基本、8086だろ?
739名無しさん@12周年:2011/10/16(日) 20:35:16.78 ID:S6ToEdjW0
>>730
それに
>>429
に示したように、今のWindowsって、基本、DOSだろ?

(それは違うw)
740名無しさん@12周年:2011/10/16(日) 20:37:46.34 ID:ireOBfYy0
>>738
Core2だってx86の流れだろう?
741名無しさん@12周年:2011/10/16(日) 20:38:42.10 ID:S6ToEdjW0
>>740
うむ。そう思う。
多分100年経っても、NOP=0x00だと思うw
742名無しさん@12周年:2011/10/16(日) 20:39:45.39 ID:J73avyb70
何年経っても0xCCはブレイクでww
743名無しさん@12周年:2011/10/16(日) 20:41:45.45 ID:01MA55lU0
100年前から halt は 0x76 だ
744名無しさん@12周年:2011/10/16(日) 20:41:57.28 ID:R6p00iOL0
いつかはx86もVMが標準になるんだろうけど
まだまだnativeの速さにゃ分があるか
745名無しさん@12周年:2011/10/16(日) 20:44:27.58 ID:VWrQ4faa0
(*゚ー゚)言語
(#゚;;-゚)言語
746名無しさん@12周年:2011/10/16(日) 20:44:32.76 ID:h8tcq4eP0
無料のフルISOC99 Cコンパイラ

Tiny C Compiler
ttp://bellard.org/tcc/

いい時代になったもんだな。
747名無しさん@12周年:2011/10/16(日) 20:46:01.65 ID:YrTbu6c60
>>737
Javaってサーバサイド専用言語になっちゃってない?
メモリもよく食うよね。
748名無しさん@12周年:2011/10/16(日) 20:46:11.58 ID:ireOBfYy0
>>743
100年前ってと1911年?
歴史はとんと判らんが、所謂コンピューターが
できたのって、1900年代半ばじゃなかったか?
749名無しさん@12周年:2011/10/16(日) 20:46:25.15 ID:HHAQRIBP0
>>746
GCCは無料ですよ。
しかも、かなり昔から・・・。
750名無しさん@12周年:2011/10/16(日) 20:49:59.38 ID:S6ToEdjW0
そういや、LSI C-86 v3.30c 試食版 ってまだあるのか?と思ったら、
まだあるので、ちょっと驚いたw
751名無しさん@12周年:2011/10/16(日) 20:50:52.42 ID:h8tcq4eP0
>>749
知ってる。
windows界隈ではインスコが面倒だと思う。
752名無しさん@12周年:2011/10/16(日) 20:51:24.66 ID:Jmh+8liLP
ポインタがわからんとか言ってるやつって、
C++のテンプレートとか、ジェネリックプログラミングとかも
理解できないんじゃないだろうか。ベタとメタの区別がつけられない脳
なんじゃないかと思う。
753名無しさん@12周年:2011/10/16(日) 20:51:29.44 ID:gJl+ujU00
>>749
そもそもGCC自体が有料っていうシチュエーションが一度でもあったかしら。
寄付は出来るしパッケージにして売るのは誰でも出来るけど。
754名無しさん@12周年:2011/10/16(日) 20:54:31.24 ID:S6ToEdjW0
>>749
GCCはGPLなところが気に食わんw
GPLのナニが気に食わないかというとMySQLがGPLなので気に食わんのw
755名無しさん@12周年:2011/10/16(日) 21:00:00.95 ID:01MA55lU0
>>748
細かいこと気にすんな
756名無しさん@12周年:2011/10/16(日) 21:03:14.81 ID:eq0f1Unx0
今はWEb系でどうたらとか書いてるやつがいたけど
WEB系でもブラックボックス作るときとかはC便利だよ。
クラウドでもセキュリティ上がるし、簡単
757名無しさん@12周年:2011/10/16(日) 21:05:24.73 ID:01MA55lU0
>>754
ないんやそれ、わけわからんな
758名無しさん@12周年:2011/10/16(日) 21:07:27.68 ID:rZsr/YfTP
>>737
Javaみたいな生産性低い言語に統一されたくないな。
759名無しさん@12周年:2011/10/16(日) 21:07:48.13 ID:ajwSrKYaP
>>253
Space War!はMITの学生さんの作品でDEC PDP-1のアセンブリ言語で
記述されてたはず。UNIXより古いよ
760名無しさん@12周年:2011/10/16(日) 21:10:24.82 ID:rZsr/YfTP
>>756
CでWebに限らずネットワークプログラミングするのは
セキュリティを確保するのが面倒だけど、
なにかいいチェックツールでも使ってんの?
761名無しさん@12周年:2011/10/16(日) 21:11:38.00 ID:S6ToEdjW0
>>757
MySQL 企業 ライセンス
あたりでググってくれ。結構悩んでいるヒトって多いと思うぞw
762名無しさん@12周年:2011/10/16(日) 21:13:21.51 ID:rZsr/YfTP
>>761
GPLがいやなら買えばいいじゃん?
何を悩む必要がある。
763名無しさん@12周年:2011/10/16(日) 21:13:33.54 ID:LgGcqw590
>>754
DBはポスグレ、コンパイラはLLVMですね。わかります。

FreeBSDはチャレンジャーだな、と思う今日この頃。
764名無しさん@12周年:2011/10/16(日) 21:21:12.38 ID:h8tcq4eP0
>>761
結構複雑なんだね。
買うか訴訟で白黒つけようかって話なのかw
765名無しさん@12周年:2011/10/16(日) 21:24:30.59 ID:01MA55lU0
MySQL も Java も Solraris も悲しことにボラクル配下になっちまったからな
前みたいに使いたいとは思わないな
766名無しさん@12周年:2011/10/16(日) 21:27:52.67 ID:rZsr/YfTP
>>764
何を読んだか知らないけど、誤解・間違い情報で把握してると思うぞ。
767名無しさん@12周年:2011/10/16(日) 21:28:50.75 ID:Yn9nlkyv0
>>752
ポインタは概念が難しいんじゃなくて
表記法が紛らわしいのが問題なんだと思う
あれはソース読んでて辛い
768名無しさん@12周年:2011/10/16(日) 21:29:07.62 ID:k15bNYte0
>>748
紀元前150-100年 アンティキティラ島の機械
769名無しさん@12周年:2011/10/16(日) 21:29:16.53 ID:XX7ww/030
>>751
MinGWが簡単に入ったけど。
770名無しさん@12周年:2011/10/16(日) 21:32:29.17 ID:rZsr/YfTP
>>765
MariaDBとOpenIndianaに期待しようぜ。
Javaはもう個人的には見捨ててるのでどうでもいいや。
771名無しさん@12周年:2011/10/16(日) 21:37:37.03 ID:neGTMGJu0
>763
つJuniper
772婆 ◆HKZsYRUkck :2011/10/16(日) 21:38:22.18 ID:q5nziOp50
>>769
あ、俺もMinGWの人だ。統合開発環境はReloさん。
CygwinよかGPL縛りが少ないのでうれしいのだ。
773名無しさん@12周年:2011/10/16(日) 21:40:03.67 ID:1i8g9leS0
ポインタはややこしいのは事実だが、ポインタよりややこしいことはプログラミングやってればいくらでもあるわけで。
最初に少し躓くぐらいならいいけど、何回勉強しても分からないってのは向いてないか、もしくは実践せず理論だけ勉強しているからだろう。

あと、C++以降の参照も、基本的にはポインタと機能的には共通する部分が多いので、
ポインタが理解できないと、参照もきちんと理解できなくてバグだらけになりそう。
774名無しさん@12周年:2011/10/16(日) 21:42:50.60 ID:neGTMGJu0
Cは最初smallCから入ったけど、余計なことできない分簡単だったよ。
775名無しさん@12周年:2011/10/16(日) 21:43:57.55 ID:8EoSjf/P0
cygwin使うよりVirtualBoxにlinux入れたほうが良いと思う
776名無しさん@12周年:2011/10/16(日) 21:48:06.14 ID:HHAQRIBP0
>>775
それって、ちょー不安定でしょ。
BSD上のVirtualBoxにXPが、鉄板。
777名無しさん@12周年:2011/10/16(日) 21:48:52.32 ID:+Nisv+aL0
ポインタは「どこでもドア」だと思えば良いんだよ。
ドアは1つだけど行き先を指定できて、(転送を伴わず)物理的にアクセスできる。
778名無しさん@12周年:2011/10/16(日) 21:49:35.98 ID:8EoSjf/P0
全然不安定じゃないよ。少なくともubuntu系列は
779名無しさん@12周年:2011/10/16(日) 21:52:29.25 ID:8EoSjf/P0
unityはちょー評判悪いけど
780名無しさん@12周年:2011/10/16(日) 22:05:10.93 ID:k15bNYte0
うぶんちゅ
781名無しさん@12周年:2011/10/16(日) 22:06:24.03 ID:5Yac+NXq0
ポインタは解説書の教え方も良くないと思うんだよね。
「ポインタはメモリのアドレスを示す変数である(キリッ」で始まって
その次にメモリ1バイトとポインタ変数一つを矢印で結んだ図を一つ
示すだけで終わってるような糞な解説書が山のようにあるからな。
782名無しさん@12周年:2011/10/16(日) 22:10:26.40 ID:n05QX6zP0
ポインタがわからないやつはゆとり
783名無しさん@12周年:2011/10/16(日) 22:13:32.93 ID:WdxzD6L70
ジョブズより1000000000000000000倍偉大なのにな。
784名無しさん@12周年:2011/10/16(日) 22:13:37.35 ID:Pf+CRdEf0
>>781
メモリ1バイトと「そのアドレスと」ポインタ変数一つを矢印で結んだ図
ではない?
785名無しさん@12周年:2011/10/16(日) 22:14:42.00 ID:ivSNhFhP0
>>685
そう
786名無しさん@12周年:2011/10/16(日) 22:15:37.25 ID:62xAPsZG0
ポインタは、アセンブラのアドレッシングモードをC言語で実装したものである。
あとは、アセンブラやれで、いいじゃん。
787名無しさん@12周年:2011/10/16(日) 22:16:37.70 ID:WdxzD6L70
>>777
そういう自己流表現を使う人が、
初心者が路頭に迷う原因を作る。
788名無しさん@12周年:2011/10/16(日) 22:19:51.79 ID:ZNX5k6TC0
>>719
JAVAはゲーム感覚、C/C++は茨の道、アセンブラは地獄へ通じる道、バイナリ直接いじるのは人間辞めてる人用
789名無しさん@12周年:2011/10/16(日) 22:21:56.19 ID:wOTgQlHh0
F社バブル入社でメインフレーム主体の部署配属されたのに
なぜかUNIXとCから入ったオレはラッキーだった
790名無しさん@12周年:2011/10/16(日) 22:22:54.58 ID:wOTgQlHh0
>788
えー
バイナリパッチはパズル的楽しさがあるし
あんくらいできないとプロとは言えんでしょ
791名無しさん@12周年:2011/10/16(日) 22:23:22.64 ID:y53esEbv0
計算機の中のことなんて一々考えてられないよ
プログラムのテクニックなんて遠い昔話
792名無しさん@12周年:2011/10/16(日) 22:25:53.52 ID:gJl+ujU00
>>787
コンピュータ屋って変なたとえ話好きよね。
クラスとインスタンスを何に例えるかでその人の性格が分かる。
一番良いのはたとえ話にせずに用語を覚える事だと思うけど。
793名無しさん@12周年:2011/10/16(日) 22:28:40.51 ID:NU4WRZDH0
未来 = 俺 ? ヒキ : ニート;

無駄なIf文を駆除できる三項演算子マンセー!
794名無しさん@12周年:2011/10/16(日) 22:32:41.93 ID:KF3UGYne0
ポインタを理解するにはCコンパイラが吐き出したアセンブリコードを読むのが
一番オススメ
まあ別にポインタに限らないが…
795:2011/10/16(日) 22:35:07.94 ID:ZQYrJaAy0
会社のベテランSEからCOBOLとCを仕込まれた。オレ文系で簿記のスペシャリスト目指してたのに先ずJavaとRuby勉強させられてようやく経理に戻れるかと思ったのに。しょうがないからプロジェクトマネージャーでも目指すかなぁ。
796名無しさん@12周年:2011/10/16(日) 22:36:40.19 ID:lSr9Xgbc0
ジョブズよりよほどコンピュータ関係の業界に大貢献したリッチー やすらかに
797名無しさん@12周年:2011/10/16(日) 22:37:06.82 ID:f0JFcWwp0
ポインタの概念自体は簡単だと思うけどなー
てか、ポインタ周辺の配列とか文字列あたりが絡んだ文法がカオス化してるのが分かりづらいんじゃないね?
798名無しさん@12周年:2011/10/16(日) 22:38:29.37 ID:c5EabGSw0
>>789
メインフレームから専用機、UNIXからWINDOWS,PCも鯖もCOBOLもCもVBもshellもJCLもhtmlも何でもやったよ、俺。

挙句の果てに体壊して退職、現在はバイト生活だ(泣)。
799名無しさん@12周年:2011/10/16(日) 22:38:36.79 ID:62xAPsZG0
文法が悪いのは、間違いない
800名無しさん@12周年:2011/10/16(日) 22:39:15.98 ID:LgGcqw590
>>771
Juniperがわからなかったのでググってきた。
おー、FreeBSDも支援してる企業がいるんだ。
801名無しさん@12周年:2011/10/16(日) 22:40:20.96 ID:uyqkgamY0
rm -rf "Masayoshi Son"
802名無しさん@12周年:2011/10/16(日) 22:44:02.55 ID:neGTMGJu0
>792
変な例えされると、概念を知っていても結びつかなかったりするしな。
803婆 ◆HKZsYRUkck :2011/10/16(日) 22:45:32.04 ID:q5nziOp50
>>792,>>802
喩え話じゃないけど、最初に読んだクラスの解説が、
「ネコのクラスを作ってみましょう」だったw
元クラスのネコ(にゃーと鳴く)を継承してメンバ変数メンバ関数
(毛の色とかネズミを捕るとか)増やしていくんだけど、
「ネコの本質とはニャーと鳴くことなんだろうか?」
という疑問が気になって頭に入らんw
804名無しさん@12周年:2011/10/16(日) 22:55:25.70 ID:wOTgQlHh0
>798
オレもC、VC++、UNIX、Windows、P言語、Java、その他いろいろやった
メインフレームはLDLちょっとかじったかな
で、鬱休職w
その後、ラクな部署に配置転換
805名無しさん@12周年:2011/10/16(日) 22:57:50.91 ID:neGTMGJu0
>803
prologの説明で、犬で例えたのを見たこと有る。
頭の中ではDBのテーブル、レコード、インデックスのようなイメージ(もう少し複雑だけど)でモデル化してるので、クラスの説明がそういう内容だと少し混乱するかな。
806名無しさん@12周年:2011/10/16(日) 23:00:29.87 ID:k15bNYte0
Whitespace
Piet
807名無しさん@12周年:2011/10/16(日) 23:06:06.94 ID:yqZZM+h+0
>>798とかか技術は高そうなのに仕事に窮するって人多そうだな。
でもPGってのはいつの時代も必要なわけで、レベルの下がった今の新人を鍛えるより、
こういう人を採るほうが効率的だと思うんだが。
新卒PG育成の場面を見ていつも思う。
808名無しさん@12周年:2011/10/16(日) 23:10:26.99 ID:CGTkc3XZ0
あー死んじゃったのか
コボルのおばあちゃんも死んじゃうし
今の時代の基礎を担った人がどんどんいなくなっちゃうな
809名無しさん@12周年:2011/10/16(日) 23:11:51.56 ID:WNjkptsG0
新人にポインタ教えるためにブラウザゲー用のチートアプリ落として、
この7Eうんちゃらがアドレスでvalueが値。
アドレス入れるのがポインタでvalue入れるのが変数ってやってたら
始末書書かされた。
810名無しさん@12周年:2011/10/16(日) 23:12:21.95 ID:kfzHqJ590
いずれ誰もCを使わなくなっても、COBOLはしぶとく残ってるんだろな
811名無しさん@12周年:2011/10/16(日) 23:13:52.49 ID:CGTkc3XZ0
>>809
ワロスwwwむしろそういう方が早く覚えるのになwww

>>810
Cもしぶといと思うぞ、高級アセンブラとしての地位はもう不動だろ
812名無しさん@12周年:2011/10/16(日) 23:14:55.33 ID:vJsjcUQs0
Linux とかコードのスレだと
市ねカスとか小学校からやり直せとか書かれちゃうけど、
ν速+の住民からはそれが無いのがすばらすい。
813名無しさん@12周年:2011/10/16(日) 23:15:57.83 ID:c5EabGSw0
>>807
年齢的にITはどこも雇ってくれそうにないんでVisualStudio買って自宅で趣味でプログラムはやろうと思ってる。
814名無しさん@12周年:2011/10/16(日) 23:16:29.23 ID:rSM2x23c0
>>796
禿同
ま、文系のやつらにはわからんな


>>797
ポインタのポインタまでは問題ないが、ポインタのポインタのポインタは相当集中しなければかけないな。
で、後からみても分けわかんなくなる
815名無しさん@12周年:2011/10/16(日) 23:17:29.29 ID:CGTkc3XZ0
>>813
中小の社内SEとかの口は無いん?
中小なら即戦力ウェルカムだろうし
便利屋的に動けると重宝されると思うけど
816名無しさん@12周年:2011/10/16(日) 23:18:47.70 ID:Q41xcwXB0
Cは仕事で使わない限りはもう触らなくてもいい言語だよ
参照だのイテレーターだの概念の元はポインタだからCを最初にやるべきって人もいるけど
それはそれで学べばいいと思う
817名無しさん@12周年:2011/10/16(日) 23:19:35.55 ID:vJsjcUQs0
>>813
参考までに歳聞かせてよ。
恐らく、俺の方がもっとトホホだよ。
818名無しさん@12周年:2011/10/16(日) 23:24:08.92 ID:neGTMGJu0
>815
プログラマとして復帰したいのでなければ、販売系のSEでも重宝されると思うよ。
それなりにプログラムできると新しいものが出てきた時に飲み込み早いから。
リクルートとか人材バンクに登録しておくと良い。
819名無しさん@12周年:2011/10/16(日) 23:27:13.64 ID:vJsjcUQs0
プログラマは慢性的に足りないよ。
自分を売り込め。
820名無しさん@12周年:2011/10/16(日) 23:27:14.78 ID:5NnJpMXm0
char c[3]; /* 文字列 */
char *p = c; /* 文字列cを代入できるポインタp */

で、ここからが問題。
文字列の配列 char s[3][5] がある時、
以下の変数pは明示的キャストなしにsを代入できるか?
char **p;
char *(*p);
char *p[5]
char (*p)[5];

そんでもってもう一つ。
関数 char *p() を明示的キャストなしに代入できる関数ポインタを記述せよ。

最後に、以下の宣言は有効か?
char *p()[5];
char (*p[5])();

こういうのって、ポインタが理解できてるかどうかじゃなくて
単に宣言構文の解析をちゃんと理解しているかどうかだよね…。・3・;
821813:2011/10/16(日) 23:28:47.56 ID:c5EabGSw0
>>817
47

たぶんリーマンショック前なら何とかなったと思うんだが。現場にも60近そうなおじいちゃん、おばあちゃんの技術者
結構見かけたし。俺が辞めた頃はとんと見なくなったな。
822名無しさん@12周年:2011/10/16(日) 23:29:47.35 ID:R8nYLbxA0
>プログラマは慢性的に足りない・・・・

家電、パソコン周辺機器の分野ではバシバシ削減してるけどね
823名無しさん@12周年:2011/10/16(日) 23:30:52.69 ID:kfzHqJ590
>>819
職務経歴にCOBOLは書かない方がいいな
それだけで後はずっとCOBOL漬けにされるから
824名無しさん@12周年:2011/10/16(日) 23:31:41.73 ID:Pf+CRdEf0
>>813
ExpressEditionじゃダメなの?
825名無しさん@12周年:2011/10/16(日) 23:33:18.54 ID:vJsjcUQs0
>>821
ありがとう。
思った通り。若いね。俺50代半ば。
俺たちの世代のやるべき仕事ってのも
まだまだあるし。
追い越されたような気持ちにならないことが
追い越すんだよ。
ガンバレ。
826名無しさん@12周年:2011/10/16(日) 23:35:18.62 ID:Pf+CRdEf0
>>823
書いた。
転職先で20年ぶりにCOBOL書かされたよ。
827名無しさん@12周年:2011/10/16(日) 23:37:24.72 ID:1GKS1lN30
すごく不思議に思うこと
公共機関のマシンで1年の日数を365固定で計算してバグが出たって記事のスレがちょくちょく立つけど、あれは一体なんなのか
閏年の計算も満足にできず、しかもデバッグもしないで納品してんのかと
828名無しさん@12周年:2011/10/16(日) 23:37:40.61 ID:B+mA2h6y0
>>277
>>278
>>285

サンクス。
HSPは手を出していたんだが、
ゲームのスクリプトってどう書かれてるのかが分からなかった。
そういうところからはじめればいいのか。
やっぱ自己流オンリーってのはダメだわな。
とりあえずそのフリーゲームでも探してくるとしよう。
829名無しさん@12周年:2011/10/16(日) 23:39:46.01 ID:i2dRVtzV0
>>827
ゆとり世代じゃ?
πが3とか一年が365日とか脳がつるつるになってるレベル。
830813:2011/10/16(日) 23:39:49.73 ID:c5EabGSw0
>>825
それが家庭の事情で困難なのよ。

1.将来的に家業を継がなければならない。
2.両親はどうせもう後そんなに長生きしない年齢だけど障害者の姉(当然結婚してない)
  抱えてるんでずっと面倒を見なきゃならないのでまた体壊す可能性の高いIT職に
  着くのはリスクが伴う。
831名無しさん@12周年:2011/10/16(日) 23:40:16.67 ID:FctlPeAb0
>>820
Cの宣言構文は、失敗だったと、本人も認めてたよな、確か。
ほとんどクイズな難解なものになってしまってる。
832名無しさん@12周年:2011/10/16(日) 23:40:42.61 ID:kfzHqJ590
>>825
そのお年だと業界に入った頃は汎用機からですかね?
833名無しさん@12周年:2011/10/16(日) 23:41:27.86 ID:HHAQRIBP0
>>828
まあ、最初はNetHackのチートから始めれば?
834名無しさん@12周年:2011/10/16(日) 23:42:00.15 ID:44Ua7YrR0
追悼スレかと思ったら
プログラマーズサロンでしたか
835名無しさん@12周年:2011/10/16(日) 23:44:45.31 ID:SMH7pzMF0
機械語→アセンブリ言語→C→C++
の順番でやるべきだろ、ものには順序ってもんがある
リッチーさんだってこの順序でやったはず
最初にどの言語やるかでプログラマとしてどのレベルまで逝けるか決まるよ
836名無しさん@12周年:2011/10/16(日) 23:45:36.66 ID:Pf+CRdEf0
>>831
はじめはシンプルだと思って覚えたけどな。
なぜか第2版が出たときにちょっと悩んだ。
837名無しさん@12周年:2011/10/16(日) 23:45:41.30 ID:vJsjcUQs0
>>830
了解した。人それぞれ、色々あるね。
けど、
時間が許す範囲で、地道に取り込むのは良いかも。
何にせよ、あたなの境遇をお察しします。
838名無しさん@12周年:2011/10/16(日) 23:48:14.70 ID:Pf+CRdEf0
>>835
COBOL→C(囓り)→Z80→C→C++→Java→C#→COBOL
839名無しさん@12周年:2011/10/16(日) 23:48:37.90 ID:WNjkptsG0
>>827
役所のCOBOLソースで○○会計1〜365まで変数宣言してあった事があると
上司が言ってたが、多分そういう事なんだろう。
自分も住基ネットで仕様書の量が足りないと突っ返されたことがあるし、
あいつら量りか何かで納品物見てんじゃないの
840名無しさん@12周年:2011/10/16(日) 23:53:14.82 ID:62xAPsZG0
> あいつら量りか何かで納品物見てんじゃないの
厚みで決めるって言うよな
841名無しさん@12周年:2011/10/16(日) 23:54:52.82 ID:Pm1sTUFx0
(‐人‐)
842名無しさん@12周年:2011/10/16(日) 23:57:03.49 ID:Q41xcwXB0
>>814
オレ文系だけどリッチーの方が偉大だと思ってるよ

>>828
ゲームを作るためには必ずしもプログラミングが必要になるとは限らないけど
それは大丈夫なのかな?
ゲーム製作用スクリプトやツールを使ってゲームを作る事と
プログラミングを勉強することとは分けて考えた方が良いよ
843名無しさん@12周年:2011/10/16(日) 23:57:32.64 ID:neGTMGJu0
>839
ライン数で金額を算定してる所も有るから、ページ数で見てるんじゃないの?
重さなら上質紙で出せば稼げるし。
844名無しさん@12周年:2011/10/16(日) 23:59:50.00 ID:62xAPsZG0
C言語を使うソースでも、ライン数を出せっていう場合もあるしな。
845名無しさん@12周年:2011/10/17(月) 00:00:14.18 ID:o+2EAGQC0
本物の理系ならこんな技術屋さんは評価しないだろうよ
846名無しさん@12周年:2011/10/17(月) 00:01:55.44 ID:2fmgsv/N0
>>844
行の水増しなら幾らでも出来るが、ポリシーが邪魔をする。
つうか、コーディング規約があるからあまり変な行は作れないよね。
847名無しさん@12周年:2011/10/17(月) 00:03:45.48 ID:rIiFKEOf0
ここ数年はないけど、5年前くらいまでステップ数で見積もり出せって言われてたよことあったよ
ライン数ってのもあってコメントもライン数に入れてた
無意味にヘッダを長くしたことあったな
848名無しさん@12周年:2011/10/17(月) 00:05:27.65 ID:chB1iqn1P
そもそも人月って単位からしてインチキなんだし
849名無しさん@12周年:2011/10/17(月) 00:08:58.99 ID:6jZPrwdq0
ステップ単価。ふぅ〜。
少なくとも、COBOLよりは本質的なステップ単価は高いと思うよ。
けどね、時代が許さん。
850名無しさん@12周年:2011/10/17(月) 00:10:13.45 ID:gZqKuoYq0
>>842
ああ、そういえばゲーム作りと言語習得は別物って
ネットや本で散々みたけど、言われて気がついたわ
851名無しさん@12周年:2011/10/17(月) 00:10:18.89 ID:zpM2FTo90
>>848
今は、人月で見積もってやる請負開発のビジネスモデルは、すでに崩壊してる。
けど、エライ人や営業の人は、それが分からない。
852名無しさん@12周年:2011/10/17(月) 00:11:41.64 ID:5LwC/BrN0
ポインタは
メールにファイルを添付して送りつけるのが数値渡しで、
メールにファイルが格納されてるサーバー名を書いて送るのがポインタ参照
ってイメージだとわかりやすいと聞いた
853名無しさん@12周年:2011/10/17(月) 00:11:44.99 ID:rtVo2v120
懐かしい。。
新人の頃(20ん年前)に最初に驚いたのがそれだったなぁ
ソースのステップ数で見積もりするんだーーと(w
854名無しさん@12周年:2011/10/17(月) 00:18:40.55 ID:jIZQFVQA0
>>845
コンピュータサイエンスの歴史が浅いのだから、技術屋に見えるのは仕方がない。
855名無しさん@12周年:2011/10/17(月) 00:18:41.14 ID:6jZPrwdq0
ステップ単価って、アセンブラならフェアですね。
今の言語では、1行の示唆する内容が霊的(?)に多いでしょ。
あ、ここはデニス・リッチーさんの訃報スレだから、それは無いか。
856名無しさん@12周年:2011/10/17(月) 00:21:07.58 ID:gdicVrbw0
プログラミングに文系も理系も関係ないだろう。中学生でもできるんだから。
統計解析や3Dを直接いじるなら高等数学使うだろうけど。

あと、他のあらゆる勉強と同じで、本読むより手を動かしたほうがいい。
実践が先で理論は後。
857名無しさん@12周年:2011/10/17(月) 00:29:21.76 ID:6jZPrwdq0
>>856
文系も理系も全く関係ありません。
特にコンピュータは。
もっと言うと、理系の仕事も文系がやってますし、その逆もありです。
現実に文学の人がペンチや半田ごて握ってますよ。
出会いか「縁」でしょうかね。
858名無しさん@12周年:2011/10/17(月) 00:37:18.21 ID:Jpj4p3lM0
>>844
SQLの場合、俺は1行に一個ずつホスト変数を書いていた。
ステップ数稼げるってのもあるけど書いてあるホスト変数に漏れがないか
否かテーブル定義書と横並びにして見ると分かりやすいんだわw。
859名無しさん@12周年:2011/10/17(月) 00:50:47.61 ID:w3tU+mP/0
>>769
報告ご苦労。
860名無しさん@12周年:2011/10/17(月) 00:52:18.67 ID:AjEb/rxm0
カニ玉
861名無しさん@12周年:2011/10/17(月) 00:52:41.21 ID:6BSGBSNG0
while( *dst++ = *src++ );

で1ステップと数えられるのかねぇ
862名無しさん@12周年:2011/10/17(月) 00:57:49.35 ID:klOmJluOO
>>828
>ゲームを作るためには必ずしもプログラミングが必要になるとは限らないけど
>それは大丈夫なのかな?
>ゲーム製作用スクリプトやツールを使ってゲームを作る事と
>プログラミングを勉強することとは分けて考えた方が良いよ

今はそうなのか
昔はゲームプログラムが一番勉強になってたもんだが
863名無しさん@12周年:2011/10/17(月) 01:16:30.99 ID:2fmgsv/N0
>>858
あとでいじり易いのもあるかも。
864名無しさん@12周年:2011/10/17(月) 01:20:48.79 ID:6BSGBSNG0
>>860
カニチャーハンじゃなくて?
865名無しさん@12周年:2011/10/17(月) 01:24:05.90 ID:124iA38W0
>>862
ゲームはゲームプログラミングっていう別の分野と思ってる。ORACLE使えんのって話。
WEBアプリの会社にゲームプログラマが来ても経験年数に因らず素人。逆も然り。
866名無しさん@12周年:2011/10/17(月) 01:25:06.85 ID:RqiCDUzY0
最近のはシナリオゲームが多いんじゃね?
867名無しさん@12周年:2011/10/17(月) 01:27:51.80 ID:lweOjS+k0
言語の習熟だけに頼ってると別言語来た時に死ぬ
868名無しさん@12周年:2011/10/17(月) 01:29:27.51 ID:TK35kqyE0
でもGoF本ですらゲームをネタに解説してるくらいだから
ゲームから入ってもいいんじゃね?^^
モチベ維持にも好きなところから入らないとね…眠っちゃうw
869名無しさん@12周年:2011/10/17(月) 01:35:38.44 ID:YaEaRg4J0
>>865
何をゲームと呼んでるのかは判らないけど
一般的にはゲーム作ってた人ならWEBアプリとかは児戯でしょうね。
870名無しさん@12周年:2011/10/17(月) 01:40:24.46 ID:LJfKeInr0
>>869
WEBアプリって、
プログラマーっていうより、
デザイナー寄りっていうイメージだな。

魔法剣士とパラディンとの違いみたいな。
871名無しさん@12周年:2011/10/17(月) 01:45:26.90 ID:jIZQFVQA0
>>865 >>869
全く違うもの同士を比較しても意味ないな。
872名無しさん@12周年:2011/10/17(月) 01:51:28.65 ID:lweOjS+k0
どっちも情報システムである以上同じ物だろ
自分で出来る所はやってデザインっぽい所は人に投げると
でも特定環境での開発経験だけに頼ってると
ちょっとインターフェースや実行環境変わっただけで途端に対応出来なくなる
きちんと理論も固めとかないと潰し効かないよ
873名無しさん@12周年:2011/10/17(月) 02:08:33.13 ID:+BvcAizt0
Cは自分でツールを作ってプログラミング環境を便利にしていくための土台にするもの
Cでアプリケーションを作ることは大きなミス
874名無しさん@12周年:2011/10/17(月) 02:13:43.07 ID:rIiFKEOf0
>>862
レス元の>>276は同人ゲームつってるから
商用かは知らんが、配布して人に楽しんでもらうゲームを作ろうとしてるんだろう
C習得のためにじゃんけんゲームを作ってみましょうってのとは違うと思う

>>873
例えばどんなもの作ってるんだ?
875名無しさん@12周年:2011/10/17(月) 02:14:11.78 ID:YaEaRg4J0
まあゲームもWEBアプリもいろいろあるけれど
WEBアプリの場合はUI設計と定型処理でほぼ終わってしまうのに対して
ゲームの場合はその先が本質になるね。
ストーリーに関わる仕掛けであるとか、大量のパズル構築であるとか。
プログラムという観点で考えれば、やはりゲームのほうが構想が複雑にならざるを得ない。
その意味では、WEBアプリがデザイナー寄りというのはあるよ。逆にいえばWEBアプリの表現の主体はそこだし、
そういう瞬間のデザインを表現したい人間が興味をもつ分野だからね。
876名無しさん@12周年:2011/10/17(月) 02:14:24.02 ID:AjEb/rxm0
>>864
甘酢あんかけうま
ゲーム作って覚えるのはいいねザナドゥ。ゲーム屋辞めて何でも屋やってま
877名無しさん@12周年:2011/10/17(月) 02:15:48.65 ID:6BSGBSNG0
純粋なCで現代のGUIのアプリを作るのは流石にもうやらんだろ。

Cで勉強して欲しいのはデータ構造とそれに合わせたアルゴリズムの実装。
そこからデータ構造の選択とアルゴリズムが不可分で有ることを納得してからオブジェクト指向に入るとすんなり理解できるだろ。
878名無しさん@12周年:2011/10/17(月) 02:16:54.37 ID:Q3PJ1HMf0
>>873
それはCとC++を区別して言っているの?
879名無しさん@12周年:2011/10/17(月) 02:49:34.47 ID:TkXA0Lti0
今更ながら一番メジャーな言語って何だ?
まさか英語じゃないだろうな?w
COBOLか?
880名無しさん@12周年:2011/10/17(月) 02:49:52.76 ID:jIZQFVQA0
>>872
俺へのレスかな?

>どっちも情報システムである以上同じ物だろ

乱暴すぎる。たとえば一言Webアプリってったって、
・ブラウザで動くもの
・専用アプリで動くもの
・スマホなんかを対象にしたもの
いろいろあるよね?

上のは動作環境で分けたけど、ジャンルにしたって
・ネットバンクだったり
・Flashのゲームだったり
・動画配信だったり
複数の種類があるのに、それらを一括りにはできんしょ?

基盤となる技術は同じものかも知れんが、
これらアプリを同じものとは言えんよ。
881名無しさん@12周年:2011/10/17(月) 03:01:42.91 ID:taGjM+920
例えば列車の運行管理みたいなカタイものはいまでもCで書くものなんでしょ。
882名無しさん@12周年:2011/10/17(月) 03:16:51.84 ID:1iLsm5hp0
>>862
今時の3Dバリバリのゲームなんかだと、プログラマ数十人とか平気で使ってたりするし
デザイナも然り、完全に分業制になってる
プログラマもデザイナもプランナも、それぞれがそれぞれの分野を好きで始めた(あるいは長い専門教育を受けた)人間で、
それらが全員で力を合わせて大規模なゲームを作る感じになってきてる
(日本はそれについていけない会社も増えてきて、携帯ゲーとかに流れるようにはなってるが)

同人とは言ってたものの、3Dのプログラミングで黄昏フロンティアみたいなレベルを目指すなら
3D等の難易度の高いプログラミングを習得すること以外に時間を割くのはマジでありえない。
一人で作ろうとするまえに、仲間を増やすべき。
逆にサウンドノベル程度でいいのなら、一人でもスクリプトで動く開発ツールさえ使えればいいから、Cなんて覚える必要ない
883名無しさん@12周年:2011/10/17(月) 03:21:29.83 ID:Jl0rdzIB0
ITスカウターで測定したIT戦闘力

スティーブ・ジョブス 1億2000万
孫正義 5800万
デニス・リッチー 320万
ビル・ゲイツ 2
884名無しさん@12周年:2011/10/17(月) 03:26:20.32 ID:TkXA0Lti0
>>883
良く分からんが何を指標にしてんだ?
金ならゲイツだろうしプログラミングならデニス、ゲイツの順番だろう。
詐欺師力か?w
885名無しさん@12周年:2011/10/17(月) 03:32:50.82 ID:khZiofFU0
アセンブラをやれば「C便利なー」って思うし
C漬けになれば「Java便利、仮想マシンいいなー」って思うし

その時々で便利なブツ使ってけばいいと思う
886名無しさん@12周年:2011/10/17(月) 03:34:37.03 ID:6BSGBSNG0
だから経営者のジョブズと技術者・研究者のリッチーを同じ価値観の軸で並べる事に何の意味があると。

ジョブズとゲイツを比較するとか、リッチーとカーニハンを比較するとかならともかく、
たまたま同時期に死んだ二人を比較するとか意味無いだろ。
887名無しさん@12周年:2011/10/17(月) 03:38:19.43 ID:OYDYJSXFP
>>885
その通りなんだけど、最近のプログラマはアセンブラもCもやらないで
JavaやVB漬けになってるから、アセンブラやCに行けない。
システム寄りのプログラムを書かせようとすると、無理なんだよね。
カーネルデバッガも使えないと思う。
888名無しさん@12周年:2011/10/17(月) 03:53:55.92 ID:uNLCyR3F0
>>820
1.
×
×
×


2.
char *( *f )();

3.
×
889名無しさん@12周年:2011/10/17(月) 04:00:07.43 ID:EKOYwRVl0
>>820
そんなややこしい書き方して誰得
890名無しさん@12周年:2011/10/17(月) 04:27:04.73 ID:jrarPNZU0
gtk を使って、 GUI アプリとか、まだまだ普通に作るよ。
GUI なら C から扱ってもそれほど困難なことはではないから平気。

アプリによっては、
Java や、 C++ を boost ライブラリと一緒に使ったりしたほうが
オブジェクトの動的な生成・廃棄を頻繁に行うようなアプリケーションなら、
C でやるよりも楽だったりはするけれど。
891名無しさん@12周年:2011/10/17(月) 04:29:02.63 ID:9IRCYsGm0
>>828
人の書いたもの見るのは勉強になるよ
カンタンそうなものからはじめようぜ

あとツールで思い出したけど今ってアドビのAuthorwareみたいなのないのかな?
アイコンを画面に並べるだけでプログラム作れるやつ
あーゆーのが気軽に入手できればだいぶやりやすくなると思うんだけど
892名無しさん@12周年:2011/10/17(月) 04:38:09.65 ID:jrarPNZU0
GUI だと必然的に、構造体と、構造体へのポインタを引数にとる関数などの
なんちゃってオブジェクト指向的なプログラミングスタイルにはなるし、
それならば、 gtkmm でなくとも、 C を使うより C++ から gtk を扱ったほうがとも思わなくもないし、
多態性を前提としたプログラムを書きたい場合は、
わざわざ、 C で関数へのポインタなどを使ってまで実装するよりは、
C++ や、 Java を使ったほうが良いかもしれない。
893名無しさん@12周年:2011/10/17(月) 04:48:04.09 ID:jrarPNZU0
一時期、構造体の動的な生成を容易にし、
なおかつ、ポインタの指し示すオブジェクトの動的な廃棄のために、
malloc をラップしたコンストラクタを自前で実装し、
virtual function table を持たせてデストラクタで廃棄もできるようにしていたものの、
まあ、ポインタの先にぶらさげる構造体を常に一種類にするならば、
後者は必要のないものだった。
894名無しさん@12周年:2011/10/17(月) 04:56:04.73 ID:f/wCHM750
オブジェクト指向って f(x,y,z) を x.f(y,z)って書いてるだけだよな。
何がありがたいのかよくわからない。
895名無しさん@12周年:2011/10/17(月) 05:02:25.63 ID:b9N/THQ/0
Javaでもファームとかミドルも一緒に開発してその上で走るアプリなら最悪アセンブラコードまで追ってデバッグしなきゃならないんだって言っても
「え?仮想マシンなのに?バイトコード追うの?そんな事あるわけないじゃんwww」
って言うレベルが30代でもいるからな
安定したOSとバグのない開発環境が当たり前だと思ってる残念な人が増えたね
896名無しさん@12周年:2011/10/17(月) 05:03:54.77 ID:Pp6TD9Mc0
簡単なプログラムしか作ってないうちは解らない。100万行のコードを書けば理屈もわかる。
897名無しさん@12周年:2011/10/17(月) 05:16:33.33 ID:3o3GX97F0
C言語はもともとアセンブラでプログラミングをするレベルの
マシンを熟知したプロ中のプロのシステムプログラマーが
アセンブラの代わりにC言語で書いて開発することで
生産性を上げかつ移植性を高めるのを目的として開発したもの。
UNIXの普及が背景にあってトランクCコンパイラの移植が
非常に簡単だったためにパソコンで非常に広まって定着した。
 しかし、生半可なプログラマーがコーディングをすると、
バグの入った分かり難いコードを簡単に書けるという面もあり、
今日の多くのセキュリティ問題の原因の多くはC言語を安易に
使った下手糞プログラマーの行数を書いたプログラムが原因だ。
898名無しさん@12周年:2011/10/17(月) 05:19:48.94 ID:OYDYJSXFP
>>894
コードの再利用、視覚的読みやすさの追求、ブラックボックス化による
設計の簡略化かな。
899名無しさん@12周年:2011/10/17(月) 05:23:22.77 ID:f/wCHM750
>>898
構造化プログラミングと同じことを言ってるようにしか聞こえない。
まあ対象となるプログラムの規模と複雑さが違うんだろうな。よく知らないけど多分。
900名無しさん@12周年:2011/10/17(月) 05:38:57.39 ID:OYDYJSXFP
>>899
構造化プログラミングの発展系が、ある意味OOPなんだから
間違ってはいないと思うけど。ただクラスの設計は、ロジック設計と同じで
プログラミングセンスとスキルがモロに出る。スキルもセンスも無い奴が
設計すると悲惨。Cは、コードもシステムも単純だった時代の物なので、
複雑化しシステム上のアプリケーションを書くには色々不便になる事が
多くなった。なので、今時のアプリケーションを書く場合にはC++を使う方
が便利。
901名無しさん@12周年:2011/10/17(月) 05:56:02.74 ID:g7/Si4p20
>>899
GUIのプログラムだと構造体とそれを処理する関数が山ほど出てくるんだよ。
しかも似たようなやつが多い。それをクラスにすれば整理整頓できるだろ?
902名無しさん@12周年:2011/10/17(月) 05:58:15.17 ID:TkXA0Lti0
そろそろ一番ポピュラーな言語の答えを教えてくれ。
やっぱり英語か?
903名無しさん@12周年:2011/10/17(月) 07:11:22.35 ID:w3tU+mP/0
>>894
・カプセル化によりプログラムの扱いやすさが向上。
はガチだとおもう。

インヘリタンス (継承) -- クラスベースの言語
ポリモフィズム (多態性、多相性) -- 型付きの言語
ダイナミックバインディング (動的束縛) -- インタープリタの言語

もあるけど、プログラミング言語Cなら
オレオレルールの実装で自分なりにはそれらしい事がどうにでもなると思われ。
904名無しさん@12周年:2011/10/17(月) 07:18:08.27 ID:gdicVrbw0
>>894
それだけだと仮想関数とかポリモーフィズムが実現できないのでは
905名無しさん@12周年:2011/10/17(月) 07:26:12.51 ID:jrarPNZU0
>>902
http://techcrunch.com/2011/10/13/father-of-c-and-unix-dennis-ritchie-passes-away-at-age-70/

上の元ニュースの原文が

"Today, C remains the second most popular programming language in the world (or at least the language in which the second most lines of code have been written),"

となっているので、一番も二番も、プログラミング・ランゲージのようです。
906名無しさん@12周年:2011/10/17(月) 07:49:24.11 ID:jrarPNZU0
オブジェクト指向については、
デザインパターン関連の本を読んでみられてはどうでしょうかね。

オブジェクト指向を用いなくても実装できるパターンもありますが、
継承や多態性を用いたオブジェクト指向的なパターンで、
なおかつ、実地に使ってみると便利なスタイルのものもあるかと思いますし。

個人的には、オブジェクトを動的に生成したり廃棄したりするような挙動のアプリケーションは、
C で実装するよりも、 Java や、 C++ などのほうがやりやすいと実感するものの、
これは私がそういう実装のスタイルに慣れただけなのかもしれませんし、
Java のガーベジコレクションや、 boost ライブラリ中のスマートポインタなどが便利なだけかもしれません。
907名無しさん@12周年:2011/10/17(月) 07:50:07.22 ID:HYzDT/ku0
>>902
ふつうにCOBOLだよ。
政府や大手企業には膨大すぎるCOBOLの遺産があって
コスト上の問題で他の言語に移行させたくてもできないままいる
908名無しさん@12周年:2011/10/17(月) 07:55:04.22 ID:33tOsYCl0
オブジェクト指向つっても、大掛かりな場所はフレームワークで食っちゃうからなぁ。
factorymethodだのtemplateだのはコードに気使う奴なら自然に実装してるレベルだし。
開発人員で入るレベルなら、リファクタリングでもやっててくれた方がなんぼかマシ
909名無しさん@12周年:2011/10/17(月) 07:58:24.86 ID:Jqt0QQYT0
皆ぁ。クールダウン!
ここは、デニス・リッチーさんへの追悼スレ。
ご本人はどうかな?
ご本人の大発明に皆が論議をしていて、結構うれしいかな?
910名無しさん@12周年:2011/10/17(月) 08:17:46.01 ID:fg/9meL00
これだけの偉人でも70でなくなるわけだ。
俺たちのようなgdgdの生活しているような男性が70まで生きられるだろうか。
年金怪しいよね。
911名無しさん@12周年:2011/10/17(月) 08:26:31.87 ID:j2icb/v60
「いつまで生きるか」「何ももらったか」より「何をしたか」だろな
とはいえ価値観人それぞれだし好きに生きればええがね
912名無しさん@12周年:2011/10/17(月) 08:56:43.54 ID:++i11ZrjP
ステップ数とかほんと死ねってかんじだ。
日本のあいてー産業の程度がここまで落ちたのはロートルどものせいだな。
913名無しさん@12周年:2011/10/17(月) 09:13:18.79 ID:33tOsYCl0
>>912
でもまぁ、未も蓋もない事言えば、BBでやってる大半のシステムって
客がSQL叩いて整形できるようになるだけで費用1/10とかになるような。
914名無しさん@12周年:2011/10/17(月) 09:14:00.23 ID:jrarPNZU0
>>129
独学なら、私は CD つきのムック形式の本を購入し、
もう一台のパソコンに Linux をインストールしたあと、
wakhok のサイトにあった C のページと、坂本文の『たのしい UNIX』を読んで、

その後、不気味な表紙の『Linux プログラミング』と
『詳解 UNIX プログラミング』を図書館で借りて、一通り試してみたあと、
C に行かずに、 Stroustrup の『The C++ programming language』を座右に置いて
『Effective C++』や、『More effective C++』を借りてきて読んだあとに、
『BSD の設計と実装』や、ライオンさんの本を読んでから、 C に戻ってきた口なので、
参考になるかどうかわかりませんが、ネット上の情報と、
図書館だけでもある程度は可能だと思います。

洋書でよければ、今は safari があるせいなのか、
書籍のタイトルや、書籍の文中の言葉で検索をかければ、
怪しげなサイトに、 pdf ファイルなどでアップロードされていることが多いような気がします。
915名無しさん@12周年:2011/10/17(月) 09:15:35.84 ID:5a5qfbU00
合掌
916名無しさん@12周年:2011/10/17(月) 09:17:43.55 ID:jrarPNZU0
>>107
C のメモリ配置なら、『詳解 UNIX プログラミング』の 7.6 や、
『BSD の設計と実装』の 2.5. Memory Management や、
3.5. Memory-Management Services あたりに少し記述がありますが、
OS の実装やハードによって、細部も異なるものかと思います。

個人的には、Linux などの Unix マシンが
(VirtualBox などの仮想環境か、実際のマシンかを問わず)、
手元にあったほうが、 C は習得しやすいような気もしますが、
これは異論のあるところだと思いますね。
917名無しさん@12周年:2011/10/17(月) 09:18:50.35 ID:dih65PN20
いわゆる基礎を作った人だもんなあ・・・
ご冥福をお祈りします
918名無しさん@12周年:2011/10/17(月) 09:30:07.52 ID:5a5qfbU00
これからの発展を期待しててください

合掌
919名無しさん@12周年:2011/10/17(月) 10:04:07.36 ID:++i11ZrjP
>>916
UNIXでCを学んだ方が習得しやすい、に一票。

ネットワークプログラミングとかにすすみたいならなおさらかな。
920名無しさん@12周年:2011/10/17(月) 10:05:34.39 ID:5a5qfbU00
うん。
921名無しさん@12周年:2011/10/17(月) 10:06:28.11 ID:bYk89cs30
4スレ目になっていたことに感動した

合掌
922名無しさん@12周年:2011/10/17(月) 11:05:06.49 ID:5a5qfbU00
需要があるんだなあ〜
923名無しさん@12周年:2011/10/17(月) 11:10:39.94 ID:J2/plQmA0
UNIX板いってみるかな
924名無しさん@12周年:2011/10/17(月) 11:30:08.43 ID:7n1PBeXQ0
>>899
構造化プログラミングのモジュール化を発展させていったのが
オブジェクト指向と考えてもいい

ただ、実装面ではまったく異なるものになる
構造化プログラミングは効率の良さを追求する一方で、
プログラムの実行スピードやサイズを意識して作るのに向いている

一方、オブジェクト指向はそういったものを犠牲にしてでも、
保守性や堅牢性を重視している
カプセル化、隠蔽化、クラス継承などで開発効率を徹底して追求
していくというのがオブジェクト指向

オブジェクト指向の普及とハードウェアの進化は大きなつながりが
あると思う

CとC++に関して言えば、どちらも需要がある
C++よりCの方が開発効率が上がるものもあるだろう
但し、多くのソフトウェアは肥大化していっているので
C++の需要も増えている
規模の大きなプログラムに関して、より使い易いアセンブラがCで、
より良いCがC++という感じだろう
925名無しさん@12周年:2011/10/17(月) 11:30:12.14 ID:mitmQrNC0
そろそろコンピュータ草創期から発展期の群像を描いた大河ドラマが欲しいな。
926名無しさん@12周年:2011/10/17(月) 11:35:05.36 ID:SDozyiZu0
一時期、ポインタを駆使したわけわからんコード書くヤツが偉い的な風潮があったが、
誰が引き継いでも保守できるコードを書かんかい!と上から怒られて
判り易いコードを書くべしとなった
927名無しさん@12周年:2011/10/17(月) 11:41:32.70 ID:7c6UL4pV0
ポインタを使ってわかりにくくなるなら、それは全然「駆使」していることには
ならないんじゃないでしょうか。当然、全く偉くもなんともない。
なんであれ、必要だから使うまでであり、
本当に必要ならば、なぜ使われているかは見ればわかるんです。
少なくとも、一行の説明コメントでわかるんです。
928名無しさん@12周年:2011/10/17(月) 11:51:20.52 ID:SDozyiZu0
ポインタのポインタのポインタのポインタの配列とか
defineの多重入れ子とか
コードの一部だけ見るともうなにがなんだか・・・
defineの値が結局なんなのか、いくつもの*.hファイル追わないとワカランとかw
そういうのを書くのが、わかってるヤツなんだ!と思い込んでるオッサンのいる時期があったのだ
929名無しさん@12周年:2011/10/17(月) 11:52:16.63 ID:ebVZG/Ly0
>>894
スコープがクラス単位になる。
get() とか、put() とか、関数名が短くて済む。

Polymorphism とかが、本当に生産性を高めるかは、微妙。
930名無しさん@12周年:2011/10/17(月) 11:52:46.60 ID:AjEb/rxm0
どっちでもいいかも
遊びから生まれる物もあるし
931名無しさん@12周年:2011/10/17(月) 11:53:06.19 ID:OCxDj5WCP
>>904
xがvptr持ってればいいだけ
そういう話ではないのかな
932名無しさん@12周年:2011/10/17(月) 11:53:46.46 ID:JkrL4Qg1P
>>925
1993年制作だからもう古典だが
http://www.youtube.com/watch?v=rcR74y61xZk


933名無しさん@12周年:2011/10/17(月) 11:57:49.86 ID:oQ79PEsJ0
ここはIT土方が多い板だなあ。やっぱり+民ってIT土方ばかりだったんだな。
934名無しさん@12周年:2011/10/17(月) 12:02:30.17 ID:7n1PBeXQ0
>>933
そう見えるのは君がプログラミングを知らないから
935名無しさん@12周年:2011/10/17(月) 12:05:04.44 ID:7n1PBeXQ0
>>929
ポリモフィズムの良いところは、動的バインドだろう
スコープだとか関数名の長さだとか、そういうのはどうでも良い
インタフェースだけ規定していれば、それに準じたプログラムは
全て動くという状態にするのが動的バインド

効率が良くなるかどうかは、そのシステムの内部構造や
規模によっても異なる
936名無しさん@12周年:2011/10/17(月) 12:06:04.19 ID:DkP7T0750
>>929
そうそう。あと、クラスが違えば同じ関数名を使えるのは本当に助かる。
937名無しさん@12周年:2011/10/17(月) 12:08:51.63 ID:AjEb/rxm0
原理主義はいやん
938名無しさん@12周年:2011/10/17(月) 12:11:36.13 ID:ebVZG/Ly0
>>936
関数名って、「何をするか」を記したいだけのもんだからね。
オブジェクト指向の利点は、そこだけぐらいに思ってる。
939名無しさん@12周年:2011/10/17(月) 12:20:56.63 ID:6mIBgsQk0
>>931
それをしたら、ある意味でオブジェクト指向なんじゃないの?

Cでも関数ポインタで仮装関数テーブル作って、
がんばれば出来るかもしれんが、それするなら、
Cでやる必要は無いよね。もっとスマートにできる言語があるんだから。
940名無しさん@12周年:2011/10/17(月) 12:22:31.42 ID:33tOsYCl0
オブジェクト指向にしろjavaの参照にしろ、
とにかく馬鹿にコード触らせないための防御装置なんだよ。
だからマトモに作ってる奴から見ると、ああこれであの馬鹿に
この部分書かれる事なくて安心て代物なの。

だから便利さが判らんて奴は数人で作ってて馬鹿に荒らされたことがないか、
地雷埋め込んでる馬鹿のどっちか。
941名無しさん@12周年:2011/10/17(月) 12:26:43.03 ID:6mIBgsQk0
>>929
データベースのアクセスをアダプターとして実装し、
基底クラスを書き換えることなくクラスを追加し、
RDBMSに依らず共通した操作を実現したりってのは、
ポリモーフィズムの恩恵でしょ。

Cでやったらswitch文の嵐になるし保守や拡張もしづらくなる。

OOPやデザインパターンは別に難しいことでもなんでもない。
便利だから使われている。それをCでもできるじゃんってのは見当違いかと。
942名無しさん@12周年:2011/10/17(月) 12:31:24.13 ID:kWStxg230
>>940
オブジェクト指向には自分にとって明らかに便利な機能があるじゃないか。
意図によるプログラミング(ロンジェフリーズ)が可能な点。
テストファーストができるのもこれのおかげ^^
943名無しさん@12周年:2011/10/17(月) 12:34:34.86 ID:ebVZG/Ly0
>>941
メイヤーの本とかだと、書き直すのが面倒ってことだし、リファクタリングとかは簡単になるけど、
コードを読むときには、何やってるのかわからなくなる。

クラスライブラリって、使うのには便利だけど、読むのはだんだん大変になってくるんだよ。
944名無しさん@12周年:2011/10/17(月) 12:35:56.66 ID:HzRYIyw/P
>>941
Cでも関数ポインタを使えばswitchの嵐なんてことはない。
ただ、わざわざ車輪の再発明をするより、
素直にオブジェクト指向言語を使うけど。
945名無しさん@12周年:2011/10/17(月) 12:48:19.91 ID:kWStxg230
>>943
そこはアランシャロウェイが書いてるように
何もかも狂ったようにオブジェクト指向を持ち込む必要はないわけで。
多態が生産性を高めるのでなく
単に生産性を高める共通言語(デザインパターン)が多態を必要としているだけだよ。
だから、ブリッジパターンのように、
多態を使いながらも多態を極力減らすデザインが存在しているわけで。^^;
946名無しさん@12周年:2011/10/17(月) 13:09:09.81 ID:AjEb/rxm0
耳なしforeach
947 忍法帖【Lv=14,xxxPT】 :2011/10/17(月) 13:19:51.21 ID:CcMPSg4i0
>>945

   言語よりクラスライブラリの勉強が、今のプログラマの仕事。

   言語は処理制御ぐらいの意味合いしかない。

   にしても、C++のクラスライブラリ、boostにしても、もう発展が遅いと思うがね。


948名無しさん@12周年:2011/10/17(月) 13:28:21.38 ID:zealf1f20
>クラスライブラリの勉強

人の作ったクラスの中に囲い込まれて
なんだか、さびしいな
949名無しさん@12周年:2011/10/17(月) 13:44:01.23 ID:ygH/9L8g0
OSは無し
言語はC

が一番好き
950名無しさん@12周年:2011/10/17(月) 13:46:50.85 ID:1iLsm5hp0
>>947
boostはあくまで標準ライブラリに導入するものを実験し提案するライブラリだからね
テンプレートを使って万人が使えるような、高速で汎用的で便利な、どんなものが作れるかという。
全部使ったことがある、なんて人は居ないと思う。
spirit(構文解析)を使ってみたことがあるけど、実行速度は速くても、テンプレートの使い方が変態すぎて
コンパイルにアホみたいに時間かかった

便利なものがあったら使う、って程度だね
951名無しさん@12周年:2011/10/17(月) 13:50:30.83 ID:JEWv4Nnv0
一生コード書いてても金持ちになれんぞ、お前らw

趣味ならともかくドカタ仕事はそろそろ卒業しろw
952名無しさん@12周年:2011/10/17(月) 14:04:50.89 ID:WHpa3UaS0
10 GOTO 10
953名無しさん@12周年:2011/10/17(月) 14:05:03.14 ID:kWStxg230
>>947
話がややごっちゃになってるかな?^^

標準ライブラリ(やboostのような準標準的ライブラリ)の勉強なんて
せいぜい数ヶ月で終わるじゃないですか^^
内部構造まで勉強したってプラウガーとかいい本いっぱい出してますし^^

それよりOOPやデザパタ勉強に費やしたほうが多言語を横断できるし
なにより上流工程に行くには必須。
ちゅか、デザパタの本って大なり小なり分析設計の話になる。

大工に「いつまでも家作ってても金持ちになれんぞ」と言う気はないし
儲けるためにコード書いてるわけじゃないけど、PG→SE→PM(その他もろもろ)へと
昇格していくには個別のライブラリの勉強より設計の勉強にウェイトを置くべきかと^^
954名無しさん@12周年:2011/10/17(月) 14:07:51.25 ID:nVy0X1Vr0
>>894
すごく大雑把に言うと

非オブジェクト指向:手続き(対象データ、パラメータ)
オブジェクト指向 :対象データ.手続き(パラメータ)

主語が違う
955名無しさん@12周年:2011/10/17(月) 14:08:31.13 ID:Ggiy07LI0
>>932
面白いけど長いな。
やっとトランジスタが出てきた。
956 忍法帖【Lv=14,xxxPT】 :2011/10/17(月) 14:14:44.66 ID:ly/kziSr0
>>950

   だから、その提案が今ひとつ現状に合っていない気がするだけ。

   そう思うと、過去の言語のように、C、C++も役割は終わったかなと。


957名無しさん@12周年:2011/10/17(月) 14:26:47.54 ID:1iLsm5hp0
>>956
あー、GUIやマルチスレッドやガベージコレクタ等が
いつまでもC++の標準ライブラリやboostに入ってこないってこと?
958名無しさん@12周年:2011/10/17(月) 14:29:05.42 ID:eBknjRk40
この人のせいではじめてのCが生まれたのか
959名無しさん@12周年:2011/10/17(月) 14:30:46.52 ID:t+WE7gfs0
>>958
「せい」とするからにはCに何か恨みでもあるのか
960名無しさん@12周年:2011/10/17(月) 14:36:15.07 ID:fpICNA760
もう故人は関係ないスレだな
961名無しさん@12周年:2011/10/17(月) 14:36:42.89 ID:AjEb/rxm0
初めての人のためのLISP
962名無しさん@12周年:2011/10/17(月) 14:41:01.77 ID:OYDYJSXFP
ポインタ程度の扱いが分からない奴は、エンジニアとしての資質の問題
なんだから、職業変えた方が無難だよ。
それで実務やってる奴が無数にいる以上、自分が理解できない事の方が
才能の限界と思った方がいい。
963名無しさん@12周年:2011/10/17(月) 14:42:19.26 ID:LvpedRdB0
ビルゲイツなんぞより、デニスの方が業界の発展に百倍寄与しているな。
964名無しさん@12周年:2011/10/17(月) 15:25:55.77 ID:aJ6ARc5f0
>>963
こういうことを言う奴ってさぁ、自分の価値観や判断基準で身勝手な評価をしているよね。
だったらお前はWindowsやそれによって発展した機材や技術を一切使うなよ。
965名無しさん@12周年:2011/10/17(月) 15:37:17.60 ID:xVTgLw8eO
辱めを受けながらのC
966名無しさん@12周年:2011/10/17(月) 15:41:48.27 ID:DoLBy87Z0
ジョブスよりよっぽどニュースになっていい人なのにな。
967名無しさん@12周年:2011/10/17(月) 17:09:27.69 ID:OCxDj5WCP
boost::progressが外されたときは泣いた
968名無しさん@12周年:2011/10/17(月) 17:21:06.86 ID:lQWn3wKa0
>>964
悪いが>>963よりオマエのがずっと身勝手だと思うぞ、
他人様に何かを使うなとか指図している時点でなw
969名無しさん@12周年:2011/10/17(月) 17:23:13.84 ID:OCxDj5WCP
>>967訂正
boost::progress_display
970名無しさん@12周年:2011/10/17(月) 17:28:25.71 ID:7n1PBeXQ0
>>964
いやいや、Microsoftはwindowsだけの限られたところでしか
活躍していない

UNIXによってオープン化が進み、インターネットが進化し、
様々な機器へ開発環境を提供した功績は非常に大きい

歴史的な視点から言えば、リッチーは間違いなく偉業を
成し遂げたし、ビル・ゲイツは便乗して稼いだだけ
971名無しさん@12周年:2011/10/17(月) 17:32:23.14 ID:7n1PBeXQ0
>>956
役目が終わった???
むしろ増えているような気がするが?
972名無しさん@12周年:2011/10/17(月) 17:34:18.82 ID:1Tn9B9sP0
誰かポインターをわかりやすく説明してくれ
973名無しさん@12周年:2011/10/17(月) 17:35:37.15 ID:j2icb/v60
>>972
ウルトラ警備隊の車
974名無しさん@12周年:2011/10/17(月) 17:38:26.62 ID:AjEb/rxm0
>>970
ジャックトラミエルは?
975名無しさん@12周年:2011/10/17(月) 17:39:39.81 ID:pnbFMTnc0
>>972
976名無しさん@12周年:2011/10/17(月) 17:41:19.07 ID:Ggiy07LI0
>>972
アンテナみたいなのを伸ばして黒板を指すやつ。
977名無しさん@12周年:2011/10/17(月) 17:41:50.42 ID:A7R9Q/m10
978名無しさん@12周年:2011/10/17(月) 17:51:46.28 ID:1Tn9B9sP0
*と&の違いがわからない
979名無しさん@12周年:2011/10/17(月) 18:12:10.16 ID:A4EFkuIQ0
Cを落第した奴が暴れるのはこのスレですか?
980957:2011/10/17(月) 18:15:47.42 ID:1iLsm5hp0
レスこないんで補足しとくと、C++の場合>>957に書いたような提案はこれまで何度もされてて
GUIの標準ライブラリはいずれ実装されそうな気もする
ただ、ガベージコレクタは言語機能として組み込むとすると、ゼロオーバーヘッドルール
(使わない機能はコストを発生させるべきでない)に抵触しない形で実装するのが困難なので
Stroustrup氏は「言語としては実装しない。欲しければ、今あるサードパーティ製のGCのライブラリを使ってね」と言ってた

ましてCは言語の性格上、GCは組み込まないだろうし
ただ最低限のGUI機能くらいは、CもC++も持つべきだとは思う

あと、ゲーム開発の立場で言うと、C/C++が無くなるとマジで困る
ゲーム開発においては今後数十年はC/C++が現役だよ
ゲームはまだまだまだまだまだまだ速度を求めてるし、パフォーマンスを犠牲にしてまで
手軽な開発なんてありえない
レンダリングもいずれはポリゴンからレイトレーシングに変わるだろうし
AIも、物理シミュレーションも、もっともっと高度なものを使いたいんだよ
もう打ち止めだと思ってる人は、一度海外の最先端のゲームとかやってみて欲しい

速度の不要な小規模なアプリケーションには、C/C++はもう不要だろうけどね
世の中そういうソフトだけが売れてるわけではない
981名無しさん@12周年:2011/10/17(月) 18:29:28.93 ID:xwXD69/j0
合掌
982名無しさん@12周年:2011/10/17(月) 18:50:22.95 ID:9y6nbxxX0
>>980

ちょっと確認しておきたいんだけど、
速度を求める分野が本当に欲しいのは速いマシン語コードだよね?
つまり、速いマシン語コードを吐けて、
かつ、開発効率も良い高級言語が欲しい、というのが真意だよね?

マシン語コードが透けて見えるC(のコンパイラ)はともかくとして
もともとコンパイル言語としてはあまり高速でないCの上に
肥大な言語仕様を載せたために(そして今も肥大化しているために)
コンパイル時間の爆発が無視できなくなってきているC++は、
マウスイヤーとまで言われるコンピュータ世界で本当に生き残るかしら^^;

いや、個人的にはC++好きだから生き残って欲しいけど
それほど楽観視はできないんじゃないかとも思う^^;
983名無しさん@12周年:2011/10/17(月) 18:55:11.66 ID:9y6nbxxX0
あ、ちょっと補足、
>もともとコンパイル言語としてはあまり高速でないCの上に
この部分は「コンパイル速度」ではなく、「実行速度」の話ね^^;
Cは言語仕様上、コードの最適化が難しい部分があるので。で、
>コンパイル時間の爆発が無視できなくなってきているC++は
こっちはまさに「コンパイル速度」の話。
C++はテンプレートの存在がコンパイル速度に深刻な影響を与えている。
大規模プログラムになればなるほど、プログラマはコンパイル時間を考慮した
コーディングを要求されるようになる…pimplイディオムみたいな小さなものだけど
コードの風通しは若干悪くなる。
984名無しさん@12周年:2011/10/17(月) 19:02:51.91 ID:zealf1f20
>>972
ポインターはレス番号
レスの中身ではなく、レスの場所を表す

>誰かポインターをわかりやすく説明してくれ
ポインターを使わないと、いちいち
こうしないといけないから、大変
985名無しさん@12周年:2011/10/17(月) 19:03:49.86 ID:h4k0QD0i0
>>983
移植性にC++は難ありという理由でCを採用するプロジェクトもあるようだ。Subversionはそんなことを書いている。
986名無しさん@12周年:2011/10/17(月) 19:06:34.19 ID:pnbFMTnc0
ポインタについて聞かれる度、こいつ実行ファイルロードした時に
コードや変数がメモリに展開されてんのわかってるのかなと思う。
987名無しさん@12周年:2011/10/17(月) 19:09:24.49 ID:ubF+rzX60
ポインタなんて簡単だろ
わからないって奴はチラシの裏にでも絵を描いて理解しろ
頭で考えてもわからない場合は図式化するとよくわかる
988名無しさん@12周年:2011/10/17(月) 19:16:19.24 ID:ebVZG/Ly0
>>985
移植性というより、処理系の互換性の話じゃね?
GCC だって、3.4 と 4 で、template とか、駄目駄目だったし。
989名無しさん@12周年:2011/10/17(月) 19:22:50.91 ID:j2icb/v60
プログラマーの人たちは実生活の葬式の席でも
こんな話してそうだな
990名無しさん@12周年:2011/10/17(月) 19:25:11.09 ID:nYNJVa/E0
>>984
2chならその喩えが一番適切な気がするw

「コピペ連投してんじゃねえよ
アンカもできねえなら半年ROMれ」
991名無しさん@12周年:2011/10/17(月) 19:27:22.03 ID:1iLsm5hp0
>>982
もちろんC/C++が、速度・開発効率においてこれからもトップとは限らないけど
fortranとか使ったことがないんで、科学技術計算に使うようなレベルと比較してどれほど劣るかはよくわからないw
ただ、大規模な開発で速度を重視、というと特にC++が今のところベストだと思うし、これからもそうだと思うよ

>肥大な言語仕様を載せたために(そして今も肥大化しているために)
コンパイラベンダーは苦労してるだろうけどw
今のところコンパイル時間は、色々な工夫でどうにかするしかないと思う
プリコンパイルドヘッダが使えるのが今では普通だし、
ゲーム開発はスクリプトをデザイナに書かせる方式が当たり前になってる
(エンジン部分はC++で書くが、ステージや使うデータなどの記述はテキストやスクリプト、外部ツールが吐いたデータで)
そうすることで、細かい調整でいちいちコンパイルかけて十数分待ち、なんてことは無くせるよ

自分は現役でそういう大規模なゲーム開発の現場には居ないんで、最近テンプレートがそこまで
コンパイル速度を遅くしてるのかはわからないけど・・・・多分やたら多用はしないと思う
それに、C++0xからは外されたけど、コンセプトはテンプレート周りの解析速度を上げる意味もあったはず

C++と同等のことが出来て、かつもっとすっきりした言語が出るのなら、そっちの方がいいだろうけど・・・
でもコンパイル時間の増加は、使うPCの成長を上回るほどには感じないけどなぁ
進化についていけてないせいかもしれないけどww
992名無しさん@12周年:2011/10/17(月) 19:32:07.78 ID:zzTbl1WN0
なんでK&RがOOPの話になってんだ? 合掌!
993名無しさん@12周年:2011/10/17(月) 19:34:59.68 ID:qfyITXuX0
しかし、よく4スレも引っ張れたもんだな。さすがだよ、デニス。もう誰もデニスの話してないけどさw
994名無しさん@12周年:2011/10/17(月) 19:35:57.64 ID:A4EFkuIQ0
>>966
UNIXはコミュニティがちょっとアレだからしかたないですしおすし
995名無しさん@12周年:2011/10/17(月) 19:43:31.03 ID:rIiFKEOf0
2ちゃんねらはリッチーをもっとリスペクトすべき
CとUnixがなかったら2ちゃんは存続、あるいは存在しなかったかもしれない
996名無しさん@12周年:2011/10/17(月) 19:48:45.61 ID:6BSGBSNG0
>>995
わかってる人だけで良いんじゃない?
一般大衆にCだのunixだの言ってもわかるまい。
997名無しさん@12周年:2011/10/17(月) 19:51:13.72 ID:A4EFkuIQ0
UNIX板をリスペクトしてるコピペとかあったじゃん。
998名無しさん@12周年:2011/10/17(月) 19:52:09.95 ID:uAIvxi5h0
↓沖田広之が一言
999名無しさん@12周年:2011/10/17(月) 19:56:50.03 ID:AjEb/rxm0
次スレおながい
1000名無しさん@12周年:2011/10/17(月) 19:57:54.97 ID:w3tU+mP/0
何でCとC++が同列に語られるのか全く不思議だとは言わないけど、
名前や文法wが似てるだけで、今となっては全然違う言語だから同列に考えるのはどうかと思う。

現代の大規模開発やGUI等に対応できるのはC++で、
Cはもう趣味の世界とか、こじんまりとした規模のアセンブラ置き換え途向けじゃないの?

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。