今日は何の日?(10月12日ですが・・・)


記事を載せるのが3週間近く遅れてしまいましたが,10月12日は何の日でしょう?

毎日の朝礼時のネタ探しにWikipediaを見ていて,「あぁ,あの日だ・・・」と思い出しました。

365日どの日にも何かしらの記念日がありますが,おいらにとっての10月12日は,Dennis Ritchie(デニス・リッチー)の命日です(2011年10月12日)。



デニス・リッチーというスーパーヒーロー

ちょうど1週間前の,2011年10月5日には,Steve Jobs(スティーブ・ジョブズ)が亡くなっていましたが,おいらにとっては,リッチーのほうが遥かに衝撃でした。

もしジョブズがいなくたって,たかだか,MacとiPhoneができなかっただけでですが(Apple IIやNeXTもか),リッチーがいなかったら世界はどうなっていたのでしょう?

今のおいらたちが使っている,あらゆるコンピュータ(計算機)が存在しえなかったかもしれません。

iPhoneかAndroidか,どころの話じゃないです。

リッチーは,あの歴史的な名著“The C Programming Language”(通称,K&R)の,「Rの人」です。


計算機工学に明るくない普通の人へ補足しておきますと,デニス・リッチーはコンピュータ言語「C」の開発者であり,UNIX OSの開発者の一人です。

計算機工学における最高名誉であるチューリング賞の受賞者であり,おいらくらいの年代の計算機工学科の学生にとっては,スーパースター・スーパーヒーローなひげおじさんでした。

ジョブズやスカリーのようや企画屋・経営者ではなく,純粋な技術バカとして尊敬し,あこがれるおっさんでした。

おいらの年代で計算機工学を学んだ学生で「K&R」を読んだことがない学生はいないでしょうし,「Rの人」というだけで,「あぁ,リッチーね」とわかると思います。

また,現代のプログラマやSEでも,以下のプログラムコードを見たことがない人間はいないでしょう。

#include <stdio.h>

main()
{
    printf("hello, world\n");
}
【2018年7月6日修正】

致命的なコードミスを発見&修正。
printfの行末にセミコロン”;”が抜けていました。Cを学んだものとして信じられないくらいの大ポカです・・・。

これは,「K&R」の冒頭に載っていた,コンソールに「hello, wolrd」と表示するだけのコードです。

それでも,これが,高水準言語でOS書くという革命を起こした「C言語」のスタートでした。

さらば,計算機工学のスーパーヒーローたち

リッチーと同じベル研のトンプソン(Kenneth Thompson)が,遊びでメインフレームコンピュータ上にUNIX OSを作ってから47年(おいらと同い年なんです)。

リッチーとカーニハンが「K&R」を世に出してから38年。

計算機工学黎明期の偉人・天才たちが大活躍していた時代から半世紀近くたった今,彼らが使っていた大型計算機は数万円(実質0円?)のスマホとなり,C言語を祖先に持つさまざまな言語で書かれたアプリが,UNIXから派生したOSの上で走っています。

その進歩に驚かされるとともに,彼らのようなスーパーヒーローが活躍できる場所は,もうなくなってしまったようにも思え,少し寂しい気もする今日この頃です。


・・・と,計算機工学には興味がない人には全く意味不明な記事ですいません・・・。

自転車と全然関係ないし(^^;

同様に,計算機工学とはまったく関係のない職場の皆さん,意味不明な朝礼ですいませんでした! m(_ _)m

おしまい。

(おまけ)

記事中に出てくる「大型計算機」は,当時は「ミニコンピュータ」,略して「ミニコン」などと呼ばれていました。

それ以前の超大型計算機に比べてミニだよ,ということですが,それでも冷蔵庫並みの大きさでした。

リッチーさん達が遊んでいたミニコン,DEC社のPDP-7。超小さいし,超お安い(7万ドル)。どこがやねん~(笑)

リッチーさん達が遊んでいたミニコン,DEC社のPDP-7。
超小さいし,超お安い(7万ドル)。どこがやねん~(笑)

冷蔵庫どころか婚礼タンスみたいな当時のミニコンですが,その何千倍の処理能力,何万倍もの記憶容量を持つ計算機が,平たいガラス板となって,道を歩きながら「なんたらGO!」なんてやっているのだから,なんとも感慨深いものがあります。

リッチーがいなかったらどうなっていたことやら・・・。

冷蔵庫並みの計算機(と電源)を背負って,モンスターを探して町中を歩くことになっていたかもしれません(笑)

もちろん,サイコンも冷蔵庫サイズでね(^^)

【2018年7月6日修正】
致命的なコードミスを発見&修正。printfの行末にセミコロン”;”が抜けていました。Cを学んだものとして信じられないくらいの大ポカです・・・。
にほんブログ村 自転車ブログ ロードバイクへ
 
記事下用336×280
記事下用336×280
  • このエントリーをはてなブックマークに追加

パーツ紹介記事(一覧比較)

おかいもの情報



ほんの数年前に原著をBOOKOFFしてしまった。もったいない・・・。

コメント

  1. 名前:キナバルの★ 投稿日:2016/11/14(月) 18:56:42 ID:ce3be6f17 返信

    Shiro様
    プログラム言語の話題ついでに、ひとつ質問させてください。

    自分は学部時代にフォートランの触りを習い(入力はパンチカードでした。)、MS-DOSのコマンドを趣味でいじった位の単なるウィンドウズ・ユーザーなんですが、思うところがありHTMLとCSSを勉強してみようと思い立ちました。とは言えこの歳ではタグやコマンド、パラメーターなどを覚えられず、すぐ忘れます。例えばHTML5・CSS3のタグとそのパラメーター全てが一覧になったような参考書をご存知でしたら、ご紹介いただけないでしょうか。

    その昔ナツメ社の「ハンディ・リファレンス・シリーズ」という書籍がそのような目的で書かれていて、参考にしていた記憶があります。その後書店では全然見かけなくなったのでネットで調べたら、ナツメ社はもはやコンピュータ関連の出版はやってないとのこと。HTMLとCSSについて、この「ハンディ~」的な参考書はありませんでしょうか。

    よろしくお願いします。

    • 名前:Shiro 投稿日:2016/11/16(水) 00:19:20 ID:fe48be733 返信

      おいらは,HTMLが出始めたころ(もちろん,CSSは存在せず)に,テキストエディタで書くところからスタートしました。

      なので,HTMLに関しては,いわゆる入門書のようなものを読んだことがありません。
      ただ,リファレンスは,確か秀和システムのを持っていました。

      最近では,WEBで探してしまった方がいいので,リファレンス本を読むことはなくなってしまいました(みんなBOOKOFFへ・・・)。
      なので,あんまり参考になるお話ができませんです。すいません~

      ただ,HTMLとCSSの基本的な考えについては,大分古い本ですが,「Web標準の教科書」という本をよく読みました。

      おそらく,HTMLはそんなに難しくなく書けるのでは?と思いますが,CSSはなかなか奥が深く,ちょっとハードルが高いかもしれません。
      と言っているおいらの知識も,CSS2どまりで,CSS3はまだ全然慣れていません。

      覚えても,覚えても,揮発していってしまうんですよねぇ・・・。

      • 名前:キナバルの★ 投稿日:2016/11/16(水) 16:15:55 ID:c03225372 返信

        ご返事ありがとうございます。
        それではネットから探してみますか。いまだに自分の頭の中は、黒電話の受話器を音響カプラにくっつけて、300bpsでの通信状態です。

  2. 名前:トントカ芋 投稿日:2016/11/01(火) 20:49:02 ID:668569474 返信

    懐かしい話題をありがとうございます。今もC(C++)で飯食ってます。
    printf の様な可変長パラメタの渡し方が当時理解できなかった思い出が蘇りました。
    訳本の何版を持っているかでCを始めた時期が判ったのものでした。

    • 名前:Shiro 投稿日:2016/11/01(火) 22:09:34 ID:9960558e2 返信

      はじめまして!
      コメントありがとうございます!!

      懐かしんでいただけて,なによりです(^^)

      可変長パラメタは当時のほかの言語ではなかなか考えにくかったですよね。
      おいらは,ずっと機械語をやっていたので,スタックの考え方が身についていたので割とすんなり入れたのですが,先にPASCALなどのもっとクリーンな高級言語を先に覚えてしまった学生たちは,かなり苦労していました。

      「関数のポインタの配列」なんていうと,チンプンカンプンでしたねぇ・・・(懐)

  3. 名前:キナバルの★ 投稿日:2016/11/01(火) 19:32:20 ID:9757da3ca 返信

    ところで共著者のカーニハン(K)の方は、ご存命なんですか?

    • 名前:Shiro 投稿日:2016/11/01(火) 22:05:14 ID:9960558e2 返信

      すっかりカーニハンおじさんのことを忘れていましたが,なんと,ご存命だそうです!!(^^)

      C言語自体はリッチーの作のようですが,それでも偉大ですよねぇ・・・。
      AWKにもずいぶんお世話になったし(^^;

      • 名前:キナバルの★ 投稿日:2016/11/02(水) 11:39:18 ID:ad5956759 返信

        AWKとは何ですか?業界関係で無いもので…

        • 名前:Shiro 投稿日:2016/11/02(水) 19:54:03 ID:4b5e4eacf 返信

          あぁ,そうですよね,IT業界や計算機工学ではない方に,AWKと言われてもなんじゃそりゃ?ですよね。

          AWKは,UNIXというOS上で作られたソフト(というか,プログラム言語)です。
          (AWKのKはカーニハンのKです)

          ちょっとしたテキスト処理をやるのに,と~っても便利で,同じような働きをするSEDやPerlと並んで,ワークステーションやミニコンを使う人は,必ずお世話になっていました。

          たとえば,テキストファイルにクラス全員のテストの点数が書いてあって,なんらかの計算をしようと思ったら,今風ならエクセルに取り込んで,sum関数やらaverage関数を使ったりするかと思います。

          が,AWKなら,たとえば,平均値を出すなら

          awk ‘{s+=$1}END{print s/NR}’ hoge.txt

          と書くだけです。
          なんて簡単なんでしょう~!

          他にも,テキストの全部の行に行番号を付けるなんてことになったらものすごく大変ですが,

          awk ‘{print NR ” ” $0}’ hoge.txt

          と書くだけでできます。

          まぁ,正直言って,プログラミングに興味のない人からすると,なんじゃそりゃあ!!?な呪文に見えるかと思いますが,こういう,「1行のプログラムでこんな事ができるんだぜ!」を自慢し合ったりする文化が,計算機工学の学生の間にはありました(懐~)

          ちなみに,フォトポタ日記は昨年夏まではPerl,それ以降はPHPという,AWKの末裔にあたる言語で書かれてございます(^^)

          • 名前:キナバルの★ 投稿日:2016/11/03(木) 13:04:01 ID:f75fe0f16

            詳細な解説、ありがとうございます。
            ところでAWKは何と読むのでしょう?単純に「エイ ダブリュ ケイ」ですかね。あるいは「アウク」とか??

            ちなみにPHPは「Hyper Text Preprocessor」のこととなっているのに、この略称自体は「Personal Home Page」の略だと書いてあります。何でプログラム名の頭文字を取ってHTPとかにしないで、関係ない名称の頭文字なんでしょうか??HTPだとHTTPと紛らわしいからでしょうか。

            プロにとっては愚問でしょうが、素人なもんで些末なことが気になってしまって・・

    • 名前:Shiro 投稿日:2016/11/04(金) 19:38:33 ID:a904eaaba 返信

      今まであまり気にしたことはなかったですが,なんとなく「オーク」と読んでいました。

      一方,PHPのネーミングはちょっと変わってますよね(^^;

      (現在の)正しい語源は「PHP:Hypertext Preprosessor」であり,略してPHPとなっています。

      語源に元の単語が入っているという,自己矛盾というか,そういう略語です。

      この形式の略語(再帰定義などと呼ばれます)は,「ちょっと気の利いた名前」ということで,計算機の文化ではちょいちょい見かけます。

      例えば,
      GNU(GNU is Not Unixの略)
      LINUX(Linux Is Not UniXの略との説が有力)
      などです。

      おいらも簡単に作れます。ANA(ANA is Not American)とか(^^)

      略語に自分自身が入ってしまっているので,「それじゃ,説明にならんじゃ~ん!」とツッコんでほしいのです(^^)

      どうやら,PHPは,最初は「Personal Home Page」の略語でスタートしたものの,途中で茶目っ気が出たのか,「PHP:Hypertext Preprosessor」と変更したようです(^^)

      • 名前:cresson 投稿日:2016/11/05(土) 10:38:57 ID:fe6a57149 返信

        こんにちは

        手元にリーナスの本「それがぼくには楽しかったから」があるので
        確認したんだけど、LinuxにLinux Is Not UniXの意味は無いみたいですよ
        リーナス自身は自己中心的すぎるので、Freax(フリークス)と名付けたかったらしい。

        最近では、Appleもマイクロカーネル諦めて、ハイブリットカーネルっていいとこ取りなカーネル使ってるみたいですね。
        その名も、XNU(X is Not Unix)さすがアップル、GNUのパクリじゃん!

        GNUと言えば、ヒゲのおっさん、RMSことストールマンを忘れちゃいけませんね。
        あまり知名度高くないけど、今やGNUなソフトウエアが走ってる機材
        一家に一台ぐらいあるんじゃないでしよか?

        • 名前:Shiro 投稿日:2016/11/05(土) 22:49:03 ID:66b5b5712 返信

          あら~,LINUXは違っていましたか! m(_ _)m

          おいらにとっても,ストールマンはスーパーヒーローひげおやじです。
          学生のころ,信号処理DSP用にコンパイラを作ろうとして,ずいぶんとgccのお世話になりました(パクったともいいます。笑)

          我が家の液晶TVは東芝のREGZAですが,説明書の末尾に,Linux Kernel,BusyBox,glibcなどのFSFライセンスが延々と書かれていますよ(^^)

          過去2回ほど,フロントエンドがこけて,コンソール画面が出たことがあります(笑)

  4. 名前:アンゴルゴア by sramred 投稿日:2016/11/01(火) 06:45:00 ID:965320893 返信

    訳本の方が本棚にあったな…

    • 名前:Shiro 投稿日:2016/11/01(火) 22:03:19 ID:9960558e2 返信

      おいらが学生のころは,計算機科学関係の本は軒並み原著ばかりで,訳本があまりありませんでした。

      K&Rもそうですが,タネンバウムのMINIX(懐!)も原著で,ただでさえ難しいOSの話が256倍くらい難しかった記憶があります。
      おかげで,英語の読解力だけが妙に向上しましたが・・・(笑)

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


Warning: file_get_contents(index.php): failed to open stream: No such file or directory in /home/garneau/www/wp/wp-includes/plugin.php on line 423