【訃報】C言語およびUNIXの父、デニス・リッチーさんが死去 -享年70
1 :
出世ウホφ ★ :
2011/10/14(金) 19:49:14.48 ID:???0 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 >>2以降に続く
2 :
出世ウホφ ★ :2011/10/14(金) 19:49:23.43 ID:???0
UNIXは安価で、かつさまざまなマシンを動作対象として想定してはいた。いったん動作させることができれば、 その上にさまざまなソフトウェアシステムを載せることができるようになっていた。 しかしOSがマシン語(アセンブリ言語)で記述されていたため、移植性も低く、またメモリの取り扱いにも苦労することとなった。 そこでリッチーとトンプソンは、C言語のシンタックスを発展させつつ機能を増やし、 ついにはOSを記述できるところまでに性能をあげていった。 そして1973年までにはついに、UNIXをCで書き換えてしまったのだ。カーネル部分は同年中に公開された。 今日、C言語は依然として2番目にポピュラーな言語として世界中で使われている(ないし、 これまでに記述されたコード量としては第2位につけている)。 そしてC++やJavaにさまざまな考え方が引き継がれていった。またUNIXについての二人の仕事は、 たとえばLinux TorvaldsのLinuxなどにも引き継がれていった。このUNIXの仕事だけでも、 リッチーは現代でもっとも重要なエンジニアのひとりとして位置づけられるべきだろう。 実際、UNIX関連の仕事により1983年にはケン・トンプソンとともに、チューリング賞を受賞している。 また1998年には当時の大統領であるビル・クリントンからアメリカ国家技術賞を受け取っている。(おわり)
3 :
出世ウホφ ★ :2011/10/14(金) 19:50:05.92 ID:???0
4 :
名無しさん@12周年 :2011/10/14(金) 19:50:17.02 ID:oENZPSzOO
知らない
hello world
6 :
名無しさん@12周年 :2011/10/14(金) 19:51:18.86 ID:jJCfcFGp0
「初めてのC」 買うにも人前で読むにも恥ずかしい本
7 :
名無しさん@12周年 :2011/10/14(金) 19:51:27.01 ID:4Xc3/1nx0
まさか2スレまで来るとは ジョブズと一緒に語っても、一般人的には理解不能だろうな
まぁ、どれだけ偉大だったのかを知る技がないからな。 リッチーはとてつもなく偉大な人。
ジョブス訃報の陰にひっそりと咲くなでしこの花
カニチャーハンはまだ生きているのか?
12 :
名無しさん@12周年 :2011/10/14(金) 19:55:58.81 ID:1AURWrx10
2スレ目は立てなくていいよ
前スレ
>>924 アラン・ケイがそんなに年取ってたとは知らなかった。
リッチーやトンプソンの方が若いんだ。最初のUNIX 開発したのは、20代だったんだね。
>>6 いまどき、ABCとかイワンだろw
言わんよな?
15 :
名無しさん@12周年 :2011/10/14(金) 19:56:34.76 ID:arIX4yYK0
カーニハンの名前が出てないけど
16 :
名無しさん@12周年 :2011/10/14(金) 19:56:38.71 ID:S87RDw4s0
デニス・ホッパー ライオネル・リッチー
17 :
名無しさん@12周年 :2011/10/14(金) 19:57:46.42 ID:xZqOpRCV0
知名度はともかく現代社会に与えた影響はとてつもなく大きいよな
昔Linux勉強したけど難しくて挫折した。
C言語つかってメシ食ってた人間なら、知らない人はいないであろう人物。 ご冥福をお祈りいたします。
21 :
名無しさん@12周年 :2011/10/14(金) 19:59:37.95 ID:98gfILoz0
c→ユダヤ教 asemmbler→ゾロアスター教、ミトラ教 c++→カバラ java→キリスト教 javascript→グノーシス主義 c#→イスラム教 f#→バハーイー教 lisp→原始仏教 commonlisp→大乗仏教 cobol→ジャイナ教 fortran→バラモン、ヒンドゥー教 smalltalk→道教 pascal→儒教 algol→エジプト神話 scheme→部派仏教 python→西洋魔術 ruby→ローマ神話 parl→ギリシャ神話 haskell→神道
22 :
名無しさん@12周年 :2011/10/14(金) 20:00:03.30 ID:ALUSHwjI0
>>15 カーニハンはリッチーの後にベル研に入ったからでは?
既にUNIXこつこつ作っている最中だったし
23 :
名無しさん@12周年 :2011/10/14(金) 20:00:24.60 ID:jBM9e9dt0
K&RのRの人か 知名度はないだろうけど、世界に多大な貢献をしたな
24 :
名無しさん@12周年 :2011/10/14(金) 20:00:42.31 ID:JIym+IoJO
K&Rはバイブルだった
カーニハン&リッチーってC#とかわかるの?
マシン語とは違うのか?
俺様は if(ほげほげ){ にょろにょろ }else{ にょろにょろ } 派だ 今でも現役
プロトタイプ宣言の場合、"*"は変数側に付けるよりも、型側に付けるほうが分かりやすいです。
29 :
http://raicho.2ch.net/test/read.cgi/newsplus/1318501789/169-269 :2011/10/14(金) 20:02:25.85 ID:Aq1e2n700
原書買って勉強した でも、全然わからなかった
時代が終わる
31 :
名無しさん@12周年 :2011/10/14(金) 20:03:19.75 ID:JIym+IoJO
偉大な功績を残した故人のご冥福をお祈りします。
33 :
名無しさん@12周年 :2011/10/14(金) 20:04:10.56 ID:E/gCM+eL0
34 :
名無しさん@12周年 :2011/10/14(金) 20:04:43.15 ID:ALUSHwjI0
>>28 オレ、いつも変数側w
後からズラズラ付け足すくせがあるもんで
K&Rはいまだに色んな職場で見かける本のno.1だからな。 どの位売れたか不明だが、隠れたスーパーロングセラーじゃないかな。
>>25 むしろ、「C# の××が気に入らないんだよな」なんて独り言で、言語仕様が改定されるレベルの人。
37 :
名無しさん@12周年 :2011/10/14(金) 20:05:57.19 ID:JIym+IoJO
配列とポインタが難しかった思い出がある
>>35 K&Rが無いところはダメ。
K&Rがない会社を2社ほど経験してきた俺が言うのだから間違いない。
逆にK&Rがあってもダメな会社は数知れずw
40 :
名無しさん@12周年 :2011/10/14(金) 20:10:27.14 ID:pmUao6vk0
>>38 無い所もあるのか。まああり得ない話でもないか。
つっても大抵は誰かに声かければ引き出しから出てくるもんだけどな。
んで大抵は演算子の優先順位のページにポストイットが貼ってある。
42 :
名無しさん@12周年 :2011/10/14(金) 20:12:55.71 ID:pmUao6vk0
>>36 ねーよww
C#がんなことで仕様変わるほどMSは柔軟じゃねえだろw
gnu is not unixて言葉だけ覚えてるんだけど gnuて何だったっけ
ご冥福をお祈りいたします。
46 :
名無しさん@12周年 :2011/10/14(金) 20:14:25.64 ID:3DCz0ADI0
オレは、中山美穂の「 C 」で十分だっ!
>>44 水牛…かな、あるいはカバだったかな。とにかく動物だ。
50 :
名無しさん@12周年 :2011/10/14(金) 20:16:32.81 ID:FavDcH3eO
>>8 まあ一般人にはピンとこないだろうけど
知ってる人にとってはジョブズより偉大だしな
GNUの父はGEEKの親玉だろw
>>34 そういう事情があったのかw
でも、悲しいかな、ANSIは変数側を選んだ訳で
int main(int argc, char* argv[])
と書いて、コードレビューでえらい怒られた覚えが・・・
どう考えても、
int main(int argc, char *argv[])
より、分かりやすいと思うけどなw
54 :
名無しさん@12周年 :2011/10/14(金) 20:18:26.55 ID:qw19EarK0
あなたのお陰で、いまのシステム関連の隆盛があると思います 心からの感謝と尊敬と、哀悼の意を申し上げます デニス先生、ご冥福をお祈りいたします
>>44 ちなみに、ここで否定しているUNIXは、
後にコードにアクセスできなくなったUNIXなんだよね。
K&Rが作ってた頃のUNIXは自由に使えたのに対する反抗。
rmsはdmrの死にどういうこというかな?
>>2 >>今日、C言語は依然として2番目にポピュラーな言語として世界中で使われている(ないし、
>>これまでに記述されたコード量としては第2位につけている)。
第一位はどんな言語なの?
>>52 char *src, dst;
と
char* src, dst;
どっちがバグを見つけやすいと思う?
K&Rわかりにくいとか言われてたけど 普通に入門書として読めていた俺
62 :
名無しさん@12周年 :2011/10/14(金) 20:20:46.49 ID:jBM9e9dt0
いろんな言語があるけど、CとかC++を理解していれば何となく分かる言語が多いよね すごい影響力だと思う
63 :
名無しさん@12周年 :2011/10/14(金) 20:21:06.22 ID:iuWhzJlZ0
この人がいなければ、スティーブ・ジョブズも伝説になり得なかった。
20代でunixとc作ったのか プログラマの資質も20代で見切るべきだな
>>60 プログラミング関係の本で、一番最初に読んだのがK&R
もちろん、全然理解できなかったw
>>58 高級言語ってことなら、多分FORTRANかCOBOL。
さすがにBASICってこともなかろうと思うので。
>>59 自己レスだが、
どっちが見つけやすいともう?ってことだよな、ってことを書くつもりで
途中送信してしまった orz
67 :
名無しさん@12周年 :2011/10/14(金) 20:22:37.00 ID:FavDcH3eO
>>52 変数宣言で
int *a, b;
とできることから変数側に付けるのが仕様なんだろうな
68 :
名無しさん@12周年 :2011/10/14(金) 20:22:54.94 ID:MpFtCvjJ0
【レス抽出】 キーワード:初めて 抽出レス数:1 あれ?
70 :
名無しさん@12周年 :2011/10/14(金) 20:23:38.95 ID:lkPUc8+j0
>dmrと呼ばれることもある 何の略?
アホは?アホは元気なの?
unix触ったことないけどlinuxユーザーで、 c苦手だけどc++得意な俺が ご冥福をお祈りします。
はじめてのC
74 :
名無しさん@12周年 :2011/10/14(金) 20:26:36.45 ID:2QBta1bQ0
こんぴゅーたーの偉人達も去り行くお年なのね
>>70 頭文字。Dennis MacAlistair Ritchie。
rmsとかesrとか著名人はこういう呼ばれかたをすることが多い。
ユーザーIDに自分の頭文字を使っていたのが始まりだとか。
76 :
名無しさん@12周年 :2011/10/14(金) 20:26:41.26 ID:lkPUc8+j0
>>41 演算子の優先順位に依存したコードを描く奴は、人間のクズだと思ってる。
長門有希が使ってた言語はCじゃなくてC++らしい。
>>66 >>1 の意味ではそうだと思うけど、かつてはN88BASICが
パソコンのOSだった時代もあるからなあ。
「かつて一度でもプログラミングをしたことがある人」の数では
BASICが圧勝な気がする。
79 :
名無しさん@12周年 :2011/10/14(金) 20:27:19.60 ID:pmUao6vk0
ワインバーグ 1933年〜 リッチー 1941年9月9日〜 エイホ 1941年8月9日〜 カーニハン 1942年〜 トンプソン 1943年〜 ストロヴストルップ 1950年12月30日〜 ストールマン1953年3月16日〜 トーバルズ1969年12月28日〜
81 :
名無しさん@12周年 :2011/10/14(金) 20:28:00.49 ID:90+BHnkc0
うわわ・・・功績としてはジョブズより偉大なんだよな
82 :
名無しさん@12周年 :2011/10/14(金) 20:29:53.23 ID:pmUao6vk0
えマジかよ...
>>81 功績・・・って、一体何の?
ジョブスがどんな「功績」があるの?
まさか家庭用電算機の普及とかいわないよね?
86 :
名無しさん@12周年 :2011/10/14(金) 20:32:23.81 ID:pmUao6vk0
「長らく闘病生活を送っていた」ということらしいけど病気は何だったの
87 :
名無しさん@12周年 :2011/10/14(金) 20:32:28.42 ID:5EFQGwP80
訃報(とほー)です。 <竹内由恵
88 :
名無しさん@12周年 :2011/10/14(金) 20:32:59.92 ID:2iSlmuoS0
コキ使われる労働者達乙
そういえば昔蟹飯のC言語入門で勉強したな 蟹飯は元気なのかな?
90 :
名無しさん@12周年 :2011/10/14(金) 20:33:06.76 ID:/o9fV4/h0
>>81 ジョブズと比べるとか、おまえ「馬鹿」ってよく言われるだろ。
>>81 俺の中では、計算機科学者としては
クロード・シャノン、アラン・チューリングに次ぐぐらい偉大な人だと思う。
>>91 何かを創り出したという意味では、フォン・ノイマンよりも偉大かもね。
93 :
名無しさん@12周年 :2011/10/14(金) 20:35:27.38 ID:pmUao6vk0
ビジネスマンのジョブズと計算機科学者のリッチーを比べるのがそもそもおかしい。
そういや昔、C言語でいかに汚いプログラムを書くか競うコンテストをアメリカでやってたな、今は知らんが Cマガに優勝作が乗ってたと思うが、捨てちまったわ
96 :
名無しさん@12周年 :2011/10/14(金) 20:36:32.39 ID:ER3AW0LNO
20年前くらい勉強したなぁ…当時はCOBOLは無くなるって噂もあったくらいだった。
Good bye world.
98 :
名無しさん@12周年 :2011/10/14(金) 20:38:40.31 ID:PhjLhPz3O
int main(void) { printf("Forever C!"); return 0; }
亡くなったのか…。 R.I.P
100 :
名無しさん@12周年 :2011/10/14(金) 20:39:31.09 ID:pmUao6vk0
>>44 G Gnu is
N Not
U Unix
みんなボケ殺しひどすぎw
>>82 =93
生きていて良かった。
会ったこともないけど俺の心の師匠でしたw
つーかUNIX系のエンジニア全員の師匠だわな。
103 :
名無しさん@12周年 :2011/10/14(金) 20:40:49.58 ID:i+CprDbt0
70で死ぬようじゃ年金貰えないぞ 気合い入れて生きろ
時代の転換期
106 :
名無しさん@12周年 :2011/10/14(金) 20:42:08.37 ID:/sx2xSL30
はじめてのCとかあるなら、「30歳からのC」とかあってもよさそう。
マジかよ…ご冥福をお祈りします。お勤めご苦労様でした
108 :
名無しさん@12周年 :2011/10/14(金) 20:42:51.99 ID:utDYoBVB0
>>90 仕方ないよ、信者がジョブスの件で大騒ぎしてリアルでも馬鹿晒して
2ちゃんでもスレが立ちまくってたから、ただのパクリ屋なのになw
Cはわかりやすかったなー 南無
>>106 その本をカバー無しで電車内で読む勇気は無いわw
ところで、A言語ってあるのかな? B言語はあるらしいけど。
産業界全体で世界葬するレベルだろ。
113 :
名無しさん@12周年 :2011/10/14(金) 20:44:07.56 ID:qulhwqh00
C言語の生みの親か 偉大な人じゃないか 立て続けに惜しい人を亡くすな・・・ C使えなくても、C言語の重要さはわかるよ ご冥福をお祈りします。 そしてありがとう。
115 :
名無しさん@12周年 :2011/10/14(金) 20:44:22.15 ID:pmUao6vk0
>>102 アホはどちらかというと赤龍本(red dragon book)の人の印象が強いな
118 :
名無しさん@12周年 :2011/10/14(金) 20:46:35.05 ID:pmUao6vk0
119 :
名無しさん@12周年 :2011/10/14(金) 20:46:35.97 ID:utDYoBVB0
お世話になりました。ご冥福をお祈りします。
>>106 なんつったって、一番凄かったのは、「いきなりのC」ってのがあってだなw
なかなか分かりやすいと評判の本で、俺のいた会社では、新人用に大量購入したが、部長がタイトルに目を剥いてカバーをつけることを義務付けたw
123 :
名無しさん@12周年 :2011/10/14(金) 20:49:33.13 ID:pmUao6vk0
>>106 「今すぐ『その場で』ひとりでできるC」
ジョブスよりも大ニュースだな。
Cは一応文法を勉強したけど、コードを読んで意味を理解することはできるんだけど、 自分で書くことが全然できんw
みんなどんな入門書から入ったの? 俺はCの絵本
Cでコード書いたことはないな。 ドライバのソースにちょいちょいっと製品名追加してmakeし直したくらいが関の山w
VBAしかわかりませんが ご冥福をおいのりします
Ωのせいで単語の知名度が上がった「グル」の定義 guru: - uses m4 and lex with comfort - writes assembler code with "cat >" - uses adb on the kernel while the system is loaded - customizes Unix utilities by patching the source - reads device driver source with breakfast - uses "ed" becuase "ex" is Berkeleyism - can answer any unix question after a little thought - uses make for anything that requires two or more commands - has learned how to breach security but no longer needs to try - is putting James Woods/Henry Spencer egrep into her next Unix release 二十数年前これを初めて見たときは Berkeleyism というのがなんなのかずいぶんと悩み苦しんだ(笑)
ラッセル、ホワイトヘッド、チューリング、シャノン、ノイマン、リッチー 学者は学問の世界に、文明が滅び去らない限りは、名を残す 技術者は技術史の世界に、当該技術体系が現用である限りは、名を残す 商売人は死とともに忘れ去られる
K&Rなんてオブジェクト指向についていけてたのかな
133 :
名無しさん@12周年 :2011/10/14(金) 20:53:06.58 ID:tGYhQhuB0
長い間お世話になりました ご冥福をお祈りします
>>79 なんかその名前見ると
「sed, awkして船山に登る」
とか思い出す
135 :
名無しさん@12周年 :2011/10/14(金) 20:53:50.43 ID:1ZidsYHk0
誰だよw
136 :
名無しさん@12周年 :2011/10/14(金) 20:53:55.61 ID:pmUao6vk0
しかしUNIXとかC言語なかったら、いまごろみんな携帯電話とか持ってたんだろうか
>>126 柴田理恵の「明解C言語」から入りましたw
139 :
名無しさん@12周年 :2011/10/14(金) 20:55:23.54 ID:Da1JZx6AO
バイブルは愛読しつつ、踏み絵としても重宝した。 これを難しいというヤツのコードは信用おけないから。
141 :
名無しさん@12周年 :2011/10/14(金) 20:56:40.14 ID:pmUao6vk0
>>134 mailconf.cfの書き方は「おおた子に教えられた」
142 :
名無しさん@12周年 :2011/10/14(金) 20:56:55.16 ID:2iSlmuoS0
>>136 もっと効率のいい手段が生まれてたやもしれん
143 :
名無しさん@12周年 :2011/10/14(金) 20:57:30.43 ID:jp9gl9DS0
144 :
名無しさん@12周年 :2011/10/14(金) 20:57:54.66 ID:lkPUc8+j0
今まで読んだ言語仕様解説で一番分かりやすかったのは、MS-C++ 7.0 の C++ 解説書。 適度な薄さで多態まで理解できた。
しかし、電気がワイヤレスで送ることができる時代がこないもんかね? 電気コードのタコ足状態をみると怖くて仕方がないw
>>143 まさかのうんCOBOL。コードの水増し技術は世界一
147 :
名無しさん@12周年 :2011/10/14(金) 20:59:23.71 ID:1ZidsYHk0
148 :
名無しさん@12周年 :2011/10/14(金) 20:59:39.14 ID:utDYoBVB0
>>131 今や経営学も立派な学問で、まだMBAとか幅利かせてるし・・・
実際に自分はIBMやSUNの企業研究もやったしな〜
パクリ屋だけど世界中に売りまくったジョブスやゲイツは名を残すだろうね
あまり尊敬できないけど仕方ないさ、売る人がいないと開発もできないから
Cが無かったら、ソフトウェアの進歩が30年は遅れてただろう。 高価なCADソフトはほとんど普及せず、今でも手書きで設計図 描いてたかも知れんな。
COBOLは2000億行だもの。マジキチ
K&Rを持ってて使いこなせなかった エセプログラマのオレが言うのもなんだが、 ご冥福をお祈りします。
152 :
名無しさん@12周年 :2011/10/14(金) 21:01:27.41 ID:KHYidl2n0
最近はオブジェクト指向言語も使いますが、 プログラマーとしての私を育ててくれたのは、 間違いなくC言語でした… ご冥福をお祈りいたします。
154 :
名無しさん@12周年 :2011/10/14(金) 21:01:51.20 ID:bbDt9fQQ0
>>135 デニス・リッチーは最もソフトウェア発展に貢献した
グループに間違いなく入る偉人。
デニス・リッチー氏の偉大な功績を称え、ご冥福をお祈りします。
C言語←しーげんご С言語←えすげんご
156 :
名無しさん@12周年 :2011/10/14(金) 21:02:15.21 ID:1ZidsYHk0
>>148 そういうことや。販路を開拓しないと良い物は売れない。
157 :
名無しさん@12周年 :2011/10/14(金) 21:03:19.48 ID:vADdAarK0
学生の頃C++で挫折した。 てかパソコン画面で3万行とかみてたら発狂した。欝。 今は肉体労働。
>>148 ゲイツはPC普及で名を残すが、ジョブスは無理だろ
A言語 B言語 C言語 D言語 E言語・・・
プログラム書ける人に憧れるアラフォーですが、今から勉強するならどんなテキストがおすすめでしょうか?
161 :
名無しさん@12周年 :2011/10/14(金) 21:06:55.72 ID:AXtdoxtO0
偉大な天才がまた一人逝ってしまった。 感謝をこめてありがとうと言いたい。
162 :
名無しさん@12周年 :2011/10/14(金) 21:07:00.13 ID:pmUao6vk0
しかし、蟹飯かリッチーは「{}(中括弧)」がよっぽど好きだったんだよな lispの人は「()小括弧」が好きそうだ
163 :
名無しさん@12周年 :2011/10/14(金) 21:07:18.71 ID:bbDt9fQQ0
ゲイツや孫みたいな早く死んで欲しい悪魔に限って 長生きしたりするんだよな。。。 ちなみにカーニハン&リッチーが書いた「プログラミング言語C」の和訳版は 出版社が全く売れると思っていなかったそうで、”社会奉仕の一環”として 渋々出版したが、蓋をあけると創業以来のベストセラーになったとか。
>>162 いろんな言語を使ってると、[]{}()が混乱するんだよな。
rmsは殺そうとしても死にそうに無いイメージがあるし、クヌース御大なんかは 不老不死の仙人みたいなイメージだし、トンプソン氏とかカーニハン氏ってご健在?
166 :
名無しさん@12周年 :2011/10/14(金) 21:08:18.96 ID:utDYoBVB0
>>158 パーソナルコンピュータを個人向けに売り出して最初に成功したのはジョブス、
ホント商売だけは上手いんだよ。
168 :
名無しさん@12周年 :2011/10/14(金) 21:09:02.46 ID:tGYhQhuB0
169 :
名無しさん@12周年 :2011/10/14(金) 21:09:53.54 ID:02awBAEQ0
K&Rはまさしく聖書みたいなもんだろうからなぁ、 世界で最も売れている本は?みたいな意味でも
>>166 しかも、その元手は電話のただがけ機で稼いだという…
世界中の詐欺師の鏡だよなw
UNIX & C の開発者というだけでもすごいけど、説明も分かりやすくて上手い人だよね。 他のプログラミング言語の解説書でも、後から出た本は、K&R の書き方を踏襲してるし。 網羅的な仕様の説明をする前に、常識で分かることを省いて、簡単なプログラム例を示して説明する。 とりあえず、Hello World! を実装するのもお約束だし。 K&R 読んで、Tree や Linked List とかの実装を身に着けたから、データ構造の勉強にもなった。
>>163 生きることそれ自体苦行だから、おまえが苦痛に感じる人間はなかなか死なない。
173 :
名無しさん@12周年 :2011/10/14(金) 21:10:25.25 ID:pmUao6vk0
>>164 あれをVBとかPascalのbegin〜endで書くとめっちゃつらい
どこからどこまでが初めと終わりなのかわからない
K&Rはバイブルだった。 ANSI Cにはどうもなじめん。 GNU流のインデントとかにも。
>>155 ウォッカ飲みながらコーディングするとそうなる。
>>159 究極のZ言語って話をしてたらZZとか∀とかSEED とか…
はじめてのCとか高校生にかって意味不明すぎてどっかやったわw今読めば理解できるかも だけどあの本は正直糞だと思う。
179 :
名無しさん@12周年 :2011/10/14(金) 21:12:11.25 ID:27MxCS8e0
カギカッコの位置はどっちが主流なんだ?改行前か開業後か。 カッコが揃ってるほうが見やすくてK&Rの正統らしいが、Javaとかは同じ行に持ってくることが多いな。 bool Foo{ // code } bool Foo { // code }
>>171 いや、説明が分かりやすいのは、カーニハンの功績
彼は難しいことを分かりやすく噛み砕いて説明する天才
彼の名前のある本は、どれも分かりやすいよ
181 :
名無しさん@12周年 :2011/10/14(金) 21:12:56.22 ID:2qZLkC6N0
182 :
名無しさん@12周年 :2011/10/14(金) 21:13:16.92 ID:EdQkFUkF0
FORTRANではさらけ出してなかったポインタを使えるようにしただけやん。 それと、新味は構造体ぐらいか? たぶんすでに他の言語にもあっただろ うけど。 そんなに、持ち上げるほどの評価ではない。一時期の業績は認めるが。
>>160 まるきりの初心者なら本屋に行って自分が読んで独力で理解できる
けれどもわかりきった内容ではない
そんな本がよい
まずそれを一冊買って、読みこなしながら、次へ進む
一般論ですまんね
>>39 この人がいなかったらAppleもWindowsもなかったかもしれないものね
>>158 ジョブスはビジネスモデルとしてずっと残っていくんじゃない?
すごく分かりやすくアイディアの大切さを残したし
185 :
名無しさん@12周年 :2011/10/14(金) 21:14:28.21 ID:pmUao6vk0
トンプソン&リッチーが居なかったら、今でもMULTICSが幅を利かせてたりしたんだろうか?
187 :
名無しさん@12周年 :2011/10/14(金) 21:15:21.82 ID:2qZLkC6N0
>>158 ジョブズが好きなわけじゃないけど
ジョブズのほうが名前は残ると思うけれどな
189 :
名無しさん@12周年 :2011/10/14(金) 21:15:51.61 ID:27MxCS8e0
本読んでるうちはプログラミングなんてできないよ。今からでもすぐにできることなのに 趣味なんだし汚くてもいいから手を動かさないと。作りたいものがあってこそプログラムするわけなんだし。 理論はその後の方が頭にしみこんでくる。
>>179 いや、K&R は、最初の方だろ。関数定義だけは別だけど。
後のほうは、GNU とかじゃない。
>>180 確かにカーニハンか。AWK 本や作法、書法とかだよね。
>>187 業務ロジックで下の書き方は見たことがない
195 :
名無しさん@12周年 :2011/10/14(金) 21:18:39.46 ID:pmUao6vk0
>>179 俺のバイブル、
「現実的なCプログラミング.(Practical C Programming)」
S・Oualline著、岩谷宏訳、ソフトバンク出版
では前者だったので、俺もそうなった。
「基本的には好みの問題だが…」と前置きしながら、論理的に(執拗に)
自説を説きまくる姿勢がおとな気ない本だったわw
198 :
名無しさん@12周年 :2011/10/14(金) 21:18:49.52 ID:i1X+fNoW0
>>144 残念だねPASCALが一番判り安い言語だったのに・・・
199 :
名無しさん@12周年 :2011/10/14(金) 21:19:00.46 ID:bbDt9fQQ0
>>182 後付けでなら何とでも偉そうに言えるさ。
特に偉いのは一貫した哲学性を感じさせる美しい仕様コーディングだった。
GOTOを一掃して後の進歩の妨げを消した功績も大きい。
200 :
名無しさん@12周年 :2011/10/14(金) 21:20:28.04 ID:CCJx3PHEP
Cが便利なのはプリプロセッサとマクロが強力だからって面もある。 その代わりパッと見ただけじゃ訳ワカランコード書く奴が後を絶たないけど。
>>165 クヌースさんが亡くなったら,TeXはバージョンπになるんだっけ?
>>179 スタイルだけじゃなくて、
int main(a, b)
int a;
int b;
{
}
みたいなのもあるよね(セミコロン必要だったっけ)
最近のコンパイラだと通らない。
205 :
名無しさん@12周年 :2011/10/14(金) 21:21:23.49 ID:cszrY/n20
また癌だろうか。
206 :
名無しさん@12周年 :2011/10/14(金) 21:21:24.43 ID:dsDvcrvk0
でも、UNIXを作りたいからC言語を作たって凄い人だよね。 まあ、目標があったから皆なに受けいれられる言語が作れたのかね。
>>186 VMS が、最先端の OS だったんじゃないかな。
ホストは、MVS。
>>183 ありがとう。PC歴はPC88くらいからなのでなんとなーくは知ってるつもりだけど、どうも勉強する機会がなくてねぇ。
K&Rの本は持ってるけど、結局積ん読状態。やっぱり近道なんてないよね。
たまたま同じ時期に死んだからって 科学者と企業家並べてどっちがどうとか言わんでも
210 :
名無しさん@12周年 :2011/10/14(金) 21:21:54.85 ID:i1X+fNoW0
211 :
名無しさん@12周年 :2011/10/14(金) 21:22:08.56 ID:pmUao6vk0
>>192 プローガーの単独の本とか、本当に分かりにくいんだぜ
とても作法の共著者だなんて信じられないってくらいw
213 :
名無しさん@12周年 :2011/10/14(金) 21:23:45.51 ID:dsDvcrvk0
>>204 わあ、懐かしい書方。
始めの頃はそうやって書いてたっけ。
enumって何に使うん
215 :
名無しさん@12周年 :2011/10/14(金) 21:24:27.60 ID:pmUao6vk0
>>207 DECが生き残ってたのか
SET HOST [192.10.23.7]
とかしてリモートログインするのかな
PURGE
216 :
名無しさん@12周年 :2011/10/14(金) 21:24:35.47 ID:X17MWv5L0
main() { prntf("hellowork"); return; }
>>206 自著の組版が気に入らなかったからといって、商用組版システム体系を作り上げちまった
クヌース御大もなかなか
>>207 VMS--でWinNTになったんだよな
>>143 どう考えたってPostscriptでしょ。
pdfファイルの数だけあるわな。
219 :
名無しさん@12周年 :2011/10/14(金) 21:26:18.09 ID:nzWFe1r50
1番目にポピュラーな言語はぬるぽ
赤ん坊の時から自然にCは覚えた。 おしっこCーって。
みんなが使ってるエディターって何よ??
222 :
名無しさん@12周年 :2011/10/14(金) 21:28:24.24 ID:pmUao6vk0
>>214 #define STATE1 (1)
#define STATE2 (2)
#define STATE3 (3)
とかやるのにむなしさを感じたら使うらしいが
#define ER_ILL (-1)
#define ER_NG (-2)
#define ER_OPT (-3)
の場合はどうしたら
223 :
名無しさん@12周年 :2011/10/14(金) 21:28:39.78 ID:ZMJUDmEjO
功績考えたらジョブズの何倍も偉大だけど いかにもなバカ女が泣いてる映像は出ないよね
演算子の優先順位はわかるが結合規則が意味分からん
>>208 いまから趣味でやるならrubyがお勧め。
昔のベーシックみたく、1行ごとに動かしてみることもできるし。
>>1 70まで伸びてんのかやっぱりなあ・・・・・とか思ってたら1だった
228 :
名無しさん@12周年 :2011/10/14(金) 21:29:55.29 ID:TARFW+QY0
syntax error!
229 :
名無しさん@12周年 :2011/10/14(金) 21:30:30.06 ID:2qZLkC6N0
230 :
名無しさん@12周年 :2011/10/14(金) 21:30:39.94 ID:pmUao6vk0
>>210 for(i = 0; i<A; i++){
a[i]がなんちゃら
}
てな文で、Aが配列の個数-1だったり「i>=A」とか書かなくて良いのは
精神衛生上良い気がする。
>>224 viを使ってる人は、やっぱもうおらんのかな?w
>>222 > #define ER_ILL (-1)
> #define ER_NG (-2)
> #define ER_OPT (-3)
> の場合はどうしたら
enmu {
ER_OPT=-3,
>>221 ed か edlin
WordStar なんて贅沢
237 :
名無しさん@12周年 :2011/10/14(金) 21:32:08.76 ID:1F48ZbONO
238 :
名無しさん@12周年 :2011/10/14(金) 21:32:55.51 ID:pmUao6vk0
>>232 int *a;
*(a)
*(a+0)
a[0]
が違う値だと怖いな
VAXでCでデバッグはICEでケーブルはダイナマイトだったな
>>188 ジョブスを一番適切な言葉で表すなら教祖
残念ながら商品が廃れると、教義も廃れる
241 :
名無しさん@12周年 :2011/10/14(金) 21:33:26.38 ID:dsDvcrvk0
>>222 enum {
ER_ILL = -1,
ER_NG = -2,
ER_OPT = -3
};
じゃね。
>>222 失礼、途中で書き込んじまったw
enum {
ER_OPT=-3,
ER_NG,
ER_ILL
};
でいい。
enum {
ER_ILL=-1,
ER_NG=-2,
ER_OPT=-3
};
でもいいけど。
>>221 unix = vi
dos = vz
windows = wz or Intellisense
戻ろうよ。70前後で死んでいたあの頃へ。
245 :
名無しさん@12周年 :2011/10/14(金) 21:34:35.78 ID:qlk/0ENs0
歴史にIFはないが、 IF(Cがなければ){ C++もなくて、; 世の中ではCやC++よりももっとずっとましな 言語が使われていた可能性がある。 }
246 :
名無しさん@12周年 :2011/10/14(金) 21:35:23.12 ID:tGYhQhuB0
C言語プログラムは書く人のセンスが出る すごいプログラム見たときは言葉が出なかった
>>1 うわあ・・・・御冥福を。
カーニハン先生は今も御健在ですか?
248 :
名無しさん@12周年 :2011/10/14(金) 21:35:55.91 ID:fLgFwLvi0
printf("哀しい。\n");
249 :
名無しさん@12周年 :2011/10/14(金) 21:35:59.32 ID:pmUao6vk0
>>242 enum {
ER_OPT=-3,
ER_NG,
ER_ILL
};
でもこれで、新規にER_FMT(-4)が加わると、、、
250 :
名無しさん@12周年 :2011/10/14(金) 21:36:02.76 ID:/sx2xSL30
WBSでスミスの本棚ってコーナーあるけどその1冊に出したい本。 ITを職業とした自分として棺おけに持っていく1冊だよ。まじで。
wizard: - writes device drivers with "cat >" - fixes bugs by patching the binaries - posts her changes to Unix utilities to the net -- and they work - can tell what question you are about to ask, and answer it - writes her own troff macro packages - is on a first-name basis with Dennis, Bill, and Ken 魔法使いはこの世界には三人だけだ。 以下 Bill の姓についてボケが続きます - fixes bugs by patching the binaries これもDOSではみんなやったな もうひとつ、 今はデバドラも簡単に書けるね。 昔はしぬほど面倒だったらしい。
253 :
名無しさん@12周年 :2011/10/14(金) 21:37:17.30 ID:iz/KDciy0
>221 まいふぇす。
254 :
名無しさん@12周年 :2011/10/14(金) 21:37:32.79 ID:Fd1532vj0
Cが無くても代わりの言語が出てきただろうな。 OSを高級言語で記述するという考えはCの出現以前からあったし、実際、C以外の言語で OSを記述した例があったはず。 ただ、CとUNIXの組み合わせが絶妙だった。
>>249 つか、数値としての値の部分にこだわる必要があるならば、enumは使うなw
基本的に他と違っていればいい、という類のものにだけ使うもの。
そうでないなら、素直に#defineすれ
256 :
名無しさん@12周年 :2011/10/14(金) 21:37:58.88 ID:JmnJ7ze/0
K&Rは初版こそが珠玉 二版以降は凡作 と大学の時に先生が言ってた
257 :
名無しさん@12周年 :2011/10/14(金) 21:38:03.77 ID:tj3Jl39u0
2ch言語しか知らないけれど、ご冥福をお祈りします。
>>6 その本買ったときに
レジのお姉さん二人がクスクス笑いながら会計してた。
当時うぶだった俺にはなんで笑われたのかわからなかった(苦笑
>>14 AとBはCまで行ってた
俺もカンパさせられた
という秀逸な歌詞の歌があってだな・・・。
260 :
名無しさん@12周年 :2011/10/14(金) 21:39:46.71 ID:fLgFwLvi0
printf("Good bye, world!\n");
>>253 懐かしいなあ。
ブロック選択−コピー&ペーストができるんだよね。
>>6 じゃあC++はどんな行為だっていうんですか///
263 :
名無しさん@12周年 :2011/10/14(金) 21:40:34.03 ID:NZUXFTnA0
リアルゴッド
>>255 同意
更に省略記述も個人的には気持ち悪い
あんなの第三者が読むの無視した自己満足
>>264 // 3はER_OPT
return 3;
こうですね
>>265 そうですか・・・よかった。いつまでも長生きしてほしいですね
あなたのおかげで奴隷から人間になれました ありがとう
わーたしのきもっちっをーコンパイルーするのー
270 :
名無しさん@12周年 :2011/10/14(金) 21:44:08.33 ID:1F48ZbONO
>>256 和訳版を読んでから俺の日本語がかなりおかしくなったわ。
272 :
名無しさん@12周年 :2011/10/14(金) 21:44:42.05 ID:MSG18okX0
Hellow World
273 :
名無しさん@12周年 :2011/10/14(金) 21:45:11.22 ID:pmUao6vk0
>>258 >AとBはCまで行ってた
>俺もカンパさせられた
♪急にキレイになったあの娘に(略)はぁ〜いい気持ち
イマドキの言語は値呼び出しが中心だけど、 最近の言語で参照呼出しのって、ある?
>>233 やっぱemacsよりviだろ
銀行のサーバーメンテする時とかは今でもviしか使えん
知識があれば全然困らないよ
>>243 Intellisenseを除いて俺と同じだ
278 :
名無しさん@12周年 :2011/10/14(金) 21:45:58.97 ID:3WDMJ3kpO
>>259 禿同
OS絡みの何かの不具合で仕方なく3にしたけど、余計なものがない2が最高だった
今はvimに落ち着いた
カーニハン、リッチー名前は知ってる 昨日macに外部コマンド追加したくなってターミナル開いて cofigure make make install久々にやった
>>255 enum は、デバッガで見られるから、#define より良いと、プログラム書法では書いてるけどね。
ダイテル本でアホみたいにコード作ったな 休みの日はPC室の開館時間に飛び込んで閉館時間までコード作ってた
283 :
名無しさん@12周年 :2011/10/14(金) 21:47:23.93 ID:pmUao6vk0
>>268 C言語がアセンブラ職人をダメにした
とか言ってみる
>>249 確かにおっしゃるとおり。
enumで書く利点としては、switch〜caseで、defaultがない場合に、
コンパイラによっては警告してくれるってところだね。
肝心の変数がちゃんとenum型になっていればの話だけどw
>>259 俺はVer4以降が気に入らなくてVer3を使っている
Ver3のファイラーは捨てられない。
286 :
名無しさん@12周年 :2011/10/14(金) 21:48:31.24 ID:XjwChnl20
1986年頃だったか某大企業の工場に派遣されてたが 当時、C言語(ホワイトスミスC)で次のシステム作るというので K&Rで皆(社員、派遣共)で勉強会してたんだが周囲にC言語を知る者は居ず 解説書もほとんど無い状態だったから苦労は並大抵ではなかった その後、同じ工場内のよその部署に異動したら すぐにC言語の先生ということで講習会の講師をやるはめになった ほとんど何も無い、訊く人も居ない状態での言語マスターはこれが最初で最後だったが ソフト屋辞めた後でもC言語のソースファイルはいまだにほとんど読める
>>233 OSブート出来なくなったときに使うけどな。
ソフト会社は 「ポインタの関数使うプログラムと、関数のポインタ使うプログラムを1つずつ書いてみて」と 言われて、5分以内に両方書けなければ採用しないほうがいいね。
289 :
名無しさん@12周年 :2011/10/14(金) 21:50:12.61 ID:VfB47SC90
いや〜、偉大な人を失ったね… Macだって今やUNIX… ほんと、ものすごい言語でありOSだったな… simple is best の思想は、実社会にも適用可能なくらい偉大なことを 証明したのかも知れない… ご冥福をお祈り申し上げます …ってスレ的には、ム板的なのもまた…w
ジョブズより大きなニュースだって!?笑 アホすぎる 俺もプログラマーだが、現役で世界を変え続けているジョブズと すでに必要とされていない人間を比べるなよ
>>286 K&RってCをそれ相応に使いこなしてる人が
高みを求めて研鑽するための本な気がする。
293 :
284 :2011/10/14(金) 21:51:04.19 ID:lQAzRIDy0
しかし、今時のUNIX-Cの現場で一番使われてるエディタは多分、eclipse w
しかしC言語がここまで使われるとは思ってなかったろうなぁ 並列化難くてバグ埋め込みやすいのにデファクトスタンダードなんて害悪だ、なんて言われるとは・・・ 後世が解決すべき問題ですね。 ご冥福をお祈りします。
296 :
名無しさん@12周年 :2011/10/14(金) 21:52:21.96 ID:snXuChoJ0
今年は悪い年だ。
>>291 UNIXが世に出なければ
Mac OSも今の状態になることは
なかったんだが・・・・。
ストロウストラップ先生はまだまだ元気ですか?
>>221 最初はRED++だったかな?んでVZかな。でもいつのまにかemacsとviをケースバイケース。
300 :
名無しさん@12周年 :2011/10/14(金) 21:54:00.88 ID:Fd1532vj0
Cはどうも好きじゃない。 常に非常に注意してコーディングしないとデバッグが非常に困難なバグが入り込みやすい。 要するに疲れる言語。 むしろC++やJAVAのほうが楽。
301 :
名無しさん@12周年 :2011/10/14(金) 21:55:19.20 ID:utDYoBVB0
>>288 HTML、PHPから入ったwebプログラマなら泣き出すような課題だねw
VBから入ったプログラマも酷いが・・・
>>300 そりゃ、後発言語が使いやすいのは当然だろ
俺はVIでCのコードも書いて来たし、eclipseでjavaのコードも書いてきた。まだ現役だけど長いほうかな? もう情熱がない あの頃のように
>>297 そんな事知らないやついないんだから
ドヤ顔で言うなよw
Cはもう出来上がって終わったもの。
iPhone4Sは今日発売されたろ?
まぁ、K&RのC言語って、どう考えても入門書じゃないよね mallocの実装例とか載ってるわけだしw
>>300 C++とJavaを同列に並べるとか…
本当に書けるの?とか思ってしまうが
Hello C.の人か
>>226 なるほどーちょっと調べてみよう。Pythonというのもあるらしいね。勉強します。
311 :
名無しさん@12周年 :2011/10/14(金) 21:57:26.01 ID:69K0TvFx0
char *p; short *p; int *p; double *p; これみんな同じサイズ
>>221 UNIX系のマシンは、vi
windowsは秀丸だな。
313 :
名無しさん@12周年 :2011/10/14(金) 21:58:26.04 ID:VfB47SC90
弔辞代わりに、C言語的なものを書くってのもオツかもね…w
314 :
名無しさん@12周年 :2011/10/14(金) 21:58:35.71 ID:lLsjRHTj0
CはWin/OSX/Android間での共通コードが使えるからここ最近はずっと使ってるな ffmpeg みたいなのを動かすようなことしてるとどうしても必要だし
C言語使えないやつが printfでレスしてるの見ると笑える
>>305 C言語を学ぶときはとにかくとっつきやすい本で学んで、
"わかった気になったところ"でK&Rで誤った知識や解釈を直せ、
と教わった。
>>305 分かりきってることをくどくど説明されたり、めったに使わないことまで網羅的に説明されるより、
興味を持てる問題を、限られた知識で解決してくれた方が、初心者にとっても読みやすいと思うけど。
アドレス入れるからな。
>>286 いまはどのように生計を立てているのでしょうか?
後学のために教えて下さい。
>>310 あ、じゃあ俺はPython薦めとこう
Rubyよりクセがなくて、最初の言語としておすすめできるし、マスターすれば、ほとんど何でも書けるので、一生もんのスキル
>>313 Cじゃないけど、誰かの葬式のニュースで</Life>ってのを見たな。
322 :
名無しさん@12周年 :2011/10/14(金) 22:01:19.76 ID:aHHSqySd0
fclose(fp);でコアダンプ起こすのはなぜだろう? と思って1日費やしたことがあるのはいい思い出です。 char c[10]; strcpy(c,"1234567890"); こりゃ気づかないわ・・・。
ratfor と C は、どっちが先に考案されたんだろ?
なんでunixのシェルスクリプトダウンロードしてmacで実行するとエラーがでるの??
>>297 OS8→OS10→OS11→OS12→OS13→OS14くらいにはなってたかな?
326 :
名無しさん@12周年 :2011/10/14(金) 22:01:46.99 ID:utDYoBVB0
>>309 いや、
>>291 クラスまでいくと逆に清清しいんだよね
1か0しか入れないフラグをVariantで確保する文系新卒のようで・・・
327 :
名無しさん@12周年 :2011/10/14(金) 22:02:16.09 ID:VCtsmnpe0
>>314 ロジック部分はC/C++で、それをJavaやC#のコード側から呼び出すってのが多いな。
リバースエンジニアリング対策にもなるし。
328 :
名無しさん@12周年 :2011/10/14(金) 22:02:19.81 ID:fOZZ/+hfO
C言語がなかったら… 関数型言語が驚異の発展を遂げて Javaは関数型とオブジェクト指向のハイブリッドになってたかもな。
330 :
名無しさん@12周年 :2011/10/14(金) 22:02:37.39 ID:fUaqmgKP0
構造体のダブルポインタを極めてから語れ、おまいら。
>>288 こうですか?ワカリマセン><
#include <stdio.h>
typedef void (*fnc_t)();
void hello()
{
printf("Hello, World!\n");
}
void doit(fnc_t f)
{
f();/*ポインタの関数使う*/
}
int main()
{
doit(hello); /*関数のポインタ使う*/
return 0;
}
>>315 printfといえば、可変引数の終端も、確かNullだよね。
メモリ化けが起こると大変なことになるよなー
本当、C言語は恐ろしい。。。
windows3.1とかのころ、統合開発環境が出始めて、みんな嫌がって秀丸使っていた。
334 :
名無しさん@12周年 :2011/10/14(金) 22:03:07.81 ID:maAcwrV00
>>300 このご時世
Cはハード周りをピタピタに書く用途に特化してほしいです
フツーのアプリは高級言語で書こうよと思います
古参の俺様はポインタが分かるんだぜアピールは聞いてる方が恥ずかしいです
>>322 誰でも一度は通る道。二度通る奴は馬鹿だが。
336 :
名無しさん@12周年 :2011/10/14(金) 22:03:50.12 ID:lLsjRHTj0
>>327 だね。Cの部分をライブラリとしてUIは他言語にまかせると。
MSの場合やと側の部分が変わりすぎて困るけど
>>305 malloc callocは中級者クラスw
>>315 fputs("see you next world\n" , stdout);
こうですか?わかりません><
Cを単体で言語仕様だの独自性だので優劣を語る奴はアホだろう Cは目の前にあるマシンをより早く、より効率的に、徹底的に使い倒すために生み出されたツール アセンブリ並みの小技利かせられて、かつアセンブリよりはるかに使いやすい実用言語 言語として洗練は二の次、汚いのは当たり前、つかそれがいい
340 :
名無しさん@12周年 :2011/10/14(金) 22:05:17.33 ID:aHHSqySd0
>>335 メモリぶっ壊れると全く関係ないところで落ちるからな…。
Cって自由度が高い分、自己責任ってことなんだろうけど。
341 :
名無しさん@12周年 :2011/10/14(金) 22:05:26.18 ID:v0o10WZq0
整数への型変換がクソ過ぎる
342 :
286 :2011/10/14(金) 22:05:48.31 ID:XjwChnl20
>>319 ソフト派遣(特定派遣時代)→ソフトハウスで受託、その後SE→メーカーへ転職してその後
ソフト屋からシーケンス屋へ鞍替え→ハード図面も書けるようになってハード設計屋兼務→
今に至る
343 :
名無しさん@12周年 :2011/10/14(金) 22:06:04.91 ID:7QZ0IMVM0
void main(void) { for(;;) { printf("こんにちは世界!\n"); } return; }
ポインタのポインタってどゆ時に使うわけ?
>>334 とんちんかんな回答だねえ
C++とJavaの間には、CとBASIC程の距離があるんだよ
ポインタ使える利点って何?
c言語なんて覚えるくらいなら英語覚えたほうが断然役立つよ
348 :
名無しさん@12周年 :2011/10/14(金) 22:06:50.22 ID:aHHSqySd0
atoiをアトイとよぶか、エートゥーアイと呼ぶかでわかれるよな。 最初アトイ、アトイって言うから何かと思った。
349 :
名無しさん@12周年 :2011/10/14(金) 22:07:19.53 ID:aHHSqySd0
350 :
名無しさん@12周年 :2011/10/14(金) 22:07:36.80 ID:i1X+fNoW0
>>335 そのバカが世の中の標準なんだよ、
合理的でない言語は廃れて欲しいんだが・・・
351 :
名無しさん@12周年 :2011/10/14(金) 22:07:36.64 ID:VCtsmnpe0
>>339 当時でいえば十分洗練されてると思うぞ。
そりゃ後世の言語に比べりゃプリミティブだけど、
それらの言語はCの教訓をベースにして作られてきたわけで。
352 :
名無しさん@12周年 :2011/10/14(金) 22:08:04.43 ID:pmUao6vk0
>>340 そもそもOSが作れちゃうほど危ない事が出来る言語が
プログラム入門になってるのがおかしかったとは思う。
家計簿をつくるのにメモリアドレスとか言い出す必要があるのかと。
char:ちゃー short:しょーと long:ろんぐ int:いんと
>>342 ありがとうございます。
私は組み込み系の会社にはいったんですが今はそこでなぜかiPhoneアプリを作ってます。
おれもハードの方に行きたい。
358 :
名無しさん@12周年 :2011/10/14(金) 22:09:57.98 ID:69K0TvFx0
逆襲のchar
360 :
名無しさん@12周年 :2011/10/14(金) 22:10:44.65 ID:s/P9FnuQ0
蟹飯&豊
361 :
名無しさん@12周年 :2011/10/14(金) 22:10:55.77 ID:pmUao6vk0
>>323 考案したのは同じ人なので、どちらが頭の中に先に浮かんだかだと微妙なんだろねえ
362 :
名無しさん@12周年 :2011/10/14(金) 22:10:59.28 ID:aHHSqySd0
>>355 charは普通にキャラと呼ばないか?キャラ6バイトとか。
363 :
名無しさん@12周年 :2011/10/14(金) 22:11:00.29 ID:VCtsmnpe0
>>344 ポインタの参照先のデータが、OS側の都合で別のアドレスに移動する時など(フラグメント解消などで)。
間にもう1つポインタを挟んでおき、その中間ポインタはアドレスが変わらないようにしておけばいい。
>>357 素晴らしい回答だ。さすができる人は違う
365 :
名無しさん@12周年 :2011/10/14(金) 22:11:13.89 ID:utDYoBVB0
>>354 家計簿つくんのにC言語使うの?
エクセルとか123とか、昔ならビジカルクとかあったじゃん!
>>354 マイコン時代のベーシックは今考えてもかなりの水準に達してた。
入門かつ応用という素晴らしい能力を持っていた。
367 :
名無しさん@12周年 :2011/10/14(金) 22:11:56.64 ID:jBM9e9dt0
訃報スレなんだし、冥福を祈ろうぜ
368 :
名無しさん@12周年 :2011/10/14(金) 22:12:00.10 ID:aHHSqySd0
ところで、共用体(union)って使ったことある? 今までお目にかかったことがないんだが。
369 :
名無しさん@12周年 :2011/10/14(金) 22:12:21.72 ID:lLsjRHTj0
>>339 うみゅ。
中華鍋ひとつあれば、とりあえず煮物揚げ物焼き物茹で物蒸し物何でもできのだ。
そりゃ圧力鍋やら電子レンジやらの方が便利だが。
371 :
名無しさん@12周年 :2011/10/14(金) 22:12:55.59 ID:CCJx3PHEP
>>368 unionはCPUに依存するから普通にプログラミングする分にはまず使わない。
アセンブラからCへ移行した時にK&Rは有り難かった。 結局、ICEで一行一行確認していくんだけど、 高機能アセンブラとしてCは良く出来ていた。 ポインタやトリッキーなキャストを使わずに、 型どおりの構造化プログラミングする限りは高級言語として使えるけど、 それらを踏み外した時に可能なインチキっぽい動きもお手の物って懐の深さがよかった。
373 :
名無しさん@12周年 :2011/10/14(金) 22:13:49.62 ID:pmUao6vk0
>>355 malloc:マロック
strcat:ストリングキャット
strcpy:ストリングコピー
fgets:エフゲッツ
>>365 家計簿つけるだけならプログラミングなんぞ不要かと。
家計簿ソフト作るなら、ポインタでも参照でもいいけど理解しておかないとダメだろ。
ほかはともかく、型宣言のスタイルと "creat" には未練を残してたんじゃないかなあ。
>>368 I/Oをbit毎に扱うケースではよく使ったかな。
>>368 ま、あんまり使わないねw
何せCだとキャストでなんでも出来ちゃうからw
>>368 受信伝文を切り分けるときなんかには重宝する
C言語ってB言語で作ったの? ならB言語は何言語で作ったの?
381 :
名無しさん@12周年 :2011/10/14(金) 22:15:00.00 ID:6CQiq/3fO
>>368 俺はソケットのプログラミングで少し使ったくらい。
382 :
名無しさん@12周年 :2011/10/14(金) 22:15:03.99 ID:jBM9e9dt0
unionはワードを分解して使わなければならない場合に便利 通信の世界では結構使われているような気がするけど
383 :
名無しさん@12周年 :2011/10/14(金) 22:15:32.15 ID:fOZZ/+hfO
>>368 ビットフィールドと組み合わせて使ったことがある。
384 :
名無しさん@12周年 :2011/10/14(金) 22:16:18.29 ID:pmUao6vk0
>>368 SCSIとかATAPIのコマンドを受けて解析する時
exFATの32バイトのDEを取得して解析する時
>>8 ジョブズはアニメ屋とかデザイナーとかの印象。
>>348 アトイは後から先輩に教えてもらったw
<stdio.h>を初めて見た時にスタジオと読んでた
mallocの呼び方も魔ロックとかエムアロックとか変な呼び方ばかり覚えたw
>>368 バイナリフォーマットが決まってて、モードによって、データのパッキングの仕方が違う場合。
struct のポインタをキャストすれば、同じことができるけど、分かりやすいでしょ?
>>380 BCPL
で、BCPLは多分アセンブラで書かれたんだと思うw
389 :
名無しさん@12周年 :2011/10/14(金) 22:17:58.38 ID:lLsjRHTj0
>>371 big endian とかって最近みかける?
プログラミング言語Cを一日で通読して、プログラマになったけど わかりやすいのに必要な全てが書いてある本だった。
union使うぐらいなら、char型でメモリ配列用意して、ポインタとキャストでアクセスするなぁ。
VisualStudioばかり使っていてUNIX畑に放り込まれたら、自分が浦島太郎になった気分を味わえるぜ。
394 :
名無しさん@12周年 :2011/10/14(金) 22:19:23.31 ID:hPYJIAjT0
>>368 結構使うけど、管理がしにくいから、使用は推奨しません。
といった感じかなぁ。
>>368 windowsでは良く使うだろ?
特にDirectXとか使う時には
397 :
名無しさん@12周年 :2011/10/14(金) 22:20:20.67 ID:Vk/MM3JhO
root権限でログインすると楽しい
398 :
名無しさん@12周年 :2011/10/14(金) 22:20:39.85 ID:ZZ1C1AVL0
チョムスキーから受けた影響は大だよ 2パスのコンパイラ
UNIXって2chの危機を救った奴らか。凄いな。
400 :
名無しさん@12周年 :2011/10/14(金) 22:21:35.39 ID:7QZ0IMVM0
>>389 ARM って big endian じゃないの?
68000 系と RISC 系が、ほとんどなくなったからね。
402 :
名無しさん@12周年 :2011/10/14(金) 22:21:52.51 ID:CCJx3PHEP
armはintelのコードを流用したくてlittle endianでほぼ決着したのかな
403 :
名無しさん@12周年 :2011/10/14(金) 22:21:59.04 ID:haPZrVgW0
ジョブスやリーナスなんかよりよっぽど功績があるんだろうが地味だな
404 :
名無しさん@12周年 :2011/10/14(金) 22:22:19.31 ID:pmUao6vk0
>>368 あとは8ビットCPUでの組み込みの開発なんかで
プロジェクトのスローガンが「大切に使え血の1バイト〜RAMは限りある資源」
という状態で
union {
なんかの構造体の配列[];
int 型の配列[];
short 型の配列[];
/* 多分(いまマジで)同時には使わないはず */
} wrk_un;
とかを外部変数に
405 :
名無しさん@12周年 :2011/10/14(金) 22:22:38.45 ID:aHHSqySd0
>>397 root権限で作業していてヤバ気なものを消してしまったときほど焦るものはないな。
まあ、消したことは黙ってるけどな。
406 :
名無しさん@12周年 :2011/10/14(金) 22:23:08.45 ID:+Xn//kQt0
英文と和訳の初版本持ってる。 どっちも俺が小・中学生時代に、親父が買った物だけど。 蟹飯さんはご存命ですね。
あぁ、ITの偉人が次々と。
68000プログラマーズ・ハンドブックをぼろぼろになるまで読みながら Aztec C68K でモトローラのCPUボードと格闘してた頃が懐かしい…。
>>389 個人的には最近見かけたわw
とある気象関係データの圧縮を解凍するプログラム。
あの世界はいまだにUNIX野郎のすくつだから、WindowsPCの
バイナリとか配布してくれてないんだよなw
411 :
名無しさん@12周年 :2011/10/14(金) 22:23:50.80 ID:P2I+U+xh0
C言語をマスターすると何になれるの?
412 :
名無しさん@12周年 :2011/10/14(金) 22:24:12.26 ID:ZZ1C1AVL0
basicならmid$()で色々な応用が出来るようになれば。
>>181 Adaは……そうだなあ、春秋戦国時代の墨家なんてどう?
Xcode4のARCは糞。
415 :
名無しさん@12周年 :2011/10/14(金) 22:24:25.98 ID:luFW+xY40
レスの8割意味が分からん。 2ちゃんって優秀なのか低能なのかようわからんわ。
今時のCPUはエンディアンは選べる が、リトル使う方が多い けど、ネットワークオーダがビッグエンディアンなので。
417 :
名無しさん@12周年 :2011/10/14(金) 22:25:19.41 ID:lLsjRHTj0
>>410 ネットワーク系のデータやりとりも big endian だから、使われてるとこではいろいろ見かけたりするか。
418 :
名無しさん@12周年 :2011/10/14(金) 22:25:48.27 ID:utDYoBVB0
>>405 昔、rootでログインしてORACLEのシステムフォルダー消しましたw
419 :
名無しさん@12周年 :2011/10/14(金) 22:26:13.97 ID:+Xn//kQt0
>>404 >「大切に使え血の1バイト〜RAMは限りある資源」
だったら、最初からASMで書けばいいじゃん。
まだ、脳内アセンブルというか、マシン語ネイティブだぜ。
>>386 スタジオ・エッチと呼ぶのは基本ネタだと思ってました。
>>351 別にそれは否定しないけど、洗練よりも実用性を優先した箇所が数多く見られるしな
特に意識してPDP-11の命令セットにあわせた感じが透けて見えてる
*p++=d; なんて書き方、オートインクリメントアドレシング一発に変換されるのがプログラマにも明らかだ
汎用言語の皮をかぶりながら、実は特定プロセッサ上で効率よく動くコードが書けるように意図されてる
この辺が理論優先できれいにつくられた高級言語とはぜんぜん違う
422 :
名無しさん@12周年 :2011/10/14(金) 22:27:07.94 ID:pmUao6vk0
>>389 「面白いほどよく落ちる SPARC」
っても懐かしいねえ
>>403 まあ、ネットのある時代に活躍した人かそうでないかで随分扱いが違うんだろう
スレ立て依頼「お前ら、オイラが新しい言語を開発しましたよ。OS記述に最適」
↑
「士ね。糞ヒゲが」
423 :
名無しさん@12周年 :2011/10/14(金) 22:27:19.36 ID:Da1JZx6AO
最終的にはPEEKとPOKEが基本命令になるという、恐ろしく応用力のある言語だった。
>>368 良く使ってたw
送られてきたデータの塊から必要な情報を抜き出したい時や、
そのデータ構造内でポインタ使って複雑だった場合、
直接ポインタや配列などで抜き出しても良いんだけど、
共用するデータの構造が決まってる場合unionで名前付けてアクセス出来るから
ソースが見やすくなった。
通信や組み込み用途では重宝する。
>>415 優秀とか低能とかの問題じゃなくて、
ねらーはおっさんなんだよ。w
優秀な若手でも、このスレは大半理解できないと思われる。
>>409 調べたら、確かにそうだった。Android も little endian なんだ。
430 :
名無しさん@12周年 :2011/10/14(金) 22:29:04.91 ID:52qZjHJO0
カーニ飯は元気なのか
431 :
名無しさん@12周年 :2011/10/14(金) 22:29:07.08 ID:G3OkrPnI0
こんな構文が欲しいなって事がよくあった。 do { ; } while (condition) { ; }
エンディアンは結構手持ち資産の流用率によって決まってる気がする。 コードにエンディアン依存の記述がありそうなんだけど直す気がないときw
>>421 良い言い方で言えば、より実践的な言語ってところか
ある意味今日の2chが有るのは UNIX有らばこそ・・・ (正しくはUNIX板の有志【勇士】様達だが・・・) 合掌・・・
>>417 なるほど、インターネットもUNIX文化圏発祥だもんな。
>>420 Windows98の頃まで、エクスプローラーでファイル一覧を見ると、
ファイルの説明のところに「Hファイル」って出てたよね。
ライブラリのフォルダーとか開くと壮観w
436 :
名無しさん@12周年 :2011/10/14(金) 22:30:38.94 ID:lLsjRHTj0
>>429 Win/OSX/Android あたりで共通な感じに揃ってきたから仕事柄とくに気を遣うことはなくなったなあ、と
ハードの内部データが big endian でそれに揃えるなんてのはあるけど
カニチャーハン
438 :
名無しさん@12周年 :2011/10/14(金) 22:30:43.76 ID:ZZ1C1AVL0
フォークして子プロセスって仕組み、すごいよね。
>>429 AndroidではWindowsで使ってたコードが一部移植できて助かったよ
440 :
名無しさん@12周年 :2011/10/14(金) 22:31:37.82 ID:IMd+v3hE0
WindowsってソースはC言語で書かれてるの?
441 :
名無しさん@12周年 :2011/10/14(金) 22:31:41.54 ID:+Xn//kQt0
>>428 コードを1サイクル、1バイト単位で削ってく楽しみなんて、知らないだろうさ。
Fortran の方が書きやすいジャン。もちろん77ね。 俺は今でも fortran だけで計算物理屋やってるけど、、、 遅れてるのかなぁ?40才何だが。。。
443 :
名無しさん@12周年 :2011/10/14(金) 22:32:59.83 ID:pmUao6vk0
>>438 UNIXでビビッタのはやっぱデバイスファイルというもんかな
「なるほどこりゃ便利」
444 :
名無しさん@12周年 :2011/10/14(金) 22:33:16.51 ID:lLsjRHTj0
>>442 科学計算は遺産がおおくてしかたなくちゃう?
すぐにCさせてくれるヤリマン女の脳みそは、ウニックスで動いている。マルチタスクでフェラチオ可能。
446 :
名無しさん@12周年 :2011/10/14(金) 22:34:33.86 ID:KHYidl2n0
>>295 C言語は、アセンブラ知らない人間が使っちゃダメだと個人的には思う。
でも最近はC言語は組み込み系の仕事でしか使わないし、
Java、C#あたりが、その問題は解決済みかと。
>>393 逆じやね?
猿の惑星に来たのかと思える
449 :
名無しさん@12周年 :2011/10/14(金) 22:35:25.51 ID:pmUao6vk0
>>442 改行のない「number=」という文字列を出力するプログラムを作りなさい
ココで語られてるのは、前世紀の遺物的な話だもんなw 今は誰かがやってくれるから普通は意識しなくて良いレベルの話w .NETフレームワークの中の人がやってる様な事を昔は皆が一からやっていたって話w
>>441 Intelのセミナーとかいくと、「SandyBridgeではxxx命令の方が何サイクル速い」とかやってるよw
>>421 Cに慣れてると、洗練された高級言語が吐くコードは無駄なオーバーヘッドが多すぎて好きにはなれない(´・ω・`)
>>329 ありがとう!参考になったよー。pythonもやるです。
454 :
名無しさん@12周年 :2011/10/14(金) 22:37:37.63 ID:98gfILoz0
社員とかに例える。 Java 遅刻が多い。実は某S社の派遣社員。仕事は結構こなす。 C++ 仕事は早いが発狂することがある。ハルマゲドン起こすことがある。 C 仕事は早くニッチがある。発狂することがある。 C# 実は某M社の派遣社員だった。 D 新人社員。最近忘れられがち。 PHP 自分に合った仕事を与えられないと何もできない。 Basic系 事務。 Python 机と机の間隔にこだわる。 Perl 机の上が$や_で散らかっている。仕事が見えないが何故か結果は出ている。 Ruby 自称ベストフレンド。 ObjectiveC 某A社に関わる案件しかやりたがらない。 Lua 相性のいいチームで仕事するととても頼りになる。一人じゃあまり。 JavaScript ルーキーだが、結構昔から居たりする。 HSP 育児担当。副業で結構稼いでるという噂がある。 AWK 口数が少ない。いつも一言。 DOSバッチファイル 何故かほとんどの企業にスターティングメンバーとして潜んでいる。 アセンブラ ある特定の状況でヘルプで呼ばれることがある。
455 :
名無しさん@12周年 :2011/10/14(金) 22:37:44.85 ID:pmUao6vk0
>>448 ウチの会社はICE一台しかなくて、アプリ開発は何でもROMモニタで開発や
456 :
名無しさん@12周年 :2011/10/14(金) 22:37:50.24 ID:+Xn//kQt0
>>442 後継となる言語なり環境がないから、恥ずかしいことではないよ御同輩。
但し、PDP-11やVAX-11で紙テープやパンチカード使ってなければね。
MS-DOS全盛の頃、Reduce on PCという数式処理ソフトを使ってたことがあります。
>>451 でも、それを気にするのはコンパイラの作者だけだよな。
459 :
名無しさん@12周年 :2011/10/14(金) 22:38:10.02 ID:lLsjRHTj0
>>450 .NET は今後も残る?
8 とか捨てる方向にあるような気もするけど
>>452 アセンブラからCに移行したときも同じように思ったよ
あそこがリッチ?
>>444 俺も昔「Fortranは先人たちが残してくれた膨大なライブラリ資源が…」と
聞かされて勉強したけど、そのうちSASとかMathematicaとか出てきたら、
「おお、すげー便利じゃんw」でホイホイ捨てちったw
>>441 PentiumにMMXが載ったころ、C言語で書かれたMPEG2エンコーダ/デコーダの
ソースをMMX使ったアセンブラで書き直す仕事やったんだけど、めっちゃ楽しかった。
1クロックでも早く動くコードを試行錯誤しながら考えたな。
464 :
名無しさん@12周年 :2011/10/14(金) 22:39:12.49 ID:Fd1532vj0
AndroidはCで書かれてるの?
>>287 Life with UNIX (全部大文字)って本に載ってる
vi ってemacs インストールするためのプログラムだよね
同じ本のbill joy の発言「creat にe付けときゃヨカッタ viこんなに使われるとは思わんかった」
unixはメモリ足りなくなると悲惨 winの優秀さが今になってわかった みんなandroid、ios、macで苦い経験をしている筈
>>460 だよね。コンパイラの吐くコード見てそう思った。最初の頃は。
>>465 creat に e はケン・トンプソンの発言だろ?
469 :
名無しさん@12周年 :2011/10/14(金) 22:40:25.10 ID:pmUao6vk0
>>458 number=
1327
number=1327
メモリ内で何が起こってるか、どう使いたいのか明確にイメージできるなら むしろポインタ使った方が楽だけどなあデバッグもダンプ見るだけで楽だし 値なんだか参照なんだか記述があいまいなのは気持ち悪い JAVAだと、だんだん「良く考慮せずにいきなりコーディングして、動けばOK」みたいに 自分が堕落していくのがわかる。ポインタ使えりゃ偉いわけでは絶対にないけど 使えないことを威張る理由がよく解らんw
>>465 creatはトンプソンでしょw
「UNIXを設計しなおすなら、何を直します?」
「中級言語」って表現がピッタリくる、唯一の言語。
473 :
名無しさん@12周年 :2011/10/14(金) 22:42:14.42 ID:+Xn//kQt0
>>463 元祖8086なら、mov ax,0よりxor ax,axの方が速いとか、懐かしい世界だよね。
474 :
名無しさん@12周年 :2011/10/14(金) 22:42:18.44 ID:lLsjRHTj0
>>462 最近はそっちばっかで、まともに勉強してないやつも多そうだなw
>>463 その技術を一から教えて欲しい、有料でもええわw
>>456 >>
>>442 >> 後継となる言語なり環境がないから、恥ずかしいことではないよ御同輩。
>> 但し、PDP-11やVAX-11で紙テープやパンチカード使ってなければね。
毎日 gfortran on FreeBSD つかてますよ。ホントありがたいです。
476 :
名無しさん@12周年 :2011/10/14(金) 22:42:42.72 ID:pmUao6vk0
>>468 そいや bill joy って今なにしてはるの?
一時期、「現代の科学技術をこれ以上発展させない運動」
みたいなのやってなかったか?
>>320 俄然Pythonヤル気が起きました。使ってる3Dソフト(Cinema4D)がPython採用してるのでためになるし。ありがとう!
478 :
名無しさん@12周年 :2011/10/14(金) 22:43:06.73 ID:jBM9e9dt0
OSはunixで言語はCという仕事をよくやったよ それも、偉大なる先人のおかげなんだな
DOSより先にUNIX 仕事で使ったからなHP-UX 6.5 ファイル名14文字まで Win95になってもファイル名に日本語やスペース気持ち悪くて使えなかった OFFICE98は全角スペースファイル名英語版で開けなかった
リッチーさん伝説すぎてまだ生きてるって知らなかった そしてお亡くなりになったのか・・・なむー
rm お前ら
483 :
名無しさん@12周年 :2011/10/14(金) 22:43:56.62 ID:98gfILoz0
c→ユダヤ教 asemmbler→ゾロアスター教、ミトラ教 c++→カバラ java→キリスト教 javascript→グノーシス主義 c#→イスラム教 f#→バハーイー教 lisp→原始仏教 commonlisp→大乗仏教 cobol→ジャイナ教 fortran→バラモン、ヒンドゥー教 smalltalk→道教 pascal→儒教 algol→エジプト神話 scheme→部派仏教 python→西洋魔術 ruby→ローマ神話 parl→ギリシャ神話 haskell→神道
>>463 俺は、80486が出た時に自分のテクニックが根こそぎ否定されたような気分になって、
クロック単位で詰めていく作業を放棄しちゃったんだよな。
それ以前は、自己書き換えだのなんだの、どこがコードでどこがデータか
錯綜しているものばかり書いてたもんだから、486のキャッシュのせいで
暴走しまくる羽目になった。w
大学でUNIXのemacsとかいうエディタ使ってC言語やってるわ お世話になってますなー プログラミング大嫌いだけど
486 :
名無しさん@12周年 :2011/10/14(金) 22:44:54.16 ID:pmUao6vk0
487 :
名無しさん@12周年 :2011/10/14(金) 22:44:55.32 ID:+Xn//kQt0
なんかC言語に限界が来る、みたいな話で すごい怖い話を聞いた事があるんだけど、どんなだっけ
489 :
名無しさん@12周年 :2011/10/14(金) 22:45:33.42 ID:RVx1TbwG0
Cの初期は石田先生訳のこの人の本しかなかったからな ヌルポもこの人がいなければ生まれなかったかも 合掌
>>486 おどろきだ
やっぱ頭を使うといいのかな
どんどん偉人が亡くなってくね ハッカーズまた読みたくなった
495 :
名無しさん@12周年 :2011/10/14(金) 22:47:40.90 ID:utDYoBVB0
>>479 >Win95になってもファイル名に日本語やスペース気持ち悪くて使えなかった
確かにねw
つい最近まで、何か障害が起こって環境が変っても使えるように、と思ってしまい
そういうファイル名は避けてきたよ。
>>491 うむ。
ついでにこれも貼っておこう。
FORTRAN II:T型フォード
かつては王座を占めていた。
FORTRAN 77 :フォード6気筒フェアレーン
スタンダードトランスミッション。シートベルトなし。
COBOL:ワゴン配送車
大きくて格好は悪いが、よく働く
BASIC :中古のランブラー
エンジンは再生もの。シートに継ぎがあたっている。親父が練習用に
買ってくれたが余裕が出来たら買い換えないと溝にはまったりして危険だ。
C :黒のファイヤーバード
男っぽさが売り物。シートベルトはオプション。ときどき警察ざたになる
(アセンブラにとび込む)
Pascal :フォルクスワーゲンかぶと虫
小さいが頑丈。かつてはインテリ層のあこがれ。
PL/I :キャディラック・コンバーチブル
オートマチックミッション、ツートンカラー、白タイヤ、クローム仕上げの
ピカピカ排気管。フロントガラスにボンボンの飾りが下がっている。
出展はD.Salomon & D.Rosenblueth,1986:SIGPLAN NOTICES,21,No.9,6.
西川利男「プログラミング言語入門」あとがきより抜粋。
497 :
名無しさん@12周年 :2011/10/14(金) 22:48:35.93 ID:+Xn//kQt0
>>491 assemblerも間違ってるのも気付けよ。
>>473 懐かしいw
昔、分かりやすくするために、この初期化命令をマクロにしたんだけど
コードレビューのときに返って分かりづらいといわれてショックを受けた
覚えが・・・
499 :
名無しさん@12周年 :2011/10/14(金) 22:48:58.13 ID:lLsjRHTj0
>>479 ファイル名もSJISからUNICODEに代わってたりと安心して使えんね、と
500 :
名無しさん@12周年 :2011/10/14(金) 22:49:02.81 ID:xZqOpRCV0
>>475 Linuxでifort使う方が速いかな?とオモタり
まあ最適化ちゃんとしてれば大きな差は出ない気はしますが
ところでMacペイントのコードを公開させたおじいちゃんて誰だっけ?
Z80の時から言われてたなw LD A,0 よりも XOR A,Aが速いと
>>487 セグメントエラー (coreを出力しました)
>>460 漏れは BASIC→C→アセンブラ だったから、Cに移行した時には逆に感動した(´・ω・`)
>>463 MMX Peintiumだったら、UパイプとVパイプの並列実行での最適化で漏れは遊んだな
Uパイプ専用命令、Vパイプ専用命令、両方のパイプで使える命令、両方のパイプを占有する命令・・・
命令の組み合わせ方でクロック数が変わるパズルだったw
結局、ハードを作る方が楽しいよね。 ソフトでは、日本はアメリカとかに勝てんし。
>>52 あ、オレ怒ってたほうだ ^ ^;
コンパイラ乱立してた頃、行末から解釈はじめて、間にスペース入ってると乗算だと思い込むようなクソが実在した。
507 :
名無しさん@12周年 :2011/10/14(金) 22:51:44.06 ID:98gfILoz0
しゃばぬるぽ〜
シグナル 9 を食らった とか 腹に蹴りくらってコアダンプ とか格ゲー作れオマエラwizardの上のmentorだろ
509 :
名無しさん@12周年 :2011/10/14(金) 22:52:44.17 ID:pmUao6vk0
>>503 最近はゲロを吐くことを「coredumpすますた」って言わないよね
510 :
名無しさん@12周年 :2011/10/14(金) 22:53:45.11 ID:hNHDtYXU0
BASICとAsemblerでプログラム入門した俺にとって、変数のスコープがわかりにくかった。 なので、K&Rの初版本の変数のスコープの部分を暗記するほど呼んだのは良い思い出。 あんまり覚えすぎちゃって、VCでK&Rの文法でコーディングしてフラグたてまくった。w
Z80 か、 PUSH BC POP DE だな
>>502 間違えた
XOR A だった
オペランドの片方はアキュムレータ固定だったな
513 :
名無しさん@12周年 :2011/10/14(金) 22:54:18.95 ID:+Xn//kQt0
このスレ、どう考えても平均年齢は45以上だよなw
>>459 .netはWin8でどうなるかまだ未定って話だよねぇ。
実際どうなるんだろう。
ばっさり切り捨ては無いと思いたい。
>>470 同意。
CはターゲットCPUの動きと同期して考えるのが当たり前、
みたいな使い方をしてたから、概念的な今時の高級言語には違和感あるけど
それはそれで面白がって使いたい所。
515 :
名無しさん@12周年 :2011/10/14(金) 22:54:54.97 ID:pmUao6vk0
>>508 俺はあの娘とpipeでつながっています
>>511 中学の授業中にニーモニック対応表片手にそんなコードを
ハンドアセンブルしてたw
なつかしい…w
>>509 大人数でエレベータに乗るときに、「お、FILOですね。」ともいいません。
教科書書ける日本の優秀な人は説明がヘタクソなオタクか忙しくて時間とれないから インチキ人間が更に弟子や学生に書かせるからな 言語作った人が書いた本が簡潔で分りやすい(挫折する人もいるけど)のはありがたい
>>509 最近はゲロを吐く前に青ざめた(ブルースクリーン)ところで止まるもんな。
PL/M推しで、C言語が流行ってしまったことを心から残念がってる人がいたなあ
ストゥディオ
525 :
名無しさん@12周年 :2011/10/14(金) 22:56:52.87 ID:lLsjRHTj0
>>514 METRO とか見てると完全切り捨てもありかなって気するけど、なくなると発狂する人多そうやね
526 :
名無しさん@12周年 :2011/10/14(金) 22:57:06.29 ID:t69IIoQ50
K&Rなんて知らない人が多いのだろうと思っていたが、 そうでもないようで、ある意味安心した。
>>509 同期の超デブにj「コアダンプ」ってあだ名がついた。
TIOBE PCI(2011年4月) 1 Java 19.043 9ヶ月連続1位 2 C 16.162 3 C++ 9.225 4 C# 7.185 上昇傾向 5 PHP 6.584 6 Python. 4.931 7 (Visual)Basic 4.682 8 Objective-C 4.386 上昇傾向 9 Perl 1.991 10 JavaScript. 1.513 11 Ruby 1.482 12 Lua 1.035 強く上昇傾向
C言語はコンパイラの数だけ「文法」があるな。 ANSI準拠といっても油断できない。
>>513 UNIX全盛期のころの人間ばかりだからなw
SunやDecでSunOSやDigitalUNIXのマシン使ってた人間多いだろうな
>>526 つかこんなスレ、知ってる人しか開かんやろw
532 :
名無しさん@12周年 :2011/10/14(金) 22:58:45.40 ID:KydmtNEnO
>>515 僕 | あの娘
こんな感じ? 初心者なのでよくわかりません(>_<)
533 :
名無しさん@12周年 :2011/10/14(金) 22:59:29.75 ID:lLsjRHTj0
>>526 当時はそれしかなかったのでほぼ全員がK&Rを読んでC言語を覚えた
>>487 login : NsYM9A7L0
Password: *********
mail +Xn//kQt0
Subject: ゴラぁ!
勝手にプロセスを切るな!
心臓止まるかと思うたわw
.
EOT
>>532 実は
1>/dev/null 僕|あの娘
だったんだよw
>>516 cdがcall, c9がret は覚えてるw
fooとbarが使えて一人前。 なんたら?かんたら?素人レベル
540 :
名無しさん@12周年 :2011/10/14(金) 23:00:24.04 ID:+Xn//kQt0
>>515 しかし、あの娘のsocketを取得出来ないのですね。
541 :
名無しさん@12周年 :2011/10/14(金) 23:00:25.87 ID:69K0TvFx0
>>488 それ2039年問題じゃね?
32ビット整数で秒数をカウントしてるせいで限界が来るとか
542 :
名無しさん@12周年 :2011/10/14(金) 23:00:36.66 ID:pmUao6vk0
>>532 リダイレクトしてみる
僕>あの娘
出力はよくわかりません(><)
>>486 >>490 Wirth, McCarthy, Minsky, Hoare, Sutherland, Knuth, Allan Key だって生きてるし。
トーバルスを入れるなら、Guy Steel Jr. と Bill Joy は入れないと。
Patterson, Hennesy とかも。 有名人なら、Jim Clark も。
546 :
名無しさん@12周年 :2011/10/14(金) 23:01:43.08 ID:lLsjRHTj0
子供がいる奴は娘かどうか確認しないといけないスレなのかな?
影響力で言えばジョブズなんか及びもつかねー
548 :
名無しさん@12周年 :2011/10/14(金) 23:02:40.67 ID:xZqOpRCV0
>>518 matzとか本書いてるけどどうなんじゃろな
ゴラぁって言ってたのか
550 :
名無しさん@12周年 :2011/10/14(金) 23:02:56.55 ID:OOEb7GWY0
なんか、このスレ開くと、2、30年前に帰った気分になるんだよね
>>538 Z80系ですね?
パピコンwでROMカートリッジの機械語モニタ
(PAPA−MONITOR by システムソフト福岡)で
遊んだ記憶があるw
>>483 アセンブラはマシン語をニーモニックで記述するだけだからなあ
全部の宗教が、コンパイルするとゾロアスター教になるのか??
553 :
名無しさん@12周年 :2011/10/14(金) 23:03:38.20 ID:Tf1X+lYj0
詳しい人は ドラゴンボールの登場人物で例えてくれ
>>498 最近のコンパイラなら、Immediate は極力使わないだろうけどね。
RISC なら、ゼロレジスタがあるしね。
556 :
名無しさん@12周年 :2011/10/14(金) 23:03:45.46 ID:tGYhQhuB0
Delphiって消えた?
C言語やっててよかったけど、もう業務じゃ使いたくない。 危なすぎる。
スティーヴン・レヴィーの「ハッカーズ」はバイブル。 胸を熱くして読んだもんだw
559 :
名無しさん@12周年 :2011/10/14(金) 23:04:33.11 ID:Fd1532vj0
foo bar fubar = fucked up beyond all recognition
560 :
名無しさん@12周年 :2011/10/14(金) 23:04:39.30 ID:dsDvcrvk0
でも、UNIXは良く出来てるよね。OSが落ちたなんて一度も経験がない。 それ比べて窓は...
Cは何でもできるし プログラマに凝った人いると保守できなくなるしw ポインタで間違ったことやる人多数だし。 確かに人の書いたプログラムの面倒は見たくないよね
このスレの平均年齢は48歳
C言語とUNIXがなかったらMacOSXやiOSもなかった 知名度はないけどジョブズよりもずっと重要な人物だ
ジョブズはセールスマンだから比較対照じゃない
565 :
名無しさん@12周年 :2011/10/14(金) 23:07:58.49 ID:+Xn//kQt0
Cが出来てアセンブラも読めてメモりに直接マシンコード打ち込める人って貴重品だろ
javaのコードみて最初にそいつがC勉強してたら Cライクなコーディングになるから見てて面白いw
569 :
名無しさん@12周年 :2011/10/14(金) 23:09:19.38 ID:sUKVCeTO0
もし天国に行ったらジョブズがハグを求めるような人
570 :
名無しさん@12周年 :2011/10/14(金) 23:09:52.60 ID:OOEb7GWY0
571 :
名無しさん@12周年 :2011/10/14(金) 23:10:08.19 ID:6CQiq/3fO
>>545 Guy Steel Jr. ジャーゴンファイルの人だね C Reference Manual も共著
昔の趣味プログラム組んでた人なら 多くの人は逆アセンブルの1回や2回経験してるだろうな。 その流れに乗った人はパソコンwに組み込みのBASICに事足りず Cにのめりこんでるはずw
far とか near が必要なターゲットはいやだった!
575 :
名無しさん@12周年 :2011/10/14(金) 23:11:07.90 ID:98gfILoz0
C→ツーバイフォー C++→木造軸組 Java→重量鉄骨 C#→ユニット式プレハブ BASIC→竪穴式住居
HogePiyoFugaってなんか抵抗あるんだよなー
構造化、引数のタイプ、リターン、全てちゃんと理解してないと使えない言語だから、 すごい勉強になるよね。 おまけにCPUとかハードウェアの知識も必要になってくるし。 void main(void *)
>>567 組み込みなら、イヤでもそうなるんじゃないか?
職人的な高速化が出来るかどうかは別として
>>574 インテル系乙
そんなのお構いなしの、モトローラ最強
creat
>>565 C言語はX68000,Solarisで覚えたからnear,farには縁がなかったw
HogeAgeSage
>>579 アドレスちょっとミスったらバスエラーとか最低w
>>572 scheme や Common Lisp の中の人。Lisper にとっては神じゃないの?
世界最初の高級言語を作った人?
586 :
名無しさん@12周年 :2011/10/14(金) 23:14:53.19 ID:KydmtNEnO
法宴な雰囲気のスレだなぁ
587 :
名無しさん@12周年 :2011/10/14(金) 23:14:57.61 ID:QHzgNHOL0
>>25 手元の本『言語設計者たちが考えること』によると、カーニハンに関しては
MSの動向に合わせてVBからC#に移行したって言ってるから使えるんじゃないの?
>>581 68kはアセンブラとCの距離が余りなかったなw
>>463 俺も最下層がクーリーテューキーで実数部と虚数部の計算部分書いてたよ。
後で読みやすいようにCで書いたけど。
東海大のPDFが役に立った。
590 :
名無しさん@12周年 :2011/10/14(金) 23:15:27.79 ID:+Xn//kQt0
>>567 現代社会では変な人って言われます。
>>574 8086のメモリーモデルが面倒な人には68Kがあるぜ。
NECのVersaという文字を見て、VersaDOSを連想してニヤニヤしたことがある。
SophiaのSA-700や710、SA-3000とか、懐かしいの思い出した。
>>577 Cの前に構造化Pascalで鍛錬してタイプミスマッチが起こらない体質にしてから
Cに行ってほしいと思うw
自分はBASIC→機械語(アセンブラ)→C
→構造化BASIC→構造化Pascal→Java→Web系FW(StrutsとかSA−Struts)
って感じw
>>579 メインはモトローラのCPU(組み込みのVME)だったけど、ときどき86系の仕事はあった。
VMEの仕事も予算無くてOMRONとかのやっすいCPUボード使ってた頃が懐かしい。
>>585 世界最初の高級言語はFORTRAN
次はCOBOL
その辺から比べるとC言語はかなり後発
まあ、コンピュータ関連への貢献度では 明らかにリッチー>>ジョブズだな。
596 :
名無しさん@12周年 :2011/10/14(金) 23:17:35.32 ID:OOEb7GWY0
FORTRANはもう50年以上の歴史があるもんなあ
>>573 自分そのパターンです。
中学でPC8801FRでベーマガとI/OとPIOのゲームを打ち込みまくってBASIC覚えて
高校の時マシン語をハンドアセンブル、日高徹の書物でアセンブラのお世話になった
Cは社会人になってから覚えましたが。
>>588 68kは、きれいそうでいて、直交性のないのが許せなかった。アセンブラ書いたこと無いけど。
86は、初めっから腐ってるが。
人間が作ったものとして関わった人間の質・量とも人類史上No.1じゃないかなunix文化 ピラミッドモアイマンハッタン計画アポロ計画windowsその他と比較にならないしかも未だ継続している
>>585 最初の高級言語はFORTRANだったはず
変態的な独自仕様の言語を作った人だよ
その当時、高級言語でOSを作ろうとしたプロジェクトがあって
その真似して独自のOSを独自の高級言語で書こうとして変態的な言語を作った
そしたらそのOSが広まっちゃって歴史のイタズラでその言語も大流行した
>>591 Pascalって仕事ないから。
学生だったらいいけど、社会人はPascal縁ない。
Javaはいいんだけど、W3Cのコンセプトが嫌いでWeb系から脱落したわ。
読めるけど書けないw。
* 、& を理解してる人が日本に一人もいないのは残念 でも時代の流れだね
>>584 神はジョン・マッカーシーじゃないの?
1927年生まれの84歳だから、そろそろ危なそうだな・・・
>>594 間接的にジョブズはObjective-Cの普及に貢献したじゃん。
今のC++の文法ははゴテゴテしててなんか嫌。
カーニハンはまだ生きてるのか? 25年くらい前のカーニハン&リッチーの本 持ってるぞー
>>597 結局、職人体質っていうのは
人を育てたがらないというのと同義だからなw
あと、標準化もあまり気乗りしないひとが多い。
なんでも、自分が苦労して得た技を勝手に盗まれた感覚になるとか。
>>578 この間まで、スマフォの仕事してたけど、C言語で開発してたよ。
アセンブラ知らなくても大丈夫かと。知っていた方がより良いけど。
610 :
名無しさん@12周年 :2011/10/14(金) 23:20:26.32 ID:ksscxN5r0
611 :
名無しさん@12周年 :2011/10/14(金) 23:20:29.93 ID:+Xn//kQt0
>>596 アポロの軌道計算で活躍したのもfortranだもん。
for文のループカウンタの初期化忘れて、人工衛星が制御出来なくなったとかいう話を
聞いたことがあります。
612 :
名無しさん@12周年 :2011/10/14(金) 23:20:48.99 ID:4iafW6aA0
hello worldて文言を最初に書いた人だよな
アホって人はどうしたの?
>>605 Objective-CなんてiOS限定のガラパゴス言語じゃん
スマフォをセマフォとまちがえるほど酔っ払っちまったw
>>602 いや、独学で体質改善してほしい、ってはなしw
型安全じゃない言語使うのに、型に無頓着なんて怖すぎなんで。
617 :
名無しさん@12周年 :2011/10/14(金) 23:22:39.26 ID:ue1F8m1C0
やべえ、このスレ、すげえ馴染めるwww
>>592 一応32ビットバスだしね>VME
ただし、性能的には調停が必要なのでちょっとねー
このころから、ハード資源よりソフトの開発効率に比重が移った気がする
>>611 アポロ13で軌道変更の再計算は計算尺でやってたよな。
パンチカードに孔開けてるより、そっちの方が速かったんだろなw
>>605 ま、確かに今のC++はとんでもないお化け言語になってしまった感があるけど。
でも、覚えると本当におもしろいし、とてつもなくパワフルな言語。
Objective-Cは…第1世代のC++程度
ストラップのプログラミング入門枕発売中
622 :
名無しさん@12周年 :2011/10/14(金) 23:23:24.36 ID:XjwChnl20
>>562 通りのおっさんだが
>>567 今もできる
俺はFAシーケンス屋やってるがシーケンサ(PLC)にはポインタ使って
メモリアクセスする機能は大抵付いてるんだが
シーケンス屋の大半はポインタの概念知らないもんだからその機能使えないのが実際だな
データートラッキングするときはポインタ使った方がはるかに楽にできるはずなんだが
そういうソース書いたのはあまり見た事が無い
FAのシーケンス屋に就職、転職する時にはC言語でポインタの使い方を理解しておくと
すごく便利な場面があるぞ
623 :
名無しさん@12周年 :2011/10/14(金) 23:23:26.93 ID:+Xn//kQt0
>>615 スマタと間違えたら、デリヘル呼んどけ。
624 :
名無しさん@12周年 :2011/10/14(金) 23:24:30.89 ID:6CQiq/3fO
>>591 構造化Pascalって、普通のPascalと何か違うの?
Pascalは最初から構造化言語だと思うんだけど…
おまえら日本語しゃべれよ
>>622 誰もメンテできなくなるからわかってる人ほど避けると思う
627 :
名無しさん@12周年 :2011/10/14(金) 23:25:36.78 ID:xZqOpRCV0
>>620 数値計算屋からするとC++はあの凄まじい分厚さの
教科書見るだけで萎えるお…
>>599 68kは直交性あるだろ。
基本アドレス系とデータ系で別れているだけで。
629 :
名無しさん@12周年 :2011/10/14(金) 23:26:00.34 ID:utDYoBVB0
このスレは静にやりとり出来ていいネ、 ジョブスのスレは発狂した林檎信者が暴れて大変な騒ぎだった 不具合なんかを軽く指摘しただけで批判の嵐・・・
俺はいま猛烈にうれしい。 このスレを読んでると俺の拘ってきたことは間違いじゃなかったんだと 噛み締めることができる。
631 :
名無しさん@12周年 :2011/10/14(金) 23:26:21.65 ID:1nDVCuLEP
>>624 Pascalっていうと、Turbo PascalとかObject Pascalとか、Delphiとか
のRationalなやつと勘違いするやつが多いからじゃない?
本来のPascalはreturnとかないからな。
ちゃんと関数の出口を考えられないと書けないんだよねw
>>624 昔の話すぎて間違えましたw
Object Pascalでした。
要はDelphi。
634 :
名無しさん@12周年 :2011/10/14(金) 23:26:39.65 ID:98gfILoz0
ゲーム屋の端くれでしたーCオンリー
635 :
名無しさん@12周年 :2011/10/14(金) 23:26:58.60 ID:OOEb7GWY0
あと30年もしてみろ。 C言語は失われた古代文字のような扱い受けるかもしれんぞw
大学に入ってコンピューター室のアカウント取った頃は、コマンドをポコポコ打ってUNIX立ち上げてメールとか送ってたな。 インターネットで初めて見るのはホワイトハウスのホームページで、検索は千里眼。
>>608 立ち上げからやると、セクション切ったり初期化したりはCだけじゃ出来ないもんなんだなあと@ルネサスRX
>>625 マワレ i=0 カラ 10 カンカク 2
カケ i
トジル
>>624 いつも思うんだが、構造化プログラミングという言葉と構造というものはまったく関係ないので
構造化プログラミングという用語を標準化プログラミングとかなんとか、そういうものに変えた方がいいのではないか
640 :
名無しさん@12周年 :2011/10/14(金) 23:28:47.21 ID:1nDVCuLEP
641 :
名無しさん@12周年 :2011/10/14(金) 23:28:51.72 ID:6CQiq/3fO
学生時代にPC98でminixでCで遊んでた。 夢見て就職したIT企業で、「UNIXやりたいんです」って言ったら、 「なにそれ、食えるの?」って扱いだったよ。 ごめん。涙目だよ。
643 :
名無しさん@12周年 :2011/10/14(金) 23:29:10.13 ID:OOEb7GWY0
千里眼とか泣けるw
644 :
名無しさん@12周年 :2011/10/14(金) 23:29:12.00 ID:dsDvcrvk0
>>627 「オブジェクト指向プログラミング」って専門書はぶ厚いぞ。
C++をやる人は読んだ方がいいけどね。
>>620 最近の言語って、パワフルだけども、
デリゲートやら関数オブジェクトやら、staticなオブジェクトやら…
色んな便利要素が登場して、
他の言語に移植するのがかえって難しくなってるのではないだろうか。
Objective-Cは似ているだけでCやC++とは全く別物だろ。 変なランタイムが必要な時点でJavaとかに片足突っ込んでいる。
>>629 排他的て独善的な宗教だからなーしゃあない
Delphiも、5くらいまでのVBと比較した「完全感」は 楽しすぎだったんだけど、 そんな経験をしてるひとは少ないんだろうな。 VBではできなかったり面倒だったり処理族度かかりすぎのものが Delphiだとあら不思議、ってかんじでw 一時期は結構案件あったし。 でもDelphiの仕事いつのまにかなくなっちゃったけどな。
ぴゅう太w 予約語をカタカナに置き換えただけで 本質的に何も解決してないってのが面白かったなw
>>635 それはないw
結局、下回りはCで書かなきゃならないから、
減ることはあってもなくなることもない。
その部分でC++が多少食い込む可能性はあるけど、
完全な代替はありえない。
少なくとも、今のFORTRANとかよりはポピュラーな技能でありつづけるはず。
652 :
名無しさん@12周年 :2011/10/14(金) 23:30:40.70 ID:utDYoBVB0
>>635 それはないだろ、COBOLなんか廃れると言われながら今も現役
最近はCOBOL技術者が足りない位だよ。
>>636 NTTが日本全国のhttpサーバの「電話帳」ページを出してたよね。
その頃のwwwはモザイクで見るものだったけど、
モザイクがかかるようなエッチ画像は存在してなかったw
654 :
名無しさん@12周年 :2011/10/14(金) 23:32:07.80 ID:0FY0k/Gw0
なぜかC#使えないゴミクズが多いのはなぜ? 馬鹿なの?
>>650 21世紀は非フォンノイマン型コンピュータが主流になると思ってたときがありました。
若かった…
656 :
名無しさん@12周年 :2011/10/14(金) 23:32:31.76 ID:XrVhoaHa0
パディング = 詰め草 センスあると思う
657 :
名無しさん@12周年 :2011/10/14(金) 23:32:33.01 ID:+Xn//kQt0
>>635 このスレに書き込んだ人間は、殆ど骨壺の中にいるから気にするな。
>>643 90年代前半では、良く出来た検索エンジンだったよ。
俺は常用してた。
COBOLの仕事すると 必ず文字コードで悩まされてたなw 専用機用のプログラムから汎用機への移植、とか Windows用のCOBOLへの移植、みたいな話多かったから。
COBOL屋は自動的に会計とかの知識も求められるからその辺が
661 :
名無しさん@12周年 :2011/10/14(金) 23:33:05.19 ID:1nDVCuLEP
662 :
名無しさん@12周年 :2011/10/14(金) 23:33:24.05 ID:OOEb7GWY0
まあ、確かに、COBOLですら現役だもんなあ。 しかし、使える奴はどんどんいなくなってるな。 あれは失われた文字になる可能性がある。
663 :
名無しさん@12周年 :2011/10/14(金) 23:33:41.47 ID:394gUIzF0
ポインターでつまずくっていっいたけど、 ポインター使うようなプログラムけっきょく書かなかったな。 BASICよりも自由なプログラム言語って感じでつかっていた。
>>645 今時のC++を他の言語に移植する?w
やんない、ありえないw
そんな言語じゃない。
何に移植するんだw
LispかSchemeかHaskellか?w
>>635 20年くらい前から言われてるよなぁ
リッチーがasisで作った言語なのにこんなに長続きするんだからなぁ
エスペラント語が全く普及できないのと同じ理由がプログラミング言語にも適用できるんかしら
>>639 いやでもアレだぞ。
我流のBASICで腐れスパゲティプログラムを書いてた身としては、
「構造化」という概念は光り輝いて見えたわw
なんか哲学の構造主義にも通じるような気さえしたw
openofficeのマクロの初心者向けページがみつからんなー。 プログラマじゃないんで困ってる。
>>662 10年ぐらい前まで、コンピュータ専門学校ではまだ現役だった。
Objective-Cはあの書き方に違和感があるけど、まあなんとか ついていける。 C++の、テンプレート・メタプログラミングとかいうのは、もうわけが わからん。
671 :
名無しさん@12周年 :2011/10/14(金) 23:35:58.07 ID:nFnspybPO
>>654 あのなあ、車と同じだ。
車に乗るからと車の隅々まで車の知識を知る必要があるのか?。
>>665 > エスペラント語が全く普及できないのと同じ理由がプログラミング言語にも適用できるんかしら
まさにそれだと思うぞ。
エスペラントに当たるのは、ALGOLから始まるPASCALの系列やLISPの系列かなw
>>655 量子コンピュータはいつ市場に出回るんでしょう?
>>656 ゼロサプレスとゼロパディングを取り違えて覚えてる人多かったりするな、そういえば。
>>666 なんか、英語の学習で、闇雲に例文覚えてたときから、
5文型を教えられたときの感覚に似てたような気がするw
プログラムって、こんなに分かりやすく書けたんだ、みたいな。
>>618 J1、J2どっちもまともに動くバックプレーンは高価だったなー!
676 :
名無しさん@12周年 :2011/10/14(金) 23:36:52.55 ID:6CQiq/3fO
>>635 Cは低レベルな(ハードに密着した)操作が記述できる言語として代え難い存在だよ。
OSを記述できる言語って、いまだにCやその派生しかないんじゃない?
>>663 ポインタ使わないって、実行時に大きさが変わる配列とか、
木構造とかリストとか使わなくて書けるプログラムって、何?
678 :
名無しさん@12周年 :2011/10/14(金) 23:37:19.98 ID:0FY0k/Gw0
>>661 その一言で片付けられたら
確かに反論はできねーw
でももっと使えるヤツ増えてほしいんよ
>>662 専門学校で最初に覚えたのが
IDENTIFICATION DIVISION
マシンがHITAC-M640だっけw
680 :
名無しさん@12周年 :2011/10/14(金) 23:37:36.50 ID:S5cRLJeSO
ここでぬるぽしても叩かれないよな?
>>666 構造化という言葉が一番しっくりくるのは複合/構造化設計だからなあ
マイヤースという人が考案したモジュールを階層化させる設計
モジュールの強度とか結合度という概念を考え出したマイヤースは天才
ソフト関係は口先ばかりな人と黙ってモノを作る人の両極端にわかれがちだけど
その中でソフトウェアの進歩に本当に貢献した一人だと思う
個人的には、C言語最大の功績はstatic宣言だと思うんだけど? 当初は性的な意味で使われてたんだけど、要するに隠蔽だよね 自分が書いているソースで、誰にも使ってほしくないものには staticが付けれるのはすごい発明だと思うけど。
>>670 それは食わずぎらいというものだw
確かにとっつきは難しそうだが、あれは一度理解すると、
これがめちゃくちゃおもしれーんだよ、ほんとにw
ウニみたいなものだ。
見てくれは悪いが、一度食べたらやめられないw
>>619 パイロットは計算尺で自分で確認しないと安心しない人種当時はパイロットが乗ってた
参照:ライトスタッフ(本の方)シャドー81
687 :
名無しさん@12周年 :2011/10/14(金) 23:40:06.30 ID:+Xn//kQt0
「ポインタが難しいんじゃなくて、C言語はポインタ記述の文法が混乱してるんだ」 って話を聞いたときは目から鱗だったな
% cat a.c main() { char* p; *p=0; } % cc a.c % a.out segmentation fault
690 :
名無しさん@12周年 :2011/10/14(金) 23:40:47.86 ID:xZqOpRCV0
>>673 そっちの分野の知り合いが以前100年は出来ねーんじゃねーのとか言ってたw
つーか出来ても思い浮かぶのはRSA暗号死亡くらいなんだが…
まあ利用法考えてる人は考えてるんだろうけど
そういえばその昔、Kコンパイラっていうものがあったらしいw PC向けのものだが。 大学で初めて触った汎用機がHITACだったな。 ロケットも飛ばせるって自慢されたけど、結局ほとんど使わなかったw 自前のFM-7ばっか使ってたw
一番使われてる言語はFORTRANなら、やっぱ勉強しないといかんのかな? Cしか勉強してないんだけど・・・
>当初は性的な意味で使われてたんだけど、要するに隠蔽だよね なんかエロいなww
>>688 おお、なかなか見事な総括だなw
Cのあのポインタの文法は本当に罪作りだよなあ…
>>658 それをいったら浮動小数点レジスタやSIMDレジスタとか
系統の違う複数種のレジスタを持ち、命令により
オペランドとして取れるレジスタが制限されている
モダンなCPUの殆ども直交性が無いことになるが。
>>692 数値計算するわけでもないなら別にやらなくても
>>670 テンプレートは、共通のインタフェースを持ったクラスでコードを共有する仕掛け。
動的な型(オブジェクト自体が型情報を持つ)を持つ言語でやってることを力業で大量のコードを吐かせてるだけ。
>>682 隠蔽はエロイということか。
関数ポインタ変数宣言の書き方がなかなか覚えられなかった。
エリアが無いよぅ
701 :
名無しさん@12周年 :2011/10/14(金) 23:42:52.30 ID:1nDVCuLEP
数値計算はRしか使わなくなったな。
702 :
名無しさん@12周年 :2011/10/14(金) 23:43:05.33 ID:K9GlI5hj0
>>692 PCの目的が弾道計算だったころ
FORTRANがメジャーだったってことだろう。
703 :
名無しさん@12周年 :2011/10/14(金) 23:43:07.78 ID:CCJx3PHEP
ポインタの最大の問題は文法よりも誰も実体を管理してくれない事ではないだろうか
>>690 えー、そんなに実用化が難しいの?
じゃ、PCの性能を上げるには、CPUの数を増やしていくしか、当分はないってこと?
>>674 あ、その喩えはわかる気がする。
自分の書いたコードを読んで「美しい…」と思えるんだよね。
英作文を初めて書いた頃は、文法的に合ってるのかどうかに精一杯だけど、
わかってくると美醜が見えてくるというか。
>>695 ポインタは型なのに、ポインタを表す*を変数名の方につけさせるのが
諸悪の根源。
staticは領域を静的に確保するという意味と変数のスコープをコンパイル単位に限定するという意味と 両方の意味を持つので美しくない部分だと思う
>>678 C#今、業務アプリの開発で使ってるよ
.netフレームワークは開発効率が確かにいい、
余計なUI書かなくても実行できるのは素晴らしいよ。
普通にCで書いてたら膨大なリスクが発生すると思うよ。
ただ、C++は俺には覚えきれなかったのは痛いw
>>492 スティーブン・レヴィの「ハッカーズ」は、原書も和訳も
TECOがTACOって誤記されてるんだよなw
711 :
名無しさん@12周年 :2011/10/14(金) 23:46:08.69 ID:394gUIzF0
>>677 申し訳ない。
いっていること全くわからないw
BASICの代わりに使ったってだけで、おそらくCの本来の使い方でないとおもわれる。
ただ関数をつくるって概念がすごく便利で分り易かった。
そのあとBASICも関数をつかえるようになったときいたが。
>>706 A* a;でもA *a;でもどっちでもいいもんな。
後で使うのはaなんだから、後者はエラーでいいよな。
ついでにアドレス型で最後に使うときの型で適当なんだからPointerとかそんな名前の型で良い気がする。
>>696 直交性の対象は、汎用レジスタだろ。
PC も汎用レジスタ扱いするアーキテクチャなら、直交化の対象だが、普通は別。
スタックポインタを汎用レジスタにしなければ、アドレッシングモードは別でも構わないし。
現実問題として、68kのデータレジスタは、無駄になることが多いと思うけど。
所詮cは冗談で作った変態言語だから
715 :
名無しさん@12周年 :2011/10/14(金) 23:47:25.72 ID:xZqOpRCV0
>>704 今の所研究室レベルで15の因数分解がどうこうってレベルだぞ
集積化なんてとてもとても…
取りあえず最近はコア数を増やす方向に行ってるね
もちろん微細化も進んでるけどそう遠くない内に頭打ち
CERNがSERNになってるようなもんじゃねえの?
staticは割り付けが変な所なので対応に困る。
>>708 だから、俺は新人にCを教えるときは、必ず
・変数は1行ずつ宣言しろ
・char *aは、必ずchar* aと書け
と指導することにしている。
自分もそうするけどね
その昔、「入門C言語」というとんでもない嘘書いた本があってだなあ、
俺はこの本の嘘にひっかかった犠牲者の一人で…w
C#は比較的ましになってるけどMSの作る言語はごみばっかりだ
若い頃の自分には、はじめてのCはバイブル本だった
C言語覚えればゲーム作れると思ってたな
722 :
名無しさん@12周年 :2011/10/14(金) 23:49:48.67 ID:UIctzujN0
>>688 文法が混乱つーか、同じアスタリスクを似て非なる用法で使いまわしたりしてるからな。
int *ptr; // 変数名の前に*をつけることで、ポインタ型変数を宣言する。(Java, C#では型名につくように改善されてる)
*ptr = 123; // ポインタの参照先
lp = (long*)ptr; // 型名の後に*をつけることで、ポインタ型を意味する
同じポインタ周りで使われるけど、これ全部別々の用法だし。
コンパイラがアホな時代はvolatileとかいらんかったんや
>>715 昔は、CPUを増やす形での処理速度向上には
CPU間のコミュニケーション増大というネックがある、って
言われてたんだけどな。
マルチコアって、そのj弊害は回避されてるの?
最近のCPUの構造的な話はちょっと疎くなってるので。
>>708 *foo で(ポイントされている)変数[prefixルールみたいなもの]、fooでポインタみたいなイメージだったんじゃないだろうか
ま、残念だったことには同意
>>707 確かに。
前者(領域)は、実行モジュールを作るリンカーの仕事
後者(スコープ)はコンパイラの仕事
今の言語だと、前者がstatic、後者がprivateかな?
727 :
名無しさん@12周年 :2011/10/14(金) 23:51:41.55 ID:+Xn//kQt0
>>719 Winプログラマが、UNIX系や組み込み系で躓くことを考えれば分かるでしょ。
多少出来ても、あれはないの? これはないの?で大騒ぎ。
ロジック考えるのが楽しいのにね。
728 :
名無しさん@12周年 :2011/10/14(金) 23:52:03.57 ID:6CQiq/3fO
>>719 C#って、確かBorlandでDelphi作ってた人が
MSに移って作ったんだっけ?
>>724 マルチタスクOSならコミュ力は必要ないからマルチコアは価値がある
並列処理は手間が掛かる割には効果がほとんどないから時間の無駄
730 :
名無しさん@12周年 :2011/10/14(金) 23:53:23.11 ID:Dtyh+ymh0
ご冥福をお祈り申し上げます。
731 :
名無しさん@12周年 :2011/10/14(金) 23:53:26.99 ID:98gfILoz0
C#→イスラム教
>>491 COBOL 退職後嘱託として守衛室に、古い機械が故障したときはこの人に頼るしかない
>>363 、68K時代のMacOSがそれで、handleっていってた、なつかすいw
734 :
名無しさん@12周年 :2011/10/14(金) 23:54:15.24 ID:qz6fI8tZ0
>>727 まぁ、仕方がない面はあるんだけどね。
Windowsプログラマって、多くの場合、
標準化された部品関数を使って、
誰が書いても同じになるようにコーディングするようしつけwられてるからな。
部品がなければ自作する、って訓練はされてないし
勝手に自作されても困るw
735 :
名無しさん@12周年 :2011/10/14(金) 23:54:25.94 ID:xZqOpRCV0
>>724 CPU間のコミュニケーションは最近でも問題みたいね
スパコンとかになると大変らしいとは聞く
>>727 例えば排他制御をかけるだけでバイナリセマフォ作ってシグナルトラップして
プログラムが死ぬときにはロックを自動的に解除する、なんてやるより
Windowsでミューテックス使った方がものすごく楽なんじゃないかな
プログラムなんて必要に迫られてからつぎはぎで覚えていけば十分使えるようになる。 K&R本を難解とかいう人も多いが、機械翻訳のせいもあるけど、あれを教科書として暗記 したり、問題を解いたりするだけならそりゃ難解だわ。 普通にマニュアルとしてめくってれば自然と身に付くかと。
>>713 大体、直交性の評価はあるか無いかでなく、高いか低いかだろう。
汎用レジスタが一種類という事が直交性を現しているのではない。
それぞれ8本づつ使えるなんて実用上は十分に直交性が高かった。
SPもFPが専用なアーキテクチャよりは、68kの方がよほど直交性高いともいえる。
実際movemがどのアドレスレジスタでも利用可能なところなんて、かなり美味しいだろ。
>>737 あの本のままのコーディングスタイルは、今は通用しないかと
>>736 いや、でも、そのレベルだったら、unixのpthreadにもあるぞw
pthread_mutex()とか。
もっと上位のレベルの話でしょーw
COBOLを舐めないほうがいいんじゃないかな 事務処理に必要な抽象的なデータ型(構造体ね)を柔軟に使えるし 変数ひとつひとつに書式や精度を指定できるので計算誤差に神経質にならずに大きな数字を扱える
743 :
名無しさん@12周年 :2011/10/14(金) 23:58:11.94 ID:Fd1532vj0
if 文の書き方だが、よく if (a == 0) a = a+1; のようにカッコ { } を使わない書き方が多いだろ。 俺はこれが気に入らない。 常に次のように書きたい。 if (a == 0) { a = a+1; } こうすれば、カッコ { } の中に文を追加するのも楽。 逆に { } の中の行を削除して結果的に1行になっても行を削除するだけでよい。
744 :
名無しさん@12周年 :2011/10/14(金) 23:58:16.00 ID:qz6fI8tZ0
>>733 直接アドレッシングとか間接アドレッシング、なんて
何それ状態なんだろうな、いまは。
>>737 昔の言語本って、学者が書いてたり翻訳が悪かったり、
そういうことで分かりづらかったよね。
UNIX系の雑誌にもいえたけど。
>>727 GCCでC99のコード見たとき、それじゃエラーになんだろ。とか指摘したら
普通に通って恥かいた。
>>681 ううむ、なんか難しい。
俺の感覚では構造化ってのはようするに抽象化で、
なんでもかんでもポケモンのカプセルみたいな関数にしちゃって、
必要なときに呼び出して「がんばれ」とか言っときゃ何とかなる感じ。
C++のクラスはもうちょっと頭いいけど基本は一緒だよね。
>>738 本気で、68kのデータレジスタが使いやすかったと思ってるんだ?
ポインタでも算術演算は必要なんだから、全部ポインタで構わないと思ったが。
>>742 リソースの無い時代ならそうかもしれないけど
今のPCやモバイルでさえ、100桁くらいの数値型をいちいち使っても余裕ですw
>>733 MacぱくったWindowsでは未だにHandleは現役だ。
意味分かってないでみんな使ってるんだろうな。
6502最強!!!!!1 (もちろんプロテクト系の機能は除く) 同意してくれる人は何人かはいるはずw
>>749 でも、WindowsのHANDLEはアドレスのアドレスじゃなかったりするw
アドレス配列の添字、の方が近い。
752 :
名無しさん@12周年 :2011/10/15(土) 00:02:09.39 ID:6f/Uz+qi0
マルチタスク、マルチコア→グローバリスム
>>746 いや、構造化プログラミングは関数とかプロシージャの中身を綺麗に書きましょう、という話
>>747 データレジスタが使いにくいとか何を言っているのやら。
Cでいうポインタ型へのキャストでもしない限り、
アドレスレジスタと、データレジスタの用途が交わる事は無いし、
それぞれは、その用途で必要十分なオペレーションは用意されているだろう。
>>750 addが無くてadcのみだったのは辛かったw
756 :
名無しさん@12周年 :2011/10/15(土) 00:06:21.44 ID:10oXId4B0
>>743 俺はこうしてる。
if (a == 0)
{
a++; // a = a+1;
}
else
{
// elseの処理
}
// elseがない場合は、};
{}ごと、そのままコピペするのに便利なのと、見落としを低減出来るから。
>>750 最強の8ビットは6809だよ。
チャーリーシーンのエロエロな元嫁?
758 :
名無しさん@12周年 :2011/10/15(土) 00:07:49.56 ID:AaBr9f9b0
>>744 確かに昔の言語本というか電子関係の翻訳は最低だった
80年代のIntelのワンチップマイコンのマニュアルなんて翻訳が酷すぎて
原書のマニュアルの英文読んだ方が理解できたりしたからな
この手の英文マニュアルは結構英語の苦手な俺でも読める程度の英語で書かれてるから助かる
>>751 でもWindowsカーネルレベルじゃIDと呼ばれてる不思議
プロセスIDもプロセスハンドルも中身は同じw
>>753 そういう話なのか…。
俺としては、データ(メッセージ)の受け渡しさえちゃんとしてれば、
「関数の中は関数の勝手じゃ酒もってこい!」が、構造化の真骨頂だと思ってたw
761 :
名無しさん@12周年 :2011/10/15(土) 00:09:24.83 ID:0jFVSpj00
C++だけは許せない
三項演算子は、チーム開発ではやめてください。趣味で一人で作る時だけにしてください。お願いします。
>>760 だから「構造化プログラミング」という言葉は構造化とは一切関係がないから
>>753 データ醸造とプログラミング構造が同じだとプログラムが読みやすいとかじゃなかったっけ?
とりあえず今から最初に学ぶのならJavaScriptだろ。
三項演算子は使うだろ。 同じことするのにif文使ったら、 代入先が同じことをわざわざ確認する必要がある。
プログラマスレは伸びるな
>>743 1行だけだとなあ
ブレークポイント作るにしても改行するだけだわ
>>748 COBOLのガチ技術者ではないけど、COBOLの仕事は基本的にはファイルの
変換処理
で、入出力のフォーマット定義はDATA DIVISIONで必須なので、プログラムを
見ただけで、入出力の方法が分かるんだよね。
(通常はCOPY文で外部ファイルにしているけど)
だから、1週間もすれば動作だけは誰でも理解できる。
ただし、全体の仕様を理解するのはまた別のお話なんだよね。
(大体、COBOLのプログラム本数ってやたら多い。変換元がファイルならば、ORDER BY句の
項目数分、並び替えのプログラムがあるケースもあるしw)
770 :
743 :2011/10/15(土) 00:13:49.46 ID:lQWcwjTn0
771 :
名無しさん@12周年 :2011/10/15(土) 00:14:41.37 ID:p74w7KSq0
C言語のお陰で雇ってもらえてた。 ありがとうC言語。
>>リッチーはキャリアのほとんどをベル研究所で過ごした。 そのベル社だが、アパッチに次ぐ次世代攻撃ヘリは、ぜひ日本と共同開発すべきだと思う。
三項演算子くらいで何を…w マクロ書くのに、ないと困るだろ。 ま、do{ }while(0)とかでifを囲っちゃうとかっていう手もなくはないが
>>755 他にもいろいろw スタック退避したい時とか
でも、最適解が(たぶん)ひとつだけってのが心地よい感じがした
>>756 インストラクション上はそうかもしれないけど、ステート数をカウントすると
そうでもなかったような記憶が・・・もちろん、仮に同一クロックだとしてという前提だけどね
>>770 今は紙に印刷することも少ないしエディタのスクロールスピードも速いから・・
。・。∧_∧。・。 。゚ ( ゚´Д`) ゚。 o( U U 'ー'ー'
779 :
名無しさん@12周年 :2011/10/15(土) 00:17:16.69 ID:WRX73YbP0
10 PRINT "死にたい・・・" 20 GOTO 10
>>710 手持ちの見てみたペンギンブックス1994 p95 bringing up the "TECO" editing program
工学社 ハッカーズ 平成11年第三版第五刷 p109 "TICO" 編集プログラム
>>775 でも、一画面内にアルゴリズムや切りのいいブロックが収まるのと、
ちょっとはみ出すのじゃバグ発生確率やバグ発見確率が格段に変わるよ。
行数を無闇に増やすコーディングスタイルは悪
>>781 気持ちはわかるけど、変数の定義は一行ずつにわけたほうがいいよ
そっか、コンピュータの世界でも、やるべきことややらなきゃならんことが山のようにあるんだなぁ。
785 :
名無しさん@12周年 :2011/10/15(土) 00:19:54.02 ID:RjxGFiDm0
ワシらの頃は、『0』『1』レベルでプログラミングしとったんじゃがの〜。
>>762 三項演算子ないとマクロ組むのに困らない?
あと
>>766 の言うように使うとエレガントにまとまる箇所もあると思うんだがなぁ。
プロジェクトで開発したものを個人の成果と発表するのはいかがなものかと・・・ ぬるぽの生みの親ということでw
788 :
743 :2011/10/15(土) 00:20:45.57 ID:lQWcwjTn0
>>775 ま好みの問題だな
ただし、1行のときにもカッコをつけるのだけは譲れない
マクロでもif文、普通に使ってたような。
「ハッカーズ」は図書館で借りて読んだんだけど、あまりに面白かったから、 買ってよむべきだったと後悔・・・
>>743 それだったらそもそも
a || ++a;でいいだろ。
792 :
名無しさん@12周年 :2011/10/15(土) 00:22:29.92 ID:AtW2OB4w0
>>788 人のスタイルにケチつけるな。
スタイルを崩されるとバグを生みやすい。
それを分かってても変えさせるのか?
>>787 UNIXはもともとケン・トンプソンが息抜きに作ったOS
>>789 マクロでif文を普通に使うなw
行末に;がいらない関数もどきみたいな気持ち悪いものを作るな。
時々、とんでもないエラーになるしな
中2でポインタに挫折し。 高3で再チャレンジしてようやく理解できたのが懐かしい。 まぁそれにしても、オマイラいつまでも自分でコード書いてたら貧乏するよ。
int c=-1; foo() { if(c--) return; foo(); printf("%s\n", "いいかげんにせーや"); } foo();
出てきた。 プログラミング言語C第2版 ANSI企画準拠 B.W.カーニハン/D.Mリッチー著 石田晴久訳 2800円(たけー) 改訂第2版UNIX詳説 基礎編 井田昌之 田中啓介 共著 2800円 ソフトウェア構造化技法(ダイアグラム法による) J.マーチン・C.マックルーア著 5400円w この辺りが俺の聖書。
798 :
743 :2011/10/15(土) 00:24:49.92 ID:lQWcwjTn0
>>791 if文の書き方の例として適当に書いただけで中身に意味はない
>>782 むかーしむかしはループをGOTOで書いてたんだよ
で、GOTO使いすぎでわけわからんプログラムが多かったから
「適切に、決められた使い方で、GOTOを使いましょう」
というのが構造化プログラミングの本質
そんで
適切な使い方が決まっているなら言語の仕様でそれをサポートすればいいじゃん
そうすればGOTOを使う必要がなくなるからハッピーよ
ということで、IF..THEN..ELSE..ENDIF とか DO .. LOOP ( for文ね )
なんかが生まれたサー
それどほとんどGOTOは不要になったんだけどエラー処理とか例外なんかでやっぱり必要だった
だいぶおくれて例外処理がTRY..CATCH みたいな仕様を言語がサポートするようになって
いよいよGOTOを使わなくてすむようになった、そんな感じ
昔話だよ
ステートマシン書く場合 素直にgoto使った方が早いし 分かりやすい。
801 :
名無しさん@12周年 :2011/10/15(土) 00:28:31.81 ID:D5kawlUA0
>>782 確か、純粋な構造化プログラムでは、
繰り返し処理内で条件中断するのもご法度だったんだっけ?
Java的にいえば、ループをbreakとかcontinueで制御するやつ。
803 :
名無しさん@12周年 :2011/10/15(土) 00:29:40.03 ID:10oXId4B0
>>795 たまにでも、コード書かないと、時代に取り残された様な気がしてならないんだよ。
大きく言うと組み込み系やってるから、動作確認用のサンプルコード書いて
気を紛らわしてるのが今です。
んで、構造化プログラミングって、アセンブラの方が先に一般化してなかった?
>>801 そ。
break,continue,そしてreturnもご法度
goto は諸悪の根源うやなかったのか?
>>789 if文は使わないけど、#ifdefはよく使うね。
---define.h---(共通変数を定義・参照するファイル)
#ifdef _DEFINE_
EXTERN
#else
EXTERN extern
#endif
EXTERN int a;
EXTERN int b;
---define.c---(共通変数を定義するファイル)
#define _DEFINE_
#include <define.h> → 前述のEXTERNが空白になるので、単純に定義だけになる
---その他.c---(共通変数を参照するファイル)
#include <define.h> → 前述のEXTERNがexternになるので、単純に参照だけになる
・
・
・
>>743 俺もその方がいい。デバッガで追いやすい。
808 :
名無しさん@12周年 :2011/10/15(土) 00:31:45.56 ID:AtW2OB4w0
>>806 ざっくりコメントアウトする代わりに #if 0 とか
ungetcのソースに感激したあの頃
setjump, longjump の方が猛者だわ
811 :
743 :2011/10/15(土) 00:33:07.22 ID:lQWcwjTn0
>>804 break使えないとなるとフラグを使うのか?
かえって可読性が悪くなるだろ
>>808 やめてほしい
通らないコードがコメントアウトされていないとメンテナンスが地獄
>>805 エラーで一気に処理を飛ばす場合とか、使い所を間違わなければ問題ない。
814 :
名無しさん@12周年 :2011/10/15(土) 00:33:27.40 ID:D5kawlUA0
まぁ、仕事で作るプログラムの場合、 仕様変更でプログラム変わるときに 手数を減らす方向性になるから、 if (条件1) { // 条件1の場合の処理 } else { // その他の場合の処理 } みたいに予めかいとく、って流儀のプロジェクトが多かったな。 昔と違って、コーディング減よりメンテ性を重要視するから。
masm extrn だっけもう忘れたわwww
malloc >>>>>>>>> call/cc >> setjump/longjump >> goto
817 :
名無しさん@12周年 :2011/10/15(土) 00:34:54.72 ID:YZCCGFOd0
>>805 別にgotoが悪いわけじゃない。goto使ったほうが簡潔に書けるなら適切に使えばいいだけ。
だからC#なんかでもgotoは残されている(ほとんど使わないけど)。
ただし、実際にはgotoの使用例のうち99%は本来使うべきでないところで使われている。
このことからJavaなどでは、より場面ごとにスペシフィックな構文を導入し、gotoは廃止された。
この辺は哲学的な問題なのでどちらが正しいとかではない。
818 :
名無しさん@12周年 :2011/10/15(土) 00:34:56.87 ID:MdnqAbkS0
ウィンドウズになってからプログラムってパソコンのどこでうごくのかわからなくなった。 実行するとDOSの黒い画面でてくるのかな。
K&RはC言語の入門書つーよりは 変態的アルゴリズム記述法トレーニングだよね。 あんなの初心者にはお勧めできない。
て哲学
821 :
名無しさん@12周年 :2011/10/15(土) 00:35:43.95 ID:D5kawlUA0
>>813 例外処理が言語仕様に含まれるようになってからは、
そのような用途でgotoを使うことはなくなったはず。
>>802 今でいう例外処理にgotoを使うのまで軽蔑しちゃって面倒くさいループ脱出を書いたりね。
>>811 そう、その通り
gotoをいかに適切に使用するか、という話だったのに、いつのまにかとにかくgotoを使うな
という話になって、バカな人がコーディング規約を作るととんでもない労力が必要になった
break と continueは、結構使うけどなぁ。gotoと違って、 それで複雑化する事はないし。
goto/jumpが駄目だからbranchにしました(キリッ というのもあった気がする。
世の中のおおもとは全てUNIXベースで 支えられてます。 この人は大変な偉人。 ジョブズやゲイツらは、これらをベース にして商業的に成り立つモデルを作った人。 どっちも偉い、黙祷。
827 :
名無しさん@12周年 :2011/10/15(土) 00:37:48.64 ID:AtW2OB4w0
>>812 #if 0 やると該当箇所が表示変わるエディタ使ってないの?
ある時代がが終わりつつあるような感触。
>>821 うん。
例外処理が使える環境ならそちらを使うべきだね。
組み込み系とかで、C++の例外使えない場合もあるんで、
そいうときはgoto使ってる。
break と continue禁止は受け入れられないな。 while本体だって、実態はgotoだろ?
831 :
名無しさん@12周年 :2011/10/15(土) 00:39:03.36 ID:n1yLPlYs0
ここまでのコード例で ifと()の間にスペース明けてない奴 反省しろwww まあどっちかというとrms教だけど。
>>815 、あったよ、それ、mscとmasmでlinkしてたよなw
いまの人、small、large、hugeとかdsegとかcsegとかシラネェだろなw
833 :
名無しさん@12周年 :2011/10/15(土) 00:39:34.74 ID:MKVrq8gk0
ばかやろう 俺にポインタのポインタの意味を理解させてから逝ってくれよ もうダメだ一生わからんままだ
834 :
名無しさん@12周年 :2011/10/15(土) 00:40:00.65 ID:iQYjvlpuO
>>819 これはC言語の解説本であってプログラミングの入門書じゃない。
プログラミング経験者を対象にした本だって意味合いの事を
K&Rの頭の方に書いてあったと思うよ。
>>814 本当にその通り。息の合った相棒数名と作業するんならともかく
何十名出たり入ったりするかもしれないソースで技ありの高速化や節約コードで可読性を落とされたらたまらん。
836 :
名無しさん@12周年 :2011/10/15(土) 00:40:28.89 ID:YZCCGFOd0
>>830 別に禁止ってわけじゃないっしょ。
「純粋な構造化〜」という意味では不純なだけ。
C++にしろJavaにしろ、学術用の言語じゃなく、現実の生産のために使う言語なんだから、
純粋な構造化プログラミング言語でも、純粋なオブジェクト指向でもないでしょ。
全てを徹底すると逆に非効率になることが多いから、そこはうまく折衷してる。
837 :
名無しさん@12周年 :2011/10/15(土) 00:40:49.71 ID:D5kawlUA0
>>830 純粋な構造化を守ればそうなる、ってはなし。
実際に規約でbreak/continueを禁止してるプロジェクトなんて
見かけなかったけど。
ただ、ループからいきなりreturnは止めたほうがいいけど。
>>831 そんなところにスペース入れない。
だから、後から見ても俺が書いたコードだってだいたい分かる。
>>811 違う。
ルーブの継続条件をしっかり考えて、途中で飛び出すような必要をなくすんだよ
840 :
名無しさん@12周年 :2011/10/15(土) 00:41:33.98 ID:qiTDPp8aP
plan9って、今どうなってんだ?
continueとbreakを使わないとループ内部のif〜elseのネストが深くなっちゃうんだよな。 まあ今は画面が広いし、エディタも便利になってるから良いかもだけど。
842 :
名無しさん@12周年 :2011/10/15(土) 00:42:08.28 ID:theEzDkaP
cを作り出したって 始めてチンコをまんこに入れた人間って だれなんだろうな
もまいらRPGって言語を知らんかい? なんと記述するカラムというかフィールドが決まっていて、 インデントとかできなかったんだぜ。 んでフラグってもんがあって、そいつをオンオフして、 それでプログラムを制御したりすんのw 先頭カラムにフラグの番号を書いておくと、その番号のフラグがオンになってるときだけ その行が実行される。 んでもそんな仕様だとひどくわかりにくいんで、フラグによる制御は禁則事項にされたw
Cは覚えることが少なくていい。 C++は覚えることだらけで使いこなせない。
845 :
名無しさん@12周年 :2011/10/15(土) 00:42:59.12 ID:iQYjvlpuO
>>842 むしろ初めてチンコをケツの穴に入れた人間のほうが気になる
847 :
名無しさん@12周年 :2011/10/15(土) 00:43:24.71 ID:D5kawlUA0
>>833 何か箱があるとして、その箱を指し示すアドレスのようなもの。
っていうか、実態はアドレス…だよね?
>>831 スペースを空けないでミッチリ書けと怒ってる奴がいたな。全角スペースが入るとエラーになるとかなんとか。
すげー見づらい。
K&Rの本が実習の教科書だったな。 これが読めないような無能な学生は帰っていいから、と先生に罵倒されたのは思い出すのも嫌な思い出・・・
>>835 つーか、その程度なら簡単なフィルタかければ、
読み手の好むスタイルに変換できるから
本来大した問題では無いんだがな。
K&R的最適化かけまくるとヤバイが。
>>827 grepかけてひっかかった部分が // でコメントアウトされてなかったら
その箇所を全て確認する必要がある
>ルーブの継続条件をしっかり考えて、途中で飛び出すような必要をなくすんだよ 必要があるからやってるんだろう? 必要をなくすために、奇怪なコードにして コーディング規約守ってるいい子ですってアピールはしなくないな。
>>833 別にdmrだけがpointer説明できる人ってわけじゃないだろ。
誰かに落ち着いて図書いてもらいながら説明してもらえば?
メシかなんかおごって。実はそんなむずかしくないよ。
855 :
名無しさん@12周年 :2011/10/15(土) 00:45:31.78 ID:LaiePUpR0
リッチーさんはすばらしいエンジニア ノイマンがコンピュータの父ならリッチーはリソースのアダムといっていいだろう 禿と比べること自体おこがましい やつはやりてのセールスマン
ブログのタグ打ちでも悪戦苦闘の俺にとっちゃ C言語だのなんだの使える奴は尊敬する
857 :
名無しさん@12周年 :2011/10/15(土) 00:46:13.36 ID:MKVrq8gk0
>>847 それがポインタっていうやつなんじゃないのか?
ポインタのポインタって訳わかんねーよ
おいちょっとリッチーこっちこいや
858 :
名無しさん@12周年 :2011/10/15(土) 00:46:27.07 ID:10oXId4B0
>>843 PL/Iだな。
ライセンスの問題で、PL/IをASMに書き直してたあの頃。
>>843 IBMのオフコンファミリーが主な活躍場だよね。
使ったことはないけど。
860 :
名無しさん@12周年 :2011/10/15(土) 00:46:38.63 ID:AtW2OB4w0
>>852 確かにそれはある。でもそれは /* */ も同じでは
>>835 別に大規模ループのコアにあるわけでもないのに、中間的な変数にいったん落とすことを極度に嫌がる変な人もいるね。
「ここでメモリを食って速度が落ちるんです」
可読性やメンテナンス性と微細な速度向上のバランスがぜんぜん考えれてない。
>>830 MISRA-Cだと、continueは禁止だったかな
何でbreakはOKなんだろ
gotoに関しては、ここ数年で急に寛容になったような
多重ループ抜けるのに、わざわざフラグ作ってbreakと組み合わせたりしたもんだった
>>839 ループの終了条件が沢山あるのに、
break使わないで、ループ継続条件部分に全部書くとか悪夢だよね。
>>831 個人的には制御構文のカッコの前後と比較演算子の前後にはすべて空白を入れるようにしている
関数呼び出しと明確に区別するために
if○(○hoge○==○0○)○{
みたいな感じ
>>830 アセンブラの条件ジャンプを使ったループをwhileで表現しただけだからね。
ただ読ませるソースって意味でwhile使うにすぎないし。
GUIで使う、極悪なPostMessageとかブロードキャストメッセージは構造化
プログラミング的には最悪な部類になるんじゃないのかねぇ。
更にスレッドやプロセス制御で使うIPCなんかどーするんだと。w
後からANSI規約が出てきて、プロトタイプ宣言がウザかった。protoize最強。あと、地味にyesman最高
869 :
名無しさん@12周年 :2011/10/15(土) 00:49:52.92 ID:iQYjvlpuO
>>833 わかりやすそうな例でいうと、
文字列(文字の列)の格納先を指すのがcharへのポインタ、
文字列の配列の格納先を指すのが、charへのポインタのポインタだ。
870 :
名無しさん@12周年 :2011/10/15(土) 00:49:57.43 ID:skD3qUKR0
情報処理2種でC言語を選択して落ち、 次の試験でコボル選択して合格したときは、 自分の資質の無さを実感したな
871 :
名無しさん@12周年 :2011/10/15(土) 00:50:06.18 ID:AtW2OB4w0
>>863 他人の書いた break / continue / return 含みのコードは
understand とか通してフローチャート表示してみてる。
>>864 普通の欧文の書式にあわせているな。( ) の外側は空白、内側は入れない。
if□(hoge□==□0)□{
>>179 ぼくはホワイトスミス式が見やすくて好きです
aaaaa
{
bbbbbb;
}
>>847 「アドレス」と「型の情報」のペア
>>857 「アドレスと型情報のペアが置いてあるアドレス」と「型の情報」のペア
874 :
名無しさん@12周年 :2011/10/15(土) 00:51:32.60 ID:D5kawlUA0
>>857 あぁ、ポインタのポインタ。
ポインタを指し示すポインタじゃないの?
指し示す先が可変の場合、それを容易に変更するために使うんじゃなかったっけ。
住所はこの場所に書いておくからね!住所変更したときは書き直すよ!、みたいなw
最近Javaしか見てないからなぁorz
違うかも。
てかおまえらデニスリッチー死んだことは結構どうでもいいっぽいな
.586 .code flat おまじない ml になってもextrnかどうか酔ってるし思い出せない dosの masm で何回かexternだろってCRTどなりつけた
877 :
名無しさん@12周年 :2011/10/15(土) 00:52:18.61 ID:YZCCGFOd0
>>857 分かりにくいたとえ話をしてやろう。
「食堂へ行け」とか「教室へ行け」とか行先が書かれたカードが、ポインタ。
でも休講になったり、講義の教室が変更になるかもしれない。
そんな時にカードの行先に従って教室に行くと、誰もいなくてびっくりする。
そこで考えられたシステムが、ポインタのポインタ。
つまり、学生には講義のある場所のカードではなく、「掲示板前に行け」というカードを渡しておく。
そして、掲示板前に「体育館に行け」とか「講堂に行け」とか、実際の講義の場所を書いたカードをもう1枚置いておく。
そうすれば当日場所が変わっても困る学生はいなくなるというわけだ。めでたしめでたし。
>>856 いまじゃ、中学生がC言語どころか、新しい言語を設計して使って楽しんでる時代だかなね。
コンピュータプログラムを使うのに苦労している世代はもう古くて
いまはコンピュータプログラミング言語を作るのに苦労したり楽しんだりする時代なんだ。
時代ってかわるよね〜
まあ、これもリッチーみたいな偉大な人のおかげだよね〜
昨晩、C迄いった。
ありゃ .model flat じゃったorz
>>871 俺もそれだ
で、簡単な式なら詰める
for (i=0; i<hoge; i++) { ...
まあ、K先生のコーディング作法まんまだけど
882 :
名無しさん@12周年 :2011/10/15(土) 00:53:29.65 ID:MKVrq8gk0
>>869 すまんが
文字列の格納先と
文字列の配列の格納先
の意味がわかんねー。
こないだ会社の先輩も同じようなこと言ってるんだけど
分かんないもんは分かんねー。
>>801 純粋な構造化プログラミングで禁止、というよりも
もっと細分化したらそういう実装をしなくても良くなるって事だと思う。
一つのループ内の処理を構造化技法でより細分化すれば、
複数のループ+分岐という形になったりすると思われ。
>>873 型の情報はコンパイル時に知ってるだけ。実行時には知らない。
>>860 同じだよ
だから // じゃなくて /* */ を使う奴は人間のクズだ
887 :
名無しさん@12周年 :2011/10/15(土) 00:55:53.44 ID:MKVrq8gk0
>>877 おおお〜〜〜!なんとなく、分かった気がするぞ
お前もしかしてリッチー以上の天才じゃないのか
>>843 、いまにして思うと、ARMの条件実行みたいだなw
>>886 //なんてCで正式採用されたのC99とかじゃね。
>>886 //使う奴はCプログラマーじゃないと思ってる
>>1 Cというブートローダ、カーネル、デバイスドライバなど
CPU、各種デバイス制御を行うロジックをアセンブラより容易に、且つ、理解しやすく
記述出来る言語とUNIXと言うOSを構築し、現在のOS、ネットの普及に多大な影響を与えた
偉大なる先人に哀悼の意を表します。
#include <stdio.h>
int main(void)
{
printf("Thank you,Ritchie.RIP\n");
return 0;
}
>>865 ただプリプロセッサ通すと #define が展開されてしまってわかりにくくなる
だから
>>886 「Cプログラミング診断室」でコメントに
/*/ BAKADESU /*/
みたいに入れてる例はわろた。
894 :
名無しさん@12周年 :2011/10/15(土) 00:57:38.96 ID:D5kawlUA0
>>886 コメント化を手作業でやると/* */を使いたくなるんだろ、複数行の時簡単だから。
でも、//に統一して、複数行のコメント化もエディタの機能に任せる、ってしてほしいところだよね。
895 :
名無しさん@12周年 :2011/10/15(土) 00:58:03.41 ID:8fhVs6M20
ノートンさんが反応しそうなスレですね
日本語でコメント入れるときは/* */を使いたい
897 :
名無しさん@12周年 :2011/10/15(土) 00:58:34.58 ID:iQYjvlpuO
>>875 故人の遺した業績を肴にワイワイガヤガヤやるのも
追悼の一つの形じゃないかな?
898 :
名無しさん@12周年 :2011/10/15(土) 00:58:54.20 ID:ArkJOChN0
しぃ言語作ったんか
899 :
名無しさん@12周年 :2011/10/15(土) 01:00:04.61 ID:MKVrq8gk0
すまん、ちょっと考えて思いついたんだが ポインタのポインタのポインタってのもできるわけか?
>>727 組み込みはともかく今のUNIXは、ライブラリ充実だろ
901 :
名無しさん@12周年 :2011/10/15(土) 01:00:28.48 ID:AtW2OB4w0
>>886 複数行すべてが // でコメントアウトされているコード見るとぞっとする。
そもそもコメントにコメントか数に、無効にしたいコードが書かれているコードは人様に見せるものではないけどね。
>>894 エディタの機能使う事前提なら、
そもそもgrepじゃ無くてエディタの
コメント部分無視するような検索機能使えと。
>>884 型の情報がメモリ上に配置されているわけではないが
メモリ上に配置されているポインタはそれが指し示す先のデータをどう解釈するか
ということと分かちがたく結びついているのでプログラミング時には常に意識すべき
>>899 実体のあるなしの違いはあるけど、3次元配列と似たような感じでない?
盛り上がってるな。
>>718 入門C言語、懐かしいなw
「ポインタと配列は同じもの」とか書かれてて、全くのど素人だったから信じてた
新版では修正されたようだが
909 :
名無しさん@12周年 :2011/10/15(土) 01:02:16.49 ID:ZjeP/vdn0
石田晴久についてはみんなスルーだな
>>872 {
aaaaa
}
bbbbb
{
cccc
}
全然見やすくない
括弧の中に入ってるのか括弧の外なのかパッと見てわからない
911 :
名無しさん@12周年 :2011/10/15(土) 01:03:53.78 ID:MKVrq8gk0
>>906 すまんちょっと聞くけど、結局のところ
ポインタと配列って同じものなの?
会社の先輩もそんな感じでいってたけどよく分からんかった
912 :
名無しさん@12周年 :2011/10/15(土) 01:04:00.83 ID:s8So7bOl0
Unixを使ってた当時は、2GB+2GBのメモリ空間て、仮想メモリを使わない 限り使い切れないと思っていたが、今は普通に4GBのメモリって買えるも んな。時代は変わった。 プロセスごとに独立したユーザメモリ空間を割り当てたり、Forkでプロ セスを作ったり、プロセス間通信をさせたりという、今のOSがやってい ることの基礎はUNIXが作ったんだよな。
913 :
名無しさん@12周年 :2011/10/15(土) 01:04:12.87 ID:AtW2OB4w0
みんな、indent とか使ってる? 俺はこんな感じ。 di 8 -nfca -npcs -nprs -nsaf -nsaw -npsl -brs -br -ce -i8 -ts8 -ut -nbc -nhnl -l120 -nbad -bap -nbbo -nbfda -ncdw -ncs -nfc1 -sob
914 :
名無しさん@12周年 :2011/10/15(土) 01:04:33.69 ID:XJP6pyLr0
亡くなったのか・・・謹んでご冥福をお祈りします 世間一般の人には?な人かもしらんな でもこの人の業績の偉大さは凄いものがある
C 言語を覚えたてのころは char を チャー といってたのは良い思いで。
ポインタと配列は、やっぱり違うよ。 Cの実験室って本で俺は学んだぞ。
918 :
名無しさん@12周年 :2011/10/15(土) 01:05:42.75 ID:YZCCGFOd0
>>911 ほぼ似たような用法で使えるという点ではそう。
ただし sizeof をした時などに差が出るので、全く一緒ってわけじゃない。
>>892 途中で送っちまった。
古いコンパイラは // が使えないんで実験するときはこうしている
#define XXX
#if 0
XXX 元のコード1
XXX 元のコード2
XXX 元のコード3
#else
実験したいコード
#endif
まあ実験が終わったら消すけどね
920 :
名無しさん@12周年 :2011/10/15(土) 01:06:05.80 ID:ZjeP/vdn0
>>21 Forth→???
Occam→???
Objective-C→???
VisualBasic→???
だれかヨロ
921 :
名無しさん@12周年 :2011/10/15(土) 01:06:11.26 ID:zG5X2uIM0
長い間、お世話になっていました。 本当にありがとうございました。 安らかにお眠りください。
922 :
名無しさん@12周年 :2011/10/15(土) 01:06:40.65 ID:MKVrq8gk0
>>914 いやなんか聞くところによると同じらしい。
よく分からんがそうらしいんだよ、理屈はさっぱり分からん。
>>913 今のエディタは自然とインデント付けるだろ?
あるいは自然と手が動いてタブキー押してる。
924 :
名無しさん@12周年 :2011/10/15(土) 01:06:49.18 ID:AtW2OB4w0
>>911 関数で渡すときとか除けば、配列は、宣言時に領域確保してくれて先頭アドレス動かせないポインタみたいなもの、と理解してそれほど困ることはないかも。。。
/* */ の次に血管が切れそうになるのが一文字変数 参考書に for ( i = 0 ; i < 20 ; i++ ) { なんて書かれてあるからといって、i, j, k なんてループカウンタを使うんじゃありません! 最低でも ii, jj, kk 規約で3文字以上なら iii, jjj, kkk を使うべき
明解C言語で勉強した人は、このスレにはおらんみたいねw
男はtab8だ。
930 :
743 :2011/10/15(土) 01:08:20.42 ID:lQWcwjTn0
>>905 どう解釈するかを意識する必要があるのは確かだけど、
その辺をプログラマが自由に操作できるのがC言語のメリットだなー
>>926 いや、ループ変数でi,j,k使うのは基本だろ。
iiiとか無意味に長いだけで、意味の無いものには殺意を覚える。
>>926 短く簡潔な関数を書いていたら i で十分だ
>>901 C++なら#if 0が使えるけど、
Javaじゃダメだし、
最近の複数行コメントアウトってどうするんだろう。
935 :
名無しさん@12周年 :2011/10/15(土) 01:09:54.11 ID:iQYjvlpuO
>>911 配列とは違うよ。配列はいわばタンス。
ポインタはタンスを「指し示す」指。
936 :
名無しさん@12周年 :2011/10/15(土) 01:09:58.07 ID:AtW2OB4w0
>>925 周りがキャラキャラ言うんでキャラです。
俺以外のチャー派は未だに出会ってないので。
>>926 iiとか、逆に気持ち悪いわw
グローバルじゃあるまいし、i,j,kでいいんだよ
>>911 似たようなもの
何か文句言われたら「こまけぇこたぁいいんだよ!」と言っておけばOK
どうしても気になるならポインタは先頭アドレスが変更できる配列だとでも
それでも文句言われたら「こまけぇこたぁいいんだよ!」と言っておけばOK
>>911 配列は巨大な升目としてメモリ上に実体が取られる。
ポインタはメモリ上のアドレスで実体のあるなしは関係なし。
3次元配列を升目で考えるか、3階層の深さのツリーで考えるかの違いだと思う。
ポインタポインタと騒がしいのがCの思い出かな
>>934 /* */は、最近のANSIでは使えないんだっけ?
>>937 おれチャー派だ。心配するなw
正直どっちでもいいw
944 :
名無しさん@12周年 :2011/10/15(土) 01:12:20.74 ID:MKVrq8gk0
うううむ。しろうとの俺の理解では 変数=箱 ポインタ=箱のアドレスをもつ変数 配列=箱のまとまり って思ってるんだけど ポインタと配列がどう関係すんのかさっぱりわかんねーよ。 これしらなくてもC言語プログラマです、って名乗って大丈夫か?
int main(int argc, char *argv[]) { return 0; printf("かぼす\n"); }
947 :
名無しさん@12周年 :2011/10/15(土) 01:13:02.08 ID:AtW2OB4w0
>>934 IDE でマウス駆使するんかね。なじめないけど
>>926 for(i = 0; i < 10; i++){
for(ii = 0; ii < 10; ii++){
for(iii = 0; iii < 10; iii++){
}}}
のように、ネストが深くなるごとに一文字ずつ増えていくコードは見たことあるわw
949 :
名無しさん@12周年 :2011/10/15(土) 01:13:14.13 ID:t8Qpdq/Y0
K&RのProgramming言語Cはクソ本だと今でも思っている
上の方でK&Rをバイブルとか踏み絵とか言っている人いるけど まあ、作った人が書いてるわけだからそうなんだけど 今は別にK&Rじゃなくてもいいと思うけどね 書籍や資料の手に入り難かった時代でもないし 逆に変に凝り固まってるんじゃないかと心配になる
951 :
名無しさん@12周年 :2011/10/15(土) 01:14:23.09 ID:tejSDDTi0
>>37 実質同じ類の問題だろ。
配列の扱い方が理解できれば、ポインタも理解できる。
953 :
名無しさん@12周年 :2011/10/15(土) 01:14:33.20 ID:D5kawlUA0
規約で変数を意味のある単語3文字以上ってなってても ループカウンタは例外としてi, j k, ...としてよいってなってることが多いはず。 なんでそうするか。ループカウンタ変数は慣習があるから、 そのほうがみんな理解しやすいから。
>>938 i以外は使いたくないな。
もう指が勝手ににループカウンタはiと打ってしまうので2重以上のループで必ず間違える。
>ポインタ=箱のアドレスをもつ変数 ポインタはポインタ演算ができるから、 「箱のアドレスをもつ変数」だけだと、ポインタ演算をみると分からなくなってくる。
956 :
名無しさん@12周年 :2011/10/15(土) 01:14:49.59 ID:iQYjvlpuO
>>943 俺もチャー派。
intはイント、charはチャー。
>>916 char はチャーじゃない、キャラクタだ
atof はアトフじゃない、アスキーToフロートだ
pow はポウじゃない、パワーだ
K&R 最高や
>>952 今となっては読む価値がないってよく聞くけどねw
キムチ&R・・?
素人は、while ( 1 ) 玄人は、for ( ;; )
>>934 Eclipseなら複数行選択となんかのショートカット一発で変換できたと思う。忘れたが。
963 :
出世ウホφ ★ :2011/10/15(土) 01:16:29.69 ID:???0
>>944 次の箱を調べるためには、箱の大きさが必要だよな。
ポインタはポインタを1増やすだけで次の箱を指し示してくれる。
965 :
名無しさん@12周年 :2011/10/15(土) 01:16:49.20 ID:MKVrq8gk0
>>955 すまんポインタ演算って何・・?
やっぱC言語むずかしくね?
966 :
名無しさん@12周年 :2011/10/15(土) 01:17:25.60 ID:D5kawlUA0
>>944 箱の一つ一つにはアドレスが振ってあって、
箱を一まとめに扱いたいときに配列とみる。
見方の違いと考えればよいのでは。
で、配列として使うときには先頭と終端が分かればよいので、
先頭を指すアドレス(=ポインタ)が配列と思えばわかるかな?
スレを見直して、ちょっと思うんだが何でポインタが難しいと思う人間が 居るのか全く判らない 逆アセンブルして見れば、一発で理解出来ると思う WinでもMacでも概ね 何らかのカーネル上で動作するコードでのポインタは物理アドレスではない あれは、論理アドレス(ページアドレスと表現する場合もある)
968 :
名無しさん@12周年 :2011/10/15(土) 01:18:06.89 ID:AtW2OB4w0
>>961 昔読んだ linux のカーネルの init() の最後はそうなってたような。
969 :
名無しさん@12周年 :2011/10/15(土) 01:18:16.75 ID:WLd5VCN2P
char *pのpは変数で char p[]のpは定数
>>961 ネタといことで1つ
#define T_T ;;
#define ever (;;)
for (T_T) { }
for ever {
}
971 :
名無しさん@12周年 :2011/10/15(土) 01:18:52.31 ID:ZjeP/vdn0
>>949 偉い高僧がIT土方のために描いてくれた地獄極楽図だと思え
>>959 まぁ古いし
ある程度マスターした後に目を通すと今までの見落としが見つかることもあるから
全くの無価値ではないけどね
>>948 今はどうだか知らんが、昔のコンパイラだったら、たとえば2行目を
for(ii = 0; ii < 10; iii++){
…って書いちゃっても通しちゃんじゃないか?
カウンタは i、j、k で十分だ
>>944 ポインタに対する演算ができるからだよ
intの変数hogehoge を指すポインタ変数があるとして、そのポインタの参照先はhogehoge
そのポインタ変数+1の参照先はhogehogeの次の領域に存在するintのデータ
この「+1」のところを配列の添字と同じようなものだと見なせるから
>>969 いや、如何考えても下のpも変数だろ。
[]は配列じゃなくポインタの別記法
976 :
名無しさん@12周年 :2011/10/15(土) 01:20:03.55 ID:D5kawlUA0
>>972 でも昔は、「Cを学習するならこの本」的な扱いだったよね。
それで自信なくしたひとも多い、はずw
お世話になりました。まるで役立てられていませんが。
>>961 一般的にfor→whileって感じで学習すると思ってたから、
それで自然だと思ってた。それが先祖返りするのか…
0000H 〜FFFFHなんて64KBメモリにアセンブラでメモリを読み書きしていた少年時代があるとないとでは ポインタの理解も違うのかな。
>>976 そりゃ昔の C 言語書籍といえば嘘を平気で書くデタラメ書籍が多かったから
「書いてあることはすべて正しい」という一点で評価されていた
982 :
名無しさん@12周年 :2011/10/15(土) 01:21:26.73 ID:s8So7bOl0
第1版と第2版、両方持ってた。ちょうど大学2年のときに第2版が でたんだよな。あれから20年。。。
983 :
名無しさん@12周年 :2011/10/15(土) 01:21:45.27 ID:MKVrq8gk0
>>969 それだ、そんなことを会社の先輩が言ってた
ただし変数定数がなにを意味すんのかがわかんねえorz
984 :
名無しさん@12周年 :2011/10/15(土) 01:21:50.69 ID:qc4oV2dR0
おまえらif文使う時 if (a==0) { b = 1; } って書く? それとも if (a==0) { b = 1; } って書く? 俺、後者だけど(つうか会社のサブセットがそうなっていた気が・・・)
985 :
名無しさん@12周年 :2011/10/15(土) 01:22:11.01 ID:iQYjvlpuO
986 :
名無しさん@12周年 :2011/10/15(土) 01:22:44.96 ID:D5kawlUA0
>>979 アドレス=住所、的な教え方されてると、
「東京都渋谷区云々」みたいなイメージもってしまうから
ポインタ演算ってなんのこと、ってなるかもね。
>>970 #define begin {
#define end }
for (;;)
begin
ほげほげ
end
988 :
名無しさん@12周年 :2011/10/15(土) 01:22:57.32 ID:nDSmN/Zv0
32bitx32bit演算で64bitを受け取れる言語仕様にして欲しかった。 割り算も、整数部と余り両方が欲しい。 TEST AND SET命令も無い。
ポインタって「入れ物」とか「指し示す」とか言うから初学者はわけわかめなんじゃないかな。 具体的なイメージが浮かばないから結局理解できない。 0x00 ↓ ------------------------------------ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------ ノートにこんな感じでメモリマップ書いて追いかければいい。 ある程度理解できればlibcのソースでも現場のソースでもみて **が何の意図で使われているか考えてみろ。
990 :
名無しさん@12周年 :2011/10/15(土) 01:23:33.36 ID:Si8pnRD10
CとC++とC#の違いがわからない
>>911 例題
char a[10][10];
int main(int argc,char *argv[])
{
/* 配列の要素に1を入れる */
InsertArray(0, 0, 1);
/* 配列の要素に何かを入れる(POINTER) */
Insertpointer(&a[0][0], 1);
}
void InsertArray(int x, int y, char value)
{
a[row][column] = value;
}
void Insertpointer(char *p, char value)
{
*p = value;
}
配列で扱う型がcharとかの基本型だったら、そのまま配列のx,yで使用したほうが分かりやすい
ただし、配列の各要素が構造体になりそうだったら、各区要素へのアクセスはポインタのほうが
扱いやすいかも
要するに、いずれかの選択肢があることを知っておくことが重要
992 :
743 :2011/10/15(土) 01:23:38.77 ID:lQWcwjTn0
マイクロソフトのコーディング規約で変数名の先頭に型を表す文字をつけろというやつ。 たとえばint型の変数には i を付けるとか。 アホかと 型を変更したときに修正が大変だし、万一、型が間違ってたらまずいだろ。 変数の型くらいdefine文で常に確認しろって。
>>984 前者だが、Visual Studioとかだと勝手に後者になるな
>>941 コンピューターのデータ操作はポインタ操作が基本中の基本だからねぇ。
>>967 最近はアセンブラ読めない奴結構いるんだよね。ソース&アセンブラの
ミックスモードデバッグとかもしないのかな。
今時のOSで仮想アドレッシング使わないOSって無いからな。
995 :
名無しさん@12周年 :2011/10/15(土) 01:24:05.09 ID:WLd5VCN2P
>>975 上はp=(char *)0;が通るが下はエラーになる
997 :
名無しさん@12周年 :2011/10/15(土) 01:24:28.16 ID:s8So7bOl0
>>973 iiiの定義をしてなかったらエラーになるだろ。Perlじゃあるまいし。
998 :
名無しさん@12周年 :2011/10/15(土) 01:24:34.26 ID:iQYjvlpuO
>>985 しまった。サイズ不定だから配列じゃないや…
orz
1000 :
名無しさん@12周年 :2011/10/15(土) 01:24:56.31 ID:D5kawlUA0
>>983 定数って、定義後に変更できないんだよ。
変数って、値を変更したければ代入しなおせばいいけどねw
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。