2013年02月の日記です

目次

03日 文旦
06日 文旦の飾り剥き
10日 10年ぶりの更新
15日 ページワン
17日 メレンゲ
20日 goto不要論を本当に理解する
24日 訃報
25日 発表会
26日 シュガーバニーズとマドレーヌ


文旦  2013-02-03 10:49:59  料理

▲目次へ ⇒この記事のURL

文旦

文旦を6つ、いただいた。


文旦って、名前は知っていたが食べるのは初めてだ。いただいたことは喜んだが、少し戸惑った。

とりあえず、普通にむいて食べればよい、といわれたのでそうしてみた。剥きにくい。


調べてみたら、文旦を剥くにはコツがあるそうだ。


赤道部分を一周、切り込みをいれ、親指をいれて皮を1周、少しづつ剥く。

つづいてぐるぐると何周も、深く剥いていく、無理をしなければきれいに皮がはがれる。


なるほど、面白い。


さて、中身を食べた後の皮がきれいだ。もったいない。


というわけで、文旦漬けを作ることにする。

いま水につけて苦みを取っているところ。


朝からつけているので、昼過ぎには料理開始してみようと思うが、完成は夜だろうな。



#写真は、一番上から みかん 八朔 文旦。

 子供は「ゆきだるまみたい」と大喜び。




午後になって追記。


10年も前に書いた自分のレシピを見ながら作ってみた。

書いた当時は料理慣れしていなかったので、どこかにあったレシピを真似しただけだったのだが、今見てみると結構無駄がある。


というわけで、料理ページのレシピを追記した。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

料理

関連ページ

オロブロンコ漬

文旦の飾り剥き【日記 13/02/06】

別年同日の日記

04年 鬼は外

16年 ガストン・ジュリア 誕生日(1893)

20年 台風被害の修復完了


申し訳ありませんが、現在意見投稿をできない状態にしています

文旦の飾り剥き  2013-02-06 14:01:11  料理 家族

▲目次へ ⇒この記事のURL

文旦の飾り剥き

先日もらった文旦。


文旦のステキな食べ方のページを参考に剥いて食べた。


…最初検索したとき、2ページ目があることに気づかなかった。


2ページ目を見て驚愕。綺麗に剥いた皮に、房の皮を取った文旦の果実を詰めなおしている。

面白い。子供にウケそうだ。やってみよう。



自慢にもならないが、僕は八朔の皮とかを剥くの下手だ。

うまくいかないと恥ずかしいから、夕食後、子供がテレビを見ている間にこっそりやる。


でも、途中で妻に見つかった。

なにしてんの? と言われて、えーと、受けるかと思って…としどろもどろ。


でも、やろうとしていることは理解してくれて、手伝ってくれた。




で、できたのが写真のもの。

果実の背中の部分、筋が固くて残っているものもある。無理にはがしたら実が崩れそうで。


5歳の長女、3歳の次女にはウケた。

8歳の長男は、きれいとかかわいいとかよりも、デザートを早く食べたいようだった。


せっかくきれいに盛り付けたが、すぐに家族5人で分ける。

参考にしたページでは、これを豪快に一人で食べていたが、家族が多いとそんなことはできない。




翌日である昨日、次女が「今日も昨日みたいな、お花のデザートがいいなぁ」という。

盛り付けをお花に見立てたようだ。


妻は食事もせずに仕事中なので、僕一人で黙々と剥く。

…30分もかかったが完成。特に写真は撮らないがほぼ同じもの。


作っている最中に、長男が来た。

なにやってるの? というから「昨日と同じように作ってるんだよ」というと、「え! あれ作ってたの!? そういう果物なんだと思ってた」とのこと。


なるほど、道理で感動がないわけだ。



先日作った文旦漬けは、3歳の次女以外には大人気。次女には苦いらしい。


残る文旦は1個。今日の夜食べて終わり。

また、皮が3個分残る。


文旦漬けはまだ大量にある。次は何作ろう?


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

料理

家族

別年同日の日記

04年 1日30品目

04年 「間違っている」は間違っている

12年 ビデオ圧縮

15年 最初のゲーム業界仕事

16年 やなせたかし 誕生日(1919)

18年 データバックアップ

18年 インフルエンザ


申し訳ありませんが、現在意見投稿をできない状態にしています

10年ぶりの更新  2013-02-10 09:15:37  コンピュータ

▲目次へ ⇒この記事のURL

OldGood COMPUTER!!」のページを更新しました。


更新してから気づいたけど、前回更新は 2003年2月1日。ちょうど10年ぶりの更新でした。


2週間前の日記に更新再開をほのめかすようなことを書きましたが、実はあの時点である程度原稿を書いていました。


ただ、今までも「原稿を用意した」ことはあったのね。それが「更新」に結びつかなかったのは、書いているうちに「書きたいこと」を見失いがちだったから。


自分の書きたいことは、いまみんなが使っている PC に至る歴史なのですが、「このテーマで書こう」と考えても、どうも外れて行ってしまうことが多かった。

2週間前の日記は、「途中であきらめず、原稿を最後まで書きあげる」ことを自分に課そうとしたのです。




ところで、該当日記にも書いたように、この時点での原稿は「スプライト進化の歴史」でした。


スプライトって、基本的に「2つの異なるアドレスの VRAM 内容を混合するハードウェア」です。

画面重ね合わせってことね。


あれ? じゃぁ、最初の VRAM ってどんなんだったんだ?

そもそも、最初はベクタースキャンだったはずなのに、VRAM は存在したのか?


…って、いろいろ疑問が出てきました。

悪い癖です。いつも、こうした疑問で話が横道にそれ、原稿は途中でほったらかしになるのです。



でも、今回は少し違いました。

最初の CRT 接続マシンを調べていたら、PDP-1 にはすでに搭載されていたことが判明。

PDP-1 は、TX-0 を参考にしたマシンです。調べてみると、やはり TX-0 に搭載されています。


TX-0 は、名著「ハッカーズ」に登場するマシン。プロトタイプマシンだったので量産はされず、それが故に歴史に埋もれているのですが、いつか詳細に調べて書きたいと思っていたマシンでした。


いい機会だ。ここは TX-0 を調べよう…と調査を開始すると、TX-0 は Whirlwind というマシンをベースにしていることがわかります。そして、Whirlwind には CRT が搭載されているし、どうやらこれが「世界初の CRT 搭載マシン」だったのです。




…で、スプライトの話は置いといて、Whirlwind の話になりました。

本当は TX-0 も一緒に扱うつもりで書き始めたのですが、調べれば調べるほど Whirlwind が興味深いマシンで、話をぶれさせないためにこれ一本に絞りました。



今の我々が使っている PC は、明らかに「PDP」の流れを汲んでいるコンピューターです。

でも、いわゆる「コンピューターの歴史」には、UNIX が PDP-7 上で作られた、という記述以前には、PDP は登場しないことが多いのです。


だから、PC がどうしてこういう設計になっているのか、調べてもすぐにはわからない。



コンピューターの歴史の開始当初は、ENIAC の流れを汲む UNIVAC がコンピューターの花形。

IBM もこれを後追いしてコンピューターを作り始めます。


でも、いつしか状況は逆転し、IBM が最大手になります。


そして、UNIVAC も、IBM も、ENIAC の流れを汲んで実用性重視の「つまらない」マシン(といっては失礼だが)を作っていたはずなのに、いきなり突然変異のように PDP-7 という「非常に洗練された」マシンが登場する。



ここらへん、どうなっているのだろう? 長年の疑問でした。

でも、ミッシングリンクのように感じていたこの部分を、Whirlwind が埋めてくれました。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

WWIの命令と画面

50年代の画面表示技術

別年同日の日記

03年 大人の社会科見学

05年 さて困った

08年 浄水器

17年 西和彦 誕生日(1956)


申し訳ありませんが、現在意見投稿をできない状態にしています

ページワン  2013-02-15 16:06:14  家族

▲目次へ ⇒この記事のURL

昨年のクリスマスに、子供と一緒に遊べそうなゲームとして「ハリガリ」を購入した。


…が、どうも失敗。

ルールは単純で3歳の次女でも理解できるのだが、反射神経は絶対的に長男が強い。


そして、ルールが理解できるがゆえに、負けると悔しい。

冬休みから1月半ばにかけて何度か遊んだが、遊ぶたびに(悪い意味で)大騒ぎ。




1月半ば、子供が「ウノ ドス トレス!」と歌っていた(♪虫のカーニバル)ことから、カードゲームの UNO の話になる。


UNO ってどんなの? と聞かれたので、トランプでページワン(アメリカン・ページワン)をやってみる。

(ただし、当然のようにカードの意味はローカルルールです。基本的に、カード枚数半分の UNO )


そうしたら、これが大ヒット。

次女には難しいだろう、と思ったが、何度かやるうちに覚えてしまった。


数字の順序など関係なく、「同じマーク」か「同じ数字」を出せばよい、というルールがわかりやすかったようだ。

(次女は数字は読めるが、その順序関係などはまだ怪しい)



それから1か月。

毎日、やることがすべて終わった寝る前に、10~15分ほど遊んでいる。

(寝る時間まで、という約束なので、ゲームが遊びたいために、歯磨きなどの寝る支度の速いこと!)



7ならべの各種バリエーションや、51も教えてみたけど、今はページワンが楽しいようだ。




ページワンというのは戦略も重要だが、運もかなり大きなゲームだ。


後のことを考えすぎる僕よりも、何も考えずに出せるカードを出すだけの次女のほうが強いことも多い。


そして先日ついに、8ゲームやって次女3勝、長女3勝、長男2勝、僕0勝。


…子供たちの得意満面の騒ぎようったらなかった。


しかし、こんな遊びが子供とできる幸せを感じている。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

家族

関連ページ

夏の家族旅行 2018

別年同日の日記

03年 体調悪し…

05年 忙しい一週間・火曜日

08年 三代目永眠

16年 再訂正:BCPL と Smalltalk の関係

16年 ニクラウス・ヴィルト 誕生日(1934)

20年 バレンタインの直前に

22年 長女発熱

23年 洗濯干し


申し訳ありませんが、現在意見投稿をできない状態にしています

メレンゲ  2013-02-17 14:16:44  料理 家族

▲目次へ ⇒この記事のURL

メレンゲ

後日追記:この日記の後、焼きメレンゲの失敗しないノウハウが溜まったので、料理コーナーにまとめを書きました


子供が卵かけ御飯が好きだ。


長男など、卵焼きやスクランブルエッグは嫌いだが、目玉焼きやたまごかけは好き。

卵かけの場合、長男の好みは全卵。長女は目玉焼き乗せで、次女は黄味だけ。それぞれに好みが違う。


そして、次女の分の白味が余る。最初は、中華風の卵白炒めとか作ってた。




焼きメレンゲを作ってみよう、と考えたのは、確か1月のはじめ。

ところが、僕は焼きメレンゲを食べたことはあったが、作ったことはなかった。


だいたい、僕の料理知識は日々の料理でなんとなく形作られたもので、本格的なお菓子とかは作りなれていない。


メレンゲを作るのは問題ない。ひたすら卵白を泡立てればよい。

簡単だからこそ、何も下調べをせずに作り始めてしまった。


砂糖も適当に入れる。あれ? これだけで大丈夫なのかな?

なんか粉入れるんじゃんかったっけ? といううろ覚えの記憶で、小麦粉を入れてみる。


…あっという間に、泡立っていたメレンゲがペシャンコに。

粉は入れなくてもよいが、入れる場合は片栗粉。この時点で調べたけどもう遅い。


まぁ、焼いたらそれなりにおいしい、不思議なお菓子が出来上がりました。


子供に「また作って」と言われた。失敗なんだけどな。




悔しいので再チャレンジ。

今度はレシピを見て、ちゃんと作る。片栗粉はなくてもよいようなので、砂糖だけで。


絞り袋なんてオシャレなもの、持っていない。レシピによれば「スプーンで落とすだけでも良い」とのこと。


カレーなんかに使う、大きな匙で天板に落とし、焼き上げる。

…焼きあがらない。泡は断熱性を持ち、ある程度の大きさになると中央に熱を通すのを阻害する。


そして、僕の一番大きな勘違いは、焼きメレンゲとは「焼いたメレンゲ」だと思っていたことだ。

これは名前のあや。焼きメレンゲはオーブン料理だが、焼くものではない、とこの時了解した。


オーブンは乾燥に使うだけで、非常に温度が低い。中まで火を通そう、なんて考えてもだめ。

乾燥させることが目的なので、体積に対して表面積を十分確保する必要がある。


つまり、できるだけ小さく作る。絞り袋を使って、口金で表面に筋をつけられればなおよい。



中まで火が通らない、大きなメレンゲの塊は、食べると歯にくっついておいしくない。

冷やしたら固くなって食べられるようにならないかな…と冷蔵庫に入れたら、全体が湿ってしまい、より悪くなった。


これはもう、どうしようもなかった。ごめんなさい。ごみ箱行きでした。




3度目のチャレンジ。

2度目のチャレンジは、べたべたとしてクッキングペーパーにもくっついてしまい、どうしようもなかった。


紙があると水分でくっついてしまうのかな? 鉄板のほうが、乾いたら素直に取れる?


わからないが、クッキングペーパーなしで焼いてみる。


水分と反応しにくい、片栗粉が入っていたほうが乾きやすいのかな、とも思って、片栗粉も入れる。


スプーンでは小さくするのに限界があるので、清潔なポリ袋で絞り袋を作る。

端をはさみで切っただけで、口金などはない。



これは、おいしく焼けた。

だけど、鉄板にへばりついた。無理にはがそうとすると崩れて、粉々になる。


何個か外してコツをつかみ、それなりの数を確保した。

一方で、結構な数が破砕された。


子供はおいしいと喜んで、粉までなめた。

「また作って」と言われた。失敗なんだけどな。




4度目の正直。


砂糖の分量をきっちり量り、クッキングペーパーも敷いた。

前回、ちょっと粉っぽくなった気がしたので、片栗粉は入れなかった。



片栗粉を入れなかったら、少し生地が柔らかくなって、絞っても形がまとまらない。

もしかしたら、泡立てが足りなかっただけかもしれないけど。


絞り袋を押さないでも、生地が落ちてしまうくらい柔らかい。

3回目に作ったときは大きさをそろえられたのだが、大きさがバラバラになった。


でも、はじめての成功。


子供に「また作って」と言われた。




5度目。


成功に気をよくして、別の味を作ってみようと思った。


ココアを入れる、というレシピを発見。純ココアを使うのがよいのだろうけど、ミルク入りココアでも大丈夫だという。


で、ミルク入りココアを入れたら大失敗。

泡が全部消えた。


絞り袋から何もしないで出てくる。4回目より緩い。

仕方がないから、後で割ることにして、クッキングペーパーの上に線で適当な模様を描く。


そのまま焼いたら、とりあえずおいしい、パリパリしたお菓子ができた。


「また作って」と言われた。失敗なんだけどな。




…というわけで、焼きメレンゲってこんなに難しいお菓子なのか、ってくらい失敗しています。

僕に製菓知識がないだけなのだけど、ここまで失敗するとは。


週に一度は子供のリクエストで卵かけ御飯をやるので、チャレンジするチャンスはまだまだある。

いつか「当たり前に成功できる」ようになるまで、挑戦は続きます。




おまけ。


先日、長男が全卵をかけるのをみた次女が「わたしも全部かける」と全卵かけに挑戦。


で、ごはんに混ぜてから「また余った白味でおかしつくってー!」


いや、余ってないから! 全部かけちゃったから!


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

料理

家族

関連ページ

失敗しない焼きメレンゲ

WEBページの検索順位をあげる方法(2/2)【日記 18/10/06】

朝ご飯【日記 24/02/02】

シフォンケーキ【日記 13/03/12】

別年同日の日記

10年 Netwalker 環境設定

15年 クリストファー・レイサム・ショールズ 命日(1890)

15年 手相うらない ちょっとみせて 発表(1995)

16年 トーマス・J・ワトソン 誕生日(1874)


申し訳ありませんが、現在意見投稿をできない状態にしています

goto不要論を本当に理解する  2013-02-20 00:18:33  コンピュータ

▲目次へ ⇒この記事のURL

OldGood COMPUTER!! のコーナーを10年ぶりに更新した、と書いたのが数日前。


その後、新資料が見つかってさらに追記している。

特に、Whirlwind の命令コード体系や、アセンブラの記述方法などは興味深い。


8bit 時代の PC でマシン語プログラムやっていた人にはわくわくできる内容だと思うし、最近の高級言語しか知らない世代には、こんな時代があったこと自体が衝撃だと思う。



で、急に思いついて検索してみた。

goto 不要論争って、最近のプログラマ諸氏は知っているのか?




goto 不要論について論じたページを見る限り、まだ心あるプログラマの方には、この論争は認識されていたようだ。

最近の言語では goto が排除される傾向にあるので、もう論争自体過去の遺物かと思っていた。


でも、「認識」はしていても、どうも認識がずれている方向にある。


#もちろん、正しく認識できている人もいるのだが、そういう人は稀なので。




goto は「使いすぎるとスパゲティプログラムになる」のではない。

1980 年代の BASIC のような、GOTO と GOSUB だらけのプログラム、というのも間違いだ。


そもそもこの論争がなんで起こったのか理解しないまま、goto 不要論を持ち出してもおかしな議論にしかならない。





というわけで、goto 不要論争がおこった時代の goto はどんなだったか、という例として、Whirlwind のアセンブラプログラムを見てもらうと面白いと思う。


Whirlwind では、サブルーチンを作る方法は準備されているのだが、それはいわゆる「goto」なのだ。

サブルーチンから戻る命令も、もちろん goto 。


それじゃ、全部同じところに戻ってしまうから、サブルーチンとして使えない?

そんなことはない。サブルーチン終了時の戻り先アドレスを、自己書き換えで変更すればよいのだ。


アセンブラだから、if に相当するのは条件分岐。「分岐」つまり goto だ。


かくして、プログラムの流れはあっちこっちに飛び回り、しかもプログラムリストに書いてあるとび先は、本当のとび先ではない。実行中に書き変えられることが「当然」なのだ。




高級言語から goto を排除する、というのが不要論なのに、アセンブラを例にするのは不適切だ、という声が出そうだ。


でも、アセンブラは当時の「当たり前の」プログラムスタイルなのだ。

そして、これを受け継いだ FORTRAN でも、同じスタイルが適用される。


FORTRAN は、アセンブラの「演算部分」を簡易化する言語だった。だから、FORmula TRANslation なのだ。

そして、演算部分以外の、流れ制御はアセンブラと同じ概念だった。


初期の FORTRAN では、条件を調べた後にできることは、goto のみだ。


その一方で、条件を調べないでも、goto と変数の組み合わせでいろいろな場所に分岐できる。

これは、アセンブラの「自己書き換え」テクニックを高級言語に取り入れたものだった。


もちろん、サブルーチンを呼び出すのも goto で、戻るのも goto だ。


サブルーチン呼び出し時に、どこから呼び出されたかを変数に入れておき、その変数を見て goto 先を変えることで「戻る」のだ。

なんて回りくどいやりかた、なんて思ってはいけない。当時は、先に書いたようにアセンブラも含めて、これが標準的な方法だったのだから。



ところで、FORTRAN には制御構造が3つある。

一つは goto で、もう一つは if 。if でできることは goto だけ、というのは先に書いた通り。


そして3つ目は、ループ命令(DO)だ。


ループ命令は、その後の言語のように、ループブロックの「はじめ」と「おわり」を指定したりはしない。

頭の部分で、どこまでがブロックかを、アドレス(行番号)によって指定するのだ。


つまり、ループ命令でもアドレスを意識した goto の呪縛が残っている。

制御構造がアセンブラと変わらない、というのはそういう意味なのだ。



かくして、FORTRAN の記述は goto だらけ、行番号だらけとなる。

これを称してスパゲティプログラムというのであって、C 言語ではどんなに悪意を持ってgoto を駆使したとしても、FORTRAN の「当たり前」ほどの混乱には至らない。


#C 言語で混乱を起こしたいなら、goto なんかより、もっと別の悪意の使い方があるわけだが。


#FORTRAN の名誉のために書いておくが、これは初期の FORTRAN の話。

 現代の FORTRAN はもっと洗練されている。



この状況からみると、if の後ろに命令が複数書ける、1980 年代のマイクロソフト BASIC など、「goto が劇的に少ない」言語だ。goto 不要論で引き合いに出すのは間違いだ。


GOSUB を使ったって、ちゃんと RETURN で呼び出し元に帰れるのだ。

自己書き換えを使ったり、変数でとび先が変わる GOTO と違って、プログラムの流れが追いやすい。何の問題もない。




初期の FORTRAN をはじめとする、当時のプログラム言語の状況はあまりにもひどいものだった。


見かねたダイクストラが「goto を使わないで論理を表現する方法があるはずだ」と示したのが不要論の始まりだが、よく知られているようにダイクストラは goto がダメだと言ったのではない。


プログラムを、ブロックの入れ子構造で示す「構造化」を取り入れると、if の後で goto しかできなかったり、変数によって分岐先が変わったりする goto を使わないようにできるよ、と示したに過ぎない。



ちなみに、ダイクストラが示したのはつまり、ALGOL の表記法だ。

ダイクストラは ALGOL の設計者の一人だった。


初期の ALGOL はプログラム言語というより、アルゴリズム記述方法といったほうが正しい。


実際の動作させることには重点を置いていないので、ブロックを明示的に打ち切って処理を早くするようなことは考慮されていない。


だから、ダイクストラは「そういう場合のために、goto は必要なんじゃないかな」とは思っていたようだ。



じゃぁ、使ってもよいのかというと、使おうにも現代の言語には goto がない。

でも、C 言語は 40年も昔の言語なのにまだ広く使われていて、 goto がある。


ここで、「goto を使ってはならないか」で論争がある。

まぁ、この論争はだいたい決着がついていて、C 言語の機能不備により、使ったほうがよい局面がある、となっている。




でも、みんなこれ以上の突っ込んだ議論にはならないのね。


FORTRAN の goto の嵐と、ダイクストラの「構造化」の思想を知っていれば、C 言語には goto 以外にも goto があることに気づくはずなのに。



先の説明で感がよい人は気づいたと思うが、break と continue は goto を特殊用途向けに改良したものだ。

break はブロック終了後の最初の命令に goto する。continue はループブロックのみで使用可能で、ブロック最後のループ条件判断に goto する。


まぁ、これくらいなら「ブロックの入れ子構造」を壊すほどじゃないから、禁止されるような goto ではない、という意見もあるだろう。

むしろ、積極的に「ブロック」を解釈することで、goto のとび先である「ラベル」を排除している。goto を残すにしても、現代的な、うまい解釈だとほめてよいと思う。


#もっとも、CONTINUE という命令は最初の FORTRAN にもあった。

 ただし、ループ末尾で「先頭に戻る」ことを明示して可読性を上げることを目的につくられた命令で、この命令には何の意味もない。

 (先に書いたが、FORTRAN のループ末尾は行番号で示されるため)



しかし、形を変えたとはいっても、ダイクストラが示す方法論によれば、break も continue も goto だということになる。

ところが、絶対禁止、という強い否定論者であっても、なぜか break や continue には寛容であることが多い。


#break や continue に当たるものを、「飼いならされた goto」と呼ぶ表現があるらしい。

 この呼び名を使う人は、この議論の本質を理解していると思う。



C 言語のプログラムだって、break や continue を使わないで、ALGOL 風に記述することは十分可能だ。


強い否定論者を自認している人がいたら、break 、continue なしでプログラムを書いてみてほしい。

皮肉でいっているのではなく、ちゃんと記述できるし、それはそれで美しいプログラムになるはずだ。


#多少冗長になるが、その冗長さによって、プログラムの流れがわかりやすくなる。

 この冗長さはプログラムリスト上のもので、ちゃんと適切に記述すれば、処理が遅くなったりはしない。




goto を否定する人に言わせると、goto がダメな理由は、だいたい3点。


・処理の途中から飛び込んだりするため、非常に読みづらい

・goto の次の処理がどこにあるのか、ラベルを探さないといけない

・そもそもラベルをつける、というのが面倒くさい


すべてまとめていうなら、「プログラムの流れを追いにくくなる」ということだ。

流れが理解できず、プログラマが動作を把握できなくなれば、当然バグの原因となる。


だから、goto 文はダメなのだ、という論理だ。




でも、わざわざこの「ダメな」特徴を持たせた命令が C言語にはある。


存在しているだけでなく、使うことは積極的に推奨されている。

C言語の影響を受けた多くの言語でも、この命令は受け継がれている。



それが switch 文だ。


switch は、指定された変数によって、「ラベルを頼りにして」「ブロックの途中に積極的に飛び込み」、break によって「積極的にブロックから飛び出る」ための命令だ。


つまり、FORTRAN の「変数によるジャンプ命令」…さらに遡れば、アセンブラの自己書き換えテクニックによる各所へのジャンプを、形を変えて残したものに過ぎない。



switch による goto では、case がラベルとなる。

ラベルだから、「実行される」命令ではないし、最後に : を付ける文法になっている。

(一般的に、アセンブラのラベルは末尾に : を付ける)



ラベル部分から飛び込んで処理をはじめ、通常はラベル1つ分の処理が終わると、break で飛び出す。


でも、break しないまま複数のラベルにまたがって処理を続けてもかまわないし、むしろこのテクニックは積極的に利用されている。


この場合、goto を忌み嫌う人の主張する「処理の途中から飛び込む、非常に読みにくいプログラム」を作り出しているわけだが、どういうわけが goto 否定論者でも switch を当たり前に使う。




さて、goto が不要なのか必要なのか、ここでは結論を出そうと思っていない。

というか、これは誰かが結論を出すような問題ではないだろう。


でも、不要論を…どちらの立場からでも…論じようという人は、このレベルの知識は持ってほしい、と思っているだけだ。

それでないと、議論が非常に浅はかなものになるから。



僕個人の見解としては、switch は便利に使っている。

やはり処理の流れが混乱しやすいし、break 忘れ、という凡ミスもよくやるけど、処理の流れに飛び込める便利さは捨てられない。


goto だって同じで、使ったほうがよい局面があれば使う。

ただ、そんな局面になったことは、まだない。




2016.8.24追記


ダイクストラの論文の後に、クヌースが「むしろ適切に goto を使ったほうが良い」ことを示した論文を書いているそうです。


詳細を書いた記事が書かれていました。

「有害なgoto」「時期尚早な最適化」、そしてプログラミングにまつわる神話は諸悪の根源である


ダイクストラ自身 goto の必要性を認めていた、というのは知っていたのですが、上に書いた記事の中には、その根拠や、ダイクストラ自身が自分の論文が曲解されていることを憂いていたことなどが書かれています。



僕の記事に興味を持っていただけた方は、是非上の記事も読んでみてください。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

エドガー・ダイクストラの誕生日(1930)【日記 14/05/11】

「計算機言語」が生まれた日(1956)【日記 14/10/15】

「計算機言語」が生まれた日(1956)【日記 14/10/15】

ジョン・バッカスの命日(2007)【日記 15/03/17】

jsdeferred でアニメーション【日記 15/11/05】

別年同日の日記

03年 ホウレン草

05年 カーオーディオ

06年 待たされる1日

15年 スタッフロール

17年 ケン・オルセン 誕生日(1926)

17年 続・家の10年目メンテナンス

19年 クレジットカード不正

19年 故障続き

24年 暑い


申し訳ありませんが、現在意見投稿をできない状態にしています

【KyonKyon】 少し違うかな。K&Rの「プログラミング言語C」にgoto文は使うべきでないという一文を読んだFORTRNの技術者がC言語に移行するときに使ってはいけないのかと構造化プログラミングを理解せず、妄信した結果でしょう。彼らは理解していないからgoto文をreturn文に置き換えててドヤ顔しているというのが一般的でしょう。 (2015-10-05 16:00:01)

【ばしくし】 SeleniumRCのテストケース記述で使うgotoIfは重宝しますね。while…EndWhileのループ抜けるときとか必須ですし、setEvalやgetEvalと組み合わせた柔軟な記述は便利です。user-extensions.js使わない限り、これがないと条件分岐したテストケース書けませんからね。 (2015-05-11 23:24:14)

あきよし】 まぁ、Switchも「飼いならされた」gotoですから、ひどいことにはなりません。文章の趣旨は、goto不要論を論じる場合はこれくらい知っておいてね、ということだけなので、良し悪しもまた別です。 (2013-07-02 09:15:01)

【山本】 そりゃswitchは近代の言語が禁止してるループからループの真ん中に飛び込みやifからifの真ん中に飛び込みをしませんからねえ(入れ子でない状態に限り)。それでもgoto排斥派が寛容な理由は解りませんが。 (2013-07-01 09:08:48)

訃報  2013-02-24 13:30:25  ペット

▲目次へ ⇒この記事のURL

たびたびペットの訃報を書いているが、飼っていたハムスターが死んでしまった。

まぁ、ハムスターは2~3年しか生きられないので、死に直面することには慣れた。


ただ、慣れれば悲しまないで済むかと言えば、そうではない。慣れていても悲しいものは悲しい。




実のところ、今年の頭くらいから調子の悪いことを知っていた。

おそらく病気で、尿に血が混ざっているのを見逃さなかった。


ただ、最近はハムスターの世話はほとんども僕がやっていたし、ハムスターの病気がどうしようもないことも知っている。

家人に知らせても心配をかけるだけで何の得にもならないので、言わないでおいた。



2週間ほど前から、急激に弱っているのを感じていた。

餌を残すようになった。それでも、残した翌日には食べていた。


いよいよ駄目だな、と思ったのは先週の頭。

たしか、日曜日には姿を見たのだが、月曜日には姿を見せない。餌も全部残ったまま。


ここで初めて、調子が悪そうだ、と妻に言う。

妻は心配してしばらく様子を見ていた。

(僕は、子供の相手をしていたので見られなかった)


妻によると、少し巣の中で動いているのがわかった、とのことで、まだこの時点で生きているのを確認。


でも、そのまま餌を食べずに水曜日まで。

水曜日は、保育園が都合により午前中で終了する日でもあった。


午後には子供が帰ってくる。小学生の長男も3時には帰ってくる。

死んでいるのなら、今日お墓を作ってあげよう…と、籠をあけて、巣をのぞいてみる。


まだ生きていた。元気がなく、ぐったりとしているが薄く眼を開けた。

覗き込まれただけでも疲れただろう。ごめんね、と謝りながら元に戻す。

巣のすぐ目の前に餌をいくつかおいておく。


しかし、このエサすらその後食べた形跡なし。



覗くだけでも非常に疲れ、弱ってしまうだろう。

そう考えると、生きているかどうかを確認するのもためらわれた。


しかし、ずっと置いておくわけにもいかない。今朝(日曜日)になってもう一度確認。

やはり、死んでいた。




一階のデッキにハムスターの籠を運び出し、歴代ハムスターの眠る場所に墓穴を作る。

全部準備が済んでから、子供たちを呼んだ。


「ちょっとこっち来て」…こう呼ばれることはめったにないので、何か大事なことが起きたの? と長男はすでに気づいている。


ハムスターが死んだ、ということを告げる。

長男は、何匹かのハムスターの死に立ち会ってきた。以前は大泣きしたが、これはハムスターにとって避けられないことだと理解できているので、今回は冷めている。


「死んじゃったんだ…。また、新しい仔飼える?」と聞かれただけ。


長女(5歳)が予想しなかったほど大泣き。

結構かわいがっていて、餌などもよくあげていた。


つられるように次女(3歳)も大泣き。

前回は泣かなかったが、今回は死を理解できたようだ。



涙の中でハムスターの葬儀…というと大げさだが、お別れを言って穴に埋める。

終わった後も泣き続け、なんども窓から墓の位置を確認していた。




これが午前9時過ぎの話で、今は午後1時過ぎ。

さすがに引きずってはいない。おやつを食べ終わって、11時くらいにはケロッとしていた。


ただ、ハムスターの写真を見たいそうだ。

撮ったはずなのだが、どこ行ったかな。何百枚もの写真に埋もれていて、探すのは大変そうだ。




と思ったら、これを書いている間に、次女が昼寝から起きて泣き出した。

普段起きても泣かないのに、そばに誰もいなくて寂しかったらしい。


なんとなく、「別れ」の寂しさが残っているのだと思う。




初代を飼い始めてから11年。

初代が死んだときの日記に、いまだに時々コメントが付く。


…というか、この日記を書こうとして確認したら、ちょうどコメントがついていたのに気が付いた。


【一志】 寿命がみじかいとつらいですね・・・ (2013-02-22 19:21:46)


初代に対していただいたコメントだし、書いてくださった方は、現在飼っていたハムスターが死んだところだなんて知らなかったはずだ。

しかし、お悔やみをいただいたような、なにか不思議な縁を感じた。



長男が冷めているように、寿命が短いことに関しては、僕も冷めています。

人間から見れば短い一生でも、彼ら(ハムスター)にとっては精一杯生きた一生なので、残念だとも思いません。


見送る側が寂しいのは事実です。

しかし、「寿命が短いからつらい」かといわれると、寿命が長かったらもっとつらいだろうな、と感じます。



2年一緒にいただけで悲しいのに、10年寄り添ったペットに死なれたら、しばらく立ち直れない気がします。

(知人に、ペットロスでしばらく立ち直れなかった奴も何人か知っています)



また2~3年しか一緒にいられないだろう、と知ってはいても、近いうちにハムスターを飼い始めると思います。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

ペット

関連ページ

ハムスター【日記 13/04/29】

別年同日の日記

10年 SH-03Bに思うこと

10年 DoCoMo のメール配信遅延

12年 親戚いっぱい

15年 当時の雰囲気

16年 クロード・シャノン 命日(2001)

24年 寒い

24年 カーテン替え


申し訳ありませんが、現在意見投稿をできない状態にしています

【MOMiZi】 私も今年の8/21日に愛ハムをなくしました。血尿がでていてエサもたべないでいました。その日の夜つめたくなっていました。まだうちにきて数ヵ月しかたっていませんでした。思いだすと涙のくりかえしです。 (2013-08-22 15:42:04)

発表会  2013-02-25 10:34:18  家族

▲目次へ ⇒この記事のURL

10日ほど前からの話。


16日は、小学校の授業参観。

…といっても、普通に授業なんてしない。授業参観、の名前をつけているだけで、発表会に近い。


長男のいる2年生は、「スイミー」の音楽劇(音楽に合わせて、各キャラクターごとに別の子が台詞を読み上げる)と、図工で作った「動くおもちゃ」を使った、ゲーム屋さん。


音楽劇はともかく、このゲーム屋さんがすごかった。


2年生がやることなので、動く「つもり」、遊べる「つもり」で作ったおもちゃが、全然動かない。

その場でルールを考えながらやっているので、むちゃくちゃ。

遊ぶ時間によってルールが変わっていくのにハイスコアを出した人の記録ボードがあったりする。




木登りするサル、というおもちゃがある。

手作りして作るおもちゃの代表格だな。


で、これを作ったグループがいたが、「上るロープウェー」にしようとして、ティッシュの箱をくっつけた。

重すぎて登らず。堂々と「上らないから上から落として遊ぶ」と言い張る。


でも、端から端まで行く時間を競う。

落ちるだけなので非常に早く、時間がカウントできない。



単2電池を車輪にして、輪ゴムを動力にして進むおもちゃを作ったグループがあった。

進んだ距離により、横に書いた得点表の点数がもらえる。3回やって合計点を競うそうだ。


でも、おもちゃの出来が悪く、一生懸命ゴムをまいても前に進まない。

タイヤよりもボディが床についてしまい、タイヤが空回りするのだった。



竹ひごを使ったくじ引きを作ったグループがあった。

立てた段ボールに穴がたくさん開いていて、竹ひごがさしてある。


実は、いくつかの竹ひごには、裏で輪ゴムがひっかけてある。

輪ゴムの片端は段ボール上部に止めてあり、竹ひごがなくなると、上に向かって強い力を生じる。

この結果、「あたり」が出ると、上にロケット(の絵)が飛び出す、という仕組み。


でも、実際竹ひごに輪ゴムをひっかけると、力が強すぎて竹ひごが傾き、勝手に輪ゴムが抜けてしまう。

だから、ゴムはひっかけていない。当たりに決めた竹ひごを抜くと、子供が「びよーん」と言いながら手でロケットを上に持ち上げる。



程度の違いこそあれ、一事が万事この調子。

こんな中で、たった一つだけ、まともに遊べて子供に人気のおもちゃがあった。


段ボール板に、竹ひごとペットボトルのキャップで作った「車輪」を付けただけの自動車。

シンプルなので非常に強く、多少乱暴に扱っても壊れない。(これだけでもすごいことだった!)


そして、自動車の前の部分には、ゼムクリップを少し伸ばしたものが張り付いている。

これを、床にガムテープでくっつけた輪ゴムにひっかけ、カタパルト発進する。


本来はレースをやりたかったようなのだが、車軸が傾いているので案外まっすぐ進まない。

「どこまで行けるか」と距離を競うようにしていて、楽しく盛り上がっていた。




とはいっても、遊べないおもちゃがダメなわけでもない。

動かないおもちゃは、動かないなりに「どうやったらうまくいくのか」と考える子がいて、わいわいがやがやと楽しそうにやっている。


完全にお客さんだった、長女(5歳)、次女(3歳)も、楽しかったのは、あまりまともには遊べなかったおもちゃらしい。

何が心の琴線に触れるのかはよくわからない。




そして1週間後の23日。今度は、保育園の発表会。というか、おゆうぎ会。


長女も次女も練習していることを家で楽しそうに話していた。


おゆうぎ会前のことを書いておくと、保育園のおゆうぎ会前1週間は、なにかと「臨戦態勢」なので、仕事がはかどらずに難儀した。


水曜日は、本番と同じ会場で予行演習を行う。保育園ではないので、予行演習終了時にお迎えが必要。

昼過ぎまでしか預けられず、午後は仕事にならない。


そして、前日の金曜日も午前中で終了。この日も仕事にならない。



この時期風邪が多く、運悪く水疱瘡の流行も重なった。

練習中は休む子が多く、長女などは2人で分担する役を、1人ですべてこなしていたりして、「○○ちゃんが休んでいるせいで、大変なの!」と文句を言ったりしていた。




当日は、水疱瘡で医者の許可が下りない子が一名、風邪で熱が出て休んだ子が数名いたようだが、多くが出席。


長女と役を分担している子も、ちゃんと来ていた。

そして長女は、親ばかではなく、演技がうまかった。


そりゃそうだ。二人分の練習をずっとやってきたのだから、他の子よりも「うまくなってしまった」のだ。

(ちなみに、「長靴をはいた猫」の猫役でした。ちゃんと猫っぽい動きになっていた。

 多分、長女の好きなアニメ「ジュエルペット てぃんくる」のキャラの一人、ミリア(猫耳コスプレの好きな少女)のイメージが入っていると思う)



次女もちゃんと踊れました。2歳児クラスだから簡単な踊りなのだけどね。

舞台では中央付近にいたのだけど、「上手だったから真ん中にした」とは、後で先生に聞きました。


#これも親ばかで書くのではなく、今年の2歳児クラスで、上の兄弟がいる子は少ない。

 そして、上の兄弟がいる子は、よく体を動かす遊びになれているので、踊りなどがうまい。

 うちの子がよくできる、とかいうのではなく、上手なのはそれなりの理由がある、ということ。




子供の出し物が全部終わった後で、「サプライズ」コーナー。

長男が小さいころにはなかったのだが、いつの間にか毎年恒例になっている。


園長先生のツテで、近所の大学生のグループが演奏をしたりしたこともあった。

先生たちがみんなで踊ったりしたこともあった。


今年は「ももたろう」の簡単な寸劇だったが、のっけから園長先生の奥様登場。


幼稚園の先生の中では一番偉い方で、もう高齢なのでこういう劇に出るとは思わなかった。

ちゃんと、「おばあさん」らしい扮装までしている。これがまず、本当に「サプライズ」だった。



そして、すぐにおじいさん役で園長先生登場。

園長先生も高齢で、最近は足を悪くしていつも杖をついている。


それが、杖なしで、やはり付け髭の扮装をしている。これも驚いた。



他にも、園長先生の息子さんで、分園(分園があるような大きな保育園なのだ)の園長先生も鬼役で登場したり、普段なら参加しない人がたくさん参加した、楽しい劇でした。




最後は、見に来た OB の半ば強制参加コーナー。長男も舞台に上る。

今年は中学生が一番上だったようだ。数年前は高校生もいたのだが。


保育園では、かなり以前から「勇気100%」を子供たちに教えていて、この歌自体 20年歌い継がれるものになっているため、卒園生はみんな歌える。


これを毎年 OB と、在園児で歌うのが恒例になっている。



最後は、これも恒例、かわむらのお菓子をお土産にいただいて帰る。

次女がすぐ食べたくて、この日家に帰ってすぐにあけ、皆で分けた。おいしかった。


長女は、もったいないからまた後日食べる、と言っている。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

家族

別年同日の日記

09年 ばなな

19年 故障からの復旧

19年 2D-APT II 発表 (1959)


申し訳ありませんが、現在意見投稿をできない状態にしています

シュガーバニーズとマドレーヌ  2013-02-26 10:20:22  料理 家族

▲目次へ ⇒この記事のURL

シュガーバニーズとマドレーヌ

1年くらい前、次女が「シュガーバニーズ」を好きだった。


好きだった、と過去形なのは、最近は同じサンリオキャラでも、シナモンのほうが好きだから。


最初は、保育園の2歳のお誕生日会で、シュガーバニーズのコップをいただいたことだった。

この時は単に「うさぎさんのコップ」と認識していた。


1年半ほど前にピューロランドに初めて遊びに行くとき、事前にテレビ番組「キティズパラダイス」を見せて予習した。


ピューロランドに行った後も、番組は気に入ったので見続けた。

この番組の中にシュガーバニーズのコーナーがあったのだが、これが自分のコップのキャラクターと同じだ、と気づくのには2か月くらいかかった。


それ以降、しばらくシュガーバニーズがお気に入り。

認識したところに、たまたまガチャガチャでシュガーバニーズの腕時計を見つけ、自分のお小遣い(では足りず、親に借金して)購入。

さらにお気に入りキャラに。



じゃぁ、と思ってケーブルテレビでシュガーバニーズの番組がないか探す。

「シュガーバニーズ フルール」というアニメをやっていた。途中から見る。


後で知ったが、これはシュガーバニーズのアニメの第3作。

すでにキャラクターもかなり増えていたし、設定も複雑になっていた。

それを途中から見たので、よくわからないまま終了。



シュガーバニーズの第1作から見せてやりたい、と思い、ずっと番組表を探していたが見つからないまま。

いつか録れるように、サンリオ時間枠は録画する設定にして、半年以上が過ぎた。




ふと気づいたら、2月の頭からシュガーバニーズをやっていたらしい。

子供に見せたら大喜び。次女も喜んだが、何よりも長女が喜んだ。


最近はサンリオ枠を見ていなかったが(すでに見たものの再放送ばかりだったので)、実はサンリオアニメが好きだったらしい。



バニーズたちは、異世界から来た職人たち。子供たちと仲良くなる。

全部で14人もキャラがいるが、2人づつ組になっているので、職能は7種類。



バニーズの中心になっているのは菓子職人なので、主に「困っている子をお菓子で元気づける」話を中心に進むけど、話の内容によっては別のバニーズも活躍する。


子供たちは、同じ学校に通っていて知り合いではあるけど、どこかよそよそしい雰囲気もある。

しかし、途中から共通の目的をもって、お互いを意識しながら頑張るようになる。


どうも、この過程での成長物語になるようだ。

ようだ、というのは、まだ話の途中までしか見ていないため。




共通の目的というのは、小学生向けのお菓子作りコンテスト。


主人公の女の子も、お菓子なんて作ったことなかったのに、楽しそうだからやってみることにする。

そして、菓子職人のアドバイスをもらいながら初めて挑戦するお菓子は、マドレーヌ。


「マドレーヌなら初心者でも作りやすい」といわれて始めるのだけど、失敗しては作り直すことの繰り返し。


落ち込んだ主人公に、菓子職人が「手本」を焼いて見せる。

これを食べた子が、自分のマドレーヌに足りなかったものに気づき、もう一度挑戦する。



…これを見ていたら、強烈にマドレーヌが食いたくなった。




というわけで、冒頭に挙げた写真のマドレーヌが出来上がった。

いつも朝早く起きて家事をやっているのだが、妻にも内緒でこっそり作成。


「女子力すごい」と妻に言われました。

妻からは、男おばさん、ともよく言われます。



レシピはクックパッドにあったものを参照したので、作りたい方は適当に探すよろし。

急に思い立って作ったので、無塩バターなんてない。普通のバターで作れるレシピを使う。


一応、自分が参考にしたレシピでは、卵2個、砂糖 70g、薄力粉 90g、ベーキングパウダー小さじ 1/2、バター 90g、はちみつ 10g を使っていた。


でも、作り始めてからバターが足りないことに気づいた。

開封してないストックがあると思っていたのに、なかったのだ。


なので、バターは 35g。残りはオリーブオイルで作った。



マドレーヌは、ケーキとして考えると、バターが多めで、小さく焼くのが特徴だ。

これによって、自らの油分で揚がった感じになり、周囲が固く、中が柔らかい食感が生まれる。

だから、バターがなくても油を減らしてはならない。オリーブオイルを入れたのはそのため。



粉をふるうのは面倒なので、粉の状態で泡だて器でがしゃがしゃやって、空気を含ませる。これで十分。


卵に砂糖を入れて、泡だて器で十分混ぜる。電動泡だて器で手抜きした。

ここに粉を入れて混ぜる。


さらに、電子レンジで溶かしたバターを入れる。はちみつも入れる。よく混ぜる。


30分冷蔵庫で寝かせる…とあるので、その間に家事をやった。皿洗い。洗うのは食洗器だけど。


マドレーヌ型に油を塗り、小麦粉を刷毛で塗り、生地を流し入れる。

膨らむので少なめに、と書いてあったので、9割程度入れた。かなり膨れた。もっと少なくて良かったかも。


180 度で予熱したオーブンで 15分。完成。


朝ごはんの後で、子供たちと試食。おいしい。

「もっと食べたい」と言われたが、残りは夕食後のデザートである。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

料理

家族

関連ページ

マドレーヌ【日記 18/03/22】

ピューロランドの秘密【日記 18/04/04】

別年同日の日記

04年 メインマシン絶不調…

15年 ずんずん教の野望

16年 BCPL の § 記号についての追加調査

18年 横浜散策


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -