ときどきの雑記帖 RE* (新南口)
言語設計者たちが考えること
絵文字にサムズアップ👍はあるけど 「アレ」はないんだろうか? と思って探してみたらあった(笑
Hugo の Markdown では :vulcan_salute:で出せるようだ。
🖖
諸々
シュクメルリ
そろそろ期間限定も終わりかなと思い、もう一度くらい食べておくかと 某所の松屋に行ったんですよ。で、シュクメルリのポスターが貼ってあったので (位置は変わってたけど)「おお、まだあったか」 と店内に入り(店外に券売機がない店だった) 券売機を操作すると……
注文できません
正確な文言を覚えてないけどこんな感じのメッセージが。
パニーニ
とあるチェーンのパン屋で売られている パニーニが好きなんですね。 大体同じ店(これをAとする)で買っているのだけど たまに別の店(こっちはB)で買うこともあって、 それは、B店の方は行く時間も関係するのか パニーニが売り切れてしまっていることがよくあるからなんですね。
数日前のこと、A店で(翌日の朝飯にするために)パニーニを買おうとしたら(こっちではめずらしく)売り切れ。 仕方がないのでB店へ行って、そこでもなかったら別のものを考えることに。
でまあB店で買えたわけなんですが、なんか小さいような…?
ここで、以前にも同じことを感じたことがあってそれぞれのお店で何日かに分けて 数個ずつ買って重さを比べたことを思い出した。 個数が少ないので信頼度はアレだけど どうもB店の方が軽いという結果ではあったんですね。
リンガーハットは店ごとにメニューの値段が違うというのを聞いたことがあるけど、 そのバリエーションなんですかね。これ。 確かにA店の方がテナント料高そうな立地ではあるのだけど、 なんか釈然としない。
あ、パニーニ以外のものがどうかは調べてないのでわかりませんし A店、B店以外がどうかもわかりません (C店があるが位置的に行きづらいのと、B店よりさらにパニーニを見ない)。
略語
某所で algorithm を「アルゴル」と略しているのを耳にした。
どこの流儀だそれ?
まあ、(プログラミング言語の)ALGOL知ってるのも(ぴー)だろうけどなあ
知識のアップデート
わしらが習った頃はリアス「式」海岸と言ってたけど 今は(というか結構前から) 「式」をつけずに リアス海岸って言うんですな。
と思っていたら…
「リアス式海岸」もしくは「リアス海岸」という表記があるが、どちらが正しいのか。持っている辞書を確認し… | レファレンス協同データベース
質問(Question)
「リアス式海岸」もしくは「リアス海岸」という表記があるが、どちらが正しいのか。持っている辞書を確認したところ、辞書によって表記が違った。
回答(Answer)
近年では「リアス海岸」が使用されることが多いが、「リアス式海岸」も誤りではない。
なんですと。
日本ではリアス式海岸とリアス海岸は混用され、学校教育の教材では1927年の地理教育用資料に『リアス海岸』が登場し、 1955年頃から2008年頃まではリアス式海岸と表記していたが、それ以後はリアス海岸と表記するようになった。
1933年発行の『地理学評論』に収録された『リアス式海岸と云う述語に就て』で、著者の岡田武松は 「要するに地形學者間でも未だ一定して居らないのだと云ふに過ぎない」と結んでいる。 観光地などではリアス式海岸という記述が残るが、学校教育においては、現在はリアス海岸の語で統一されている。
ふむ。
for
そういや、forがループ構文なのも意味不明だけど、何が初出なんだろう? 実はBASIC?
— usa (@unak) February 15, 2021
ALGOLか?
— usa (@unak) February 15, 2021
for 文の起源については以前調べたことがあるんだけどどうだったっけかな。 記憶を掘り起こしてみよう。
long signed unsigned short
longもたいがいひどい https://t.co/nwUxCmeOoO
— usa (@unak) February 15, 2021
大昔のCではdouble
と同じ意味で long float
と書けるコンパイラーがあったとか
聞いた覚えがあるけど、裏取り面倒そうだなあ(検索キーワード的に)。
と思ったらここ H.1 Solaris Studio ISO C との K&R Solaris Studio C の互換性 (Oracle Solaris Studio 12.2: C ユーザーガイド) に
long float 型 long float 宣言を受け入れ、double として処理する。
という実例があった。
それと、本来(?)はlong や double(とsigned、unsigned)は
long int
double float
signed int
unsigned int
のように「修飾」するのに使うもので、
long
double
signed
unsigned
と書いたときは良きに計らってくれるんじゃなかったか
$ cat hoge.c
int
main()
{
long int l;
double float d;
signed int s;
unsigned int u;
}
$ gcc -S hoge.c
hoge.c: In function 'main':
hoge.c:5:12: error: two or more data types in declaration specifiers
double float d;
^~~~~
ありゃ。さすがにdouble float
はなしかw
リンク追加:
それはさておき、
そういやFORTRANとかfortranは変数の大きさを表す数字を型にくっつけていたような と思い出しつつ念のため調べてみたら
本テキストに示された方法以外にも、良く見られる型の記述方法があります。 それぞれの記述方法について、 なぜ推奨されていないのか、理由を述べたいと思います。
型 | 推奨 | 記述 | 説明 |
---|---|---|---|
単精度実数 | 〇 | real | 単精度はこの記述方法が推奨されます |
単精度実数 | × | real(4) | 種別番号 4 の意味がコンパイラによって異なります(4 バイトを意味するとは限らない) |
単精度実数 | × | real*4 | Fortran 標準に準拠していません |
倍精度実数 | 〇 | double precision | 倍精度はこの記述方法が推奨されます |
倍精度実数 | × | real(8) | 種別番号 8 の意味がコンパイラによって異なります(8 バイトを意味するとは限らない) |
倍精度実数 | × | real*8 | Fortran 標準に準拠していません |
単精度複素数 | 〇 | complex | 単精度複素数はこの記述方法が推奨されます |
単精度複素数 | × | complex(4) | コンパイラにより種別番号 4 の意味が異なります |
単精度複素数 | × | complex*8 | Fortran 標準に準拠していません |
倍精度複素数 | 〇 | complex(kind(0d0)) | 倍精度複素数はこの記述方法が推奨されます |
倍精度複素数 | × | complex(8) | 種別番号 8 の意味がコンパイラによって異なります |
倍精度複素数 | × | complex*16 | Fortran 標準に準拠していません |
倍精度複素数 | × | double complex | Fortran 標準に準拠していません |
え、*4
とか*8
ってつけるの非推奨(標準に準拠していない)だったの?
それに大きさの数字をかっこで囲むやり方は知らなかったし、倍精度の推奨のやり方は初めて見た気がする
ううむここでも知識が古びていたか(実害が出たかどうかは知らない)
- Fortranにおける整数型・実数型・複素数型変数の宣言方法 - Qiita
- fortranのとあるライブラリの宣言文にreal(SP)とかかれたもの… - Yahoo!知恵袋
- FORTRAN90文法の基礎
言語設計者たちが考えること / HOPL
言語設計者たちが考えること
PCのストレージのディレクトリを整理していたら 数年前に「自炊」した「言語設計者たちが考えること」に遭遇した。 第11章 Objective-Cを見るとこんなやり取りが。
■何故Objective-Cでは多重継承を禁止しているのですか?
Brad: 歴史的な理由としては、Objective-CがSmalltalkの直系の子孫だったからです。Smalltaikは多重 継承をサポートしません。いまその決定を再考するのであれば、単一継承すら取り除いてしまうかもしれま せん。継承はそれほど重要ではないのです。OOPで最も重要なことは昔も今もカプセル化です。
継承はそれほど重要ではないというのは納得行くのだけど 最も重要なのが encapsulation (「カプセル化」という定訳はあまりよろしくない訳だと思う) というのはどういうところかきたんだろう? (想像できなくはないが確信できないので。意見求む)
encapsulation の訳語については中国語では 封裝 (物件導向程式設計) - 维基百科,自由的百科全书 としているらしい。 このまま日本語に持ち込んでもこっちの方がいいと思う。
HOPL
そう言えば Objective-Cって HOPL (History of Programming Languages - Wikipedia) で取り上げられたことがあったっけ と思い調べてみると、 昨年の HOPL IV - Papers - HOPL IV にあった。
Brad Cox, Steve Naroff, Hansen Hsu が The Origins of Objective-C at PPI/Stepstone and its Evolution at NeXT というのを書いているけど74ページある…
そういやObjective-Cではちょっと前に iPhone開発言語「Objective-C」作成者が76歳で死去。スマホ時代を拓いた言語の数奇な運命 | ハーバー・ビジネス・オンライン という記事がありましたが、なんかこう「もやもや」する記事っすな。
Objective-CとNeXTとGCC
後で書くかもしれない
Objectve-CとC++とDDJJ
後で書くかもしれない(その2)
🖖