1 :出世ウホφ ★:2011/10/16(日) 03:26:23.88 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
前スレ ★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年には当時の大統領であるビル・クリントンからアメリカ国家技術賞を受け取っている。(おわり)




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したときの結果はどこから来るの?
量子の海?

105 :名無しさん@12周年:2011/10/16(日) 10:10:01.24 ID:+QODP+Bt0
>>103
コンパイル時に決まる静的な数字
定数

107 :名無しさん@12周年:2011/10/16(日) 10:15:42.69 ID:TrP+EVoI0
>>http://raicho.2ch.net/test/read.cgi/newsplus/1318608961/1000

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


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

でも定数の仕組みを調べればいいってことはわかったよ。
ありがとう。

111 :名無しさん@12周年:2011/10/16(日) 10:19:59.20 ID:l9byU5PZ0
>>107
sizeofはコンパイル時に評価される演算子だよ。

配列の大きさはコンパイル時に決まってるだろ。

126 :名無しさん@12周年:2011/10/16(日) 10:35:50.31 ID:98EDqatg0
小学校か中学校でZ80とか68000とかのアセンブラ授業をちょっと入れるだけでびっくりするぐらいITに強い国になりそうな気もするんだけど
国がやるわけ無いか興味ないやつには地獄のような授業だろうしな

129 :名無しさん@12周年:2011/10/16(日) 10:37:50.92 ID:TrP+EVoI0
>>111
コンパイルとビルドとリンクの違いもわからんので、
コンパイル時に決まってるから、それがどうしたとしか。

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

やっぱネットにある情報だけで独学は無理がある?

201 :名無しさん@12周年:2011/10/16(日) 12:11:12.49 ID:v7yWxBev0
>>126
アセンブラもいいけど、 R と、
Perl や、 Ruby などのスクリプト系の言語を、
全ての授業と試験で使うように義務付けたほうが。

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 教えてくれたほうが、まだ役に立つわ。

236 :名無しさん@12周年:2011/10/16(日) 13:12:21.16 ID:v7yWxBev0
>>227,228
あくまでも、一般の小中学生も含めた全国民に、
読み書き算盤の一環として教えて、日常生活の中で使用することが前提なので、
R とスクリプト系の言語ということに。

もちろんスクリプト言語に、Python を加えてもいいし、
さらに余裕のある子供には、他のコンピュータ言語や、
SQL などのリレーショナル・データベースなども教えるということて。

241 :名無しさん@12周年:2011/10/16(日) 13:17:31.16 ID:ZEdZCuE70
>>236
あまり意味ないと思うよ
pythonだけでもいいし、bashでもいい

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

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

きちんと教育をしたければ、出来ればアセンブラ、妥協してC,Lispだと思う
スクリプトを教育に推奨するという人は、あまりプログラミングを理解していないのでは?
>>228の方が遥かに効果が高いと思う


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

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

もちろん、processing を使って視覚化もすれば良いと思うし、
awk や sed や、bourne sh や bash を使ってもいいと思う。

268 :名無しさん@12周年:2011/10/16(日) 13:47:54.91 ID:8EoSjf/P0
>>266
ミーハーな中二病って感じ

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とか吉里吉里とかあるから、それもコードをいじるところから初めてみるといい

読んでいるだけで理解できるなら、今頃あなたは、とっくにコードを書き始めているだろうからね

285 :名無しさん@12周年:2011/10/16(日) 14:04:49.04 ID:XW7KOuN20
>>276
今はツクール系のツールがたくさん出てるんだからまずはそれを活用しようぜ
それで不満が出てきたらほかの手を模索すればいい

301 :名無しさん@12周年:2011/10/16(日) 14:24:09.44 ID:XzZFu/VG0
Cでポインタを使って、アドレス0番地に入っている値を見るにはどうしたら良い?

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
それ、ヌルポじゃないの?

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

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

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

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

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

ところで C++ なら、
Linux や BSD 系の OS の他に、
一緒に haiku なども詠むと効率が良いんじゃないかな。

312 :名無しさん@12周年:2011/10/16(日) 14:30:30.79 ID:iXQ+dYayP
>>305
そりゃMMUがプロテクトかけているメモリ空間だったらユーザーレベルのプログラムが
いくら頑張っても読めないよ。
OSレベルでpeekに相当するAPI呼ばないと。
そもそも最近のOSではユーザープログラムが見ている0番地は実際の0番地ではないし。

316 :名無しさん@12周年:2011/10/16(日) 14:31:29.79 ID:XzZFu/VG0
>>312
じゃ、OSもMMUもない組込みシステムみたいなのとしたら?

347 :名無しさん@12周年:2011/10/16(日) 14:51:55.57 ID:S6ToEdjW0
Cなヒトで、僕がイヤなのは、
なんていうか、なんでもかんでも1行で書けばエライと思っているフシないすか?

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

みたいなやつ。


365 :名無しさん@12周年:2011/10/16(日) 15:06:44.02 ID:xToHjjzIP
たまにC書くと、シンプルで良い言語だなと思う。
普段はbash使いなんだけど、Cは馬鹿っ速いし。

371 :名無しさん@12周年:2011/10/16(日) 15:09:07.08 ID:XzZFu/VG0
そもそも、K&Rのテキストで、えらくわかりにくいコードの書き方を
推奨していた気がする。

373 :名無しさん@12周年:2011/10/16(日) 15:10:58.09 ID:S6ToEdjW0
>>365
{ }で閉じるのはいいと思う。
Python使っていても、
if (a==b):
   a=0
#}
ってするんだよな。なんか閉じていない気がして。



453 :名無しさん@12周年:2011/10/16(日) 15:56:51.91 ID:S6ToEdjW0
これを言うと歳がバレるがw
FORTRANはパンチカードを生協で買って、パンチした。
翌年は、それがマークシートになって、消しゴムで消せるようになったので歓喜した。
うっかりコタツに置いた、マークシートの束を落としてバラバラになったら泣きそうになった


456 :名無しさん@12周年:2011/10/16(日) 15:58:15.64 ID:8EoSjf/P0
>>453
パンチカードとかジジイ教授の昔話でしか聞いたことないわ…
基本情報はCを選択したけど、K&Rで余裕だった。というか国語の問題だった

464 :名無しさん@12周年:2011/10/16(日) 16:01:32.78 ID:S6ToEdjW0
>>456
ジジイで悪かったな。
って事はなにか?今の若い者は
紙テープに出したコードの1バイトを変える時、マシンが開いていないので、実際に紙を当ててノリで貼ったり、
紙テープにパンチで穴あけたコトがないというのか?


471 :名無しさん@12周年:2011/10/16(日) 16:03:48.38 ID:XzZFu/VG0
>>464
ねーよw

505 :名無しさん@12周年:2011/10/16(日) 16:26:21.12 ID:rZsr/YfTP
>>373
カッコに毒されすぎ。

もっとPythonコード読みこなせば
(ちゃんと整形されたコードなら)
カッコなんてジャマだってわかるよ。

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

BASICだって、PascalだってCだって
「あけた扉は閉める」
のが流儀だったからなぁ。 こればっかりはちょっと慣れそうにない。


514 :名無しさん@12周年:2011/10/16(日) 16:31:02.09 ID:ZW2he9IB0
>>510
改行があるのに、わざわざ ; をつけないと怒られる方がおかしい。
これについてだけは、C の欠点だと思う。

516 :名無しさん@12周年:2011/10/16(日) 16:31:58.37 ID:KF3UGYne0
某メーカーで仕事やってた時、ポインタ禁止だったな
マジで
理由はポインタ分からないヤツがいるからとか
訳の分かんない理由だった

518 :名無しさん@12周年:2011/10/16(日) 16:33:16.72 ID:S6ToEdjW0
>>516
文字列を使わないのなら、ポインタ無くてもなんとかなるかな。


539 :名無しさん@12周年:2011/10/16(日) 16:41:44.94 ID:Snb2Cssq0
>>518

今の計算機でポインタを使うのと使わないのではどれくらい差が出るものなのかな?
差が、僅かしかないならポインタ使う必要の無いように思うのだが・・

544 :名無しさん@12周年:2011/10/16(日) 16:46:26.16 ID:m8Spbc5A0
Cでポインタ使わないってことは、動的なメモリ確保も使えず、
関数呼び出しで参照渡しも出来ないってこと?



547 :名無しさん@12周年:2011/10/16(日) 16:47:28.75 ID:S6ToEdjW0
>>544
>関数呼び出しで参照渡しも出来ないってこと?

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

でいいよなw



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

>>547
そう、そんな感じ
必要なメモリは外部変数で予め確保しておけと
もちろん配列の関数渡しはご法度

577 :名無しさん@12周年:2011/10/16(日) 17:01:38.24 ID:y53esEbv0
楽してポインタなんか使ってると
結局ダメ人間になるって話だよね

585 :名無しさん@12周年:2011/10/16(日) 17:06:56.91 ID:S6ToEdjW0
そういや、今、ハンガリアン記法ってどうなん?

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

sFilename="file.csv"

って書くほうなんだけど。


594 :名無しさん@12周年:2011/10/16(日) 17:12:34.08 ID:XX7ww/030
>>585
それは、間違ったハンガリアン記法だから。
Wikipediaでも読んで勉強しなおそう。

746 :名無しさん@12周年:2011/10/16(日) 20:44:32.76 ID:h8tcq4eP0
無料のフルISOC99 Cコンパイラ

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

いい時代になったもんだな。

749 :名無しさん@12周年:2011/10/16(日) 20:46:25.15 ID:HHAQRIBP0
>>746
GCCは無料ですよ。
しかも、かなり昔から・・・。

789 :名無しさん@12周年:2011/10/16(日) 22:21:56.19 ID:wOTgQlHh0
F社バブル入社でメインフレーム主体の部署配属されたのに
なぜかUNIXとCから入ったオレはラッキーだった

798 :名無しさん@12周年:2011/10/16(日) 22:38:29.37 ID:c5EabGSw0
>>789
メインフレームから専用機、UNIXからWINDOWS,PCも鯖もCOBOLもCもVBもshellもJCLもhtmlも何でもやったよ、俺。

挙句の果てに体壊して退職、現在はバイト生活だ(泣)。

807 :名無しさん@12周年:2011/10/16(日) 23:06:06.94 ID:yqZZM+h+0
>>798とかか技術は高そうなのに仕事に窮するって人多そうだな。
でもPGってのはいつの時代も必要なわけで、レベルの下がった今の新人を鍛えるより、
こういう人を採るほうが効率的だと思うんだが。
新卒PG育成の場面を見ていつも思う。

813 :名無しさん@12周年:2011/10/16(日) 23:15:57.83 ID:c5EabGSw0
>>807
年齢的にITはどこも雇ってくれそうにないんでVisualStudio買って自宅で趣味でプログラムはやろうと思ってる。

828 :名無しさん@12周年:2011/10/16(日) 23:37:40.61 ID:B+mA2h6y0
>>277
>>278
>>285

サンクス。
HSPは手を出していたんだが、
ゲームのスクリプトってどう書かれてるのかが分からなかった。
そういうところからはじめればいいのか。
やっぱ自己流オンリーってのはダメだわな。
とりあえずそのフリーゲームでも探してくるとしよう。

873 :名無しさん@12周年:2011/10/17(月) 02:08:33.13 ID:+BvcAizt0
Cは自分でツールを作ってプログラミング環境を便利にしていくための土台にするもの
Cでアプリケーションを作ることは大きなミス

878 :名無しさん@12周年:2011/10/17(月) 02:16:54.37 ID:Q3PJ1HMf0
>>873
それはCとC++を区別して言っているの?


http://raicho.2ch.net/test/read.cgi/newsplus/1318703183/l50人気ブログランキングへ