ときどきの雑記帖 RE* (新南口)
オホーツクに消ゆ
今週のしずえさん
最初のジグソーパズルが作られた目的は?
excel シート上の関数記述の複雑度
って測れるものかなあなどと考えてみたり。
号砲一発
第260回 Intel初のマイクロプロセッサ「4004」から50年、その誕生から10年のプロセッサ史を振り返る:頭脳放談 - @IT
満を持してスタートラインに着いていた多くのランナーたちに「号砲一発」を轟(とどろ)かせたのだ。
「号砲」が鳴り響いたり轟いたりしても、「号砲一発」は轟かないような?
合図のために撃つ銃砲。また、その音。「―一発、いっせいにスタートする」
計算論的思考
計算論的思考ってなに?―コンピュータサイエンティストのように考える という本が1/28発売予定なんですが、紹介文をみると
世界では、計算論的思考(computational thinking)の教育の重点化が進んでいますが、 日本では「プログラミング的思考」と誤訳され、矮小化されて取り入れられてしまっています。
そこまで言っちゃう(書いちゃう)んだ>誤訳と矮小化
increment/decrement operator
どうして昔の人は8進数でしゃべるのか 「TK80」「Z80」の16進世代が調べたオクタルの歴史 - ログミーTech
これは「*p++」です。「*p++」がなぜあるかというと、PDP-11の機械語にあったからです。
これってよくある俗説だったような。たとえば
PDP-11のプログラミング上の低レベルな特徴とC言語の言語要素の類似は非常によく言われてはいるが[5]、 意図的にそのように設計したわけではない[6]。たとえば、C言語の ++ や – は、PDP-11より古い、 PDP-7に実装したB言語に由来していて、ハードウェアの持っていた機能からの影響もあるだろうが、 いくつかの特徴はハードウェアからというよりもトンプソンのオリジナルであろうとリッチーが書き残している (en:Increment and decrement operators#Historyを参照)。
とか、うぃきぺ(それも日本語版)の記述じゃあ ということならDennis M. Ritchie が書いたところの The Development of the C Language にも(そういやこの文書って翻訳されてない?)
Thompson went a step further by inventing the ++ and – operators, which increment or decrement; their prefix or postfix position determines whether the alteration occurs before or after noting the value of the operand. They were not in the earliest versions of B, but appeared along the way. People often guess that they were created to use the auto-increment and auto-decrement address modes provided by the DEC PDP-11 on which C and Unix first became popular. This is historically impossible, since there was no PDP-11 when B was developed. The PDP-7, however, did have a few `auto-increment’ memory cells, with the property that an indirect memory reference through them incremented the cell. This feature probably suggested such operators to Thompson; the generalization to make them both prefix and postfix was his own. Indeed, the auto-increment cells were not used directly in implementation of the operators, and a stronger motivation for the innovation was probably his observation that the translation of ++x was smaller than that of x=x+1.
ルー語的日本語訳するとこんな感じか
Thompsonは++
と--
という演算子を発明したことによりさらに先に進みました。
これらはそれぞれインクリメントとデクリメントを行う演算子で、
オペランドの前後どちらに置くかによって
オペランドを操作する前の値か操作した後の値のいずれかを返します。
これらの演算子はBの最初期バージョンには存在せず、開発が進んでいったところで登場しました。
これらの演算子はCとUnixとが最初にポピュラーになった機械であるところの
DECのPDP-11が持っていたauto-increment addressモードやauto-decrement addressモードを活用するために
作られたのだという憶測がよく言われていますが、それは(歴史的に)ありえないことです。
なぜなら、Bが開発された時点ではPDP-11は存在していなかったからです。
しかしPDP-7にはいくつかの`auto-increment’ memory cellというものがあって、
incremented the cell を通じた間接メモリ参照という属性(機能?)を有していました。
この機能がおそらくThompsonにインクリメント演算子とデクリメント演算子とをsuggest したのでしょう。
これらの演算子を前置と後置どちらもできるようにしたことは彼(Thompson)によるものです。
とは言うものの実際にはauto-increment cellはthe operatores(インクリメント/デクリメント演算子)
の実装に直接は用いられず、(the operatorsを作り出そうということに対する)stronger motivation はおそらく、
++xの翻訳結果はx=x+1(の翻訳結果)よりも小さいという
彼(Thompson)の observation だったでしょう。
auto-increment memory cells
で、↑を読んでいてauto-increment memory cells
なるものがいったいどういうものか
(ある程度想像はできるものの)
よくわからなかったので調べ始めたはいいが、
PDP-11あたりはともかくPDP-7の情報はほとんど見当たらなかったり
Bも同様だったりで
今回にはちょっと間に合わなかった。
ということで次回以降余裕があれば書く(と、「宿題」を増やす)。
🙏 PDP-7の間接アドレッシングとAUTO-INDEXING: 竹下世界塔の計算機よもやま話
ところで
このように8080は、アセンブラ・ニーモニックを見ても、このようなレジスタ構成を見ても、すごくPDP-11を意識しています。 MC68000がPDP-11を真似したと言いますが、あれは汚いアーキテクチャで、とても私は認めることはできません。
わたしは68000が大好きなんですが別にこれが「直交性に優れていて」云々とか 言い出すつもりはなく、欠点もそれなりにあるとは思っているんですけど どの辺が「汚い」のかちょっと聞いてみたくはあったり。 いくつか思い当たらないでもないけど。
脱線
今回の検索で見つかった記事から。
もう一度基礎からC言語 第1回 なんでいまさら「C言語」なのか?――C言語よもやま話
C言語は、DEC社のミニコンピュータPDP-11で動くUNIXの汎用言語として、1972年にAT&Tベル研究所のD.M.リッチーが開発しました。
ベースとなったのはAlgol68という言語で、さらにそのベースは1950年代の終わり頃に生まれたAlgolという言語です。
ALGOL 68?🤔
洋書のお値段
オライリー本家からメインフレーム開発本が出る! - YAMDAS現更新履歴
6月に出るらしい洋書の値段がべらぼうでビビるが(恐るべし円安)、邦訳は出ますかねぇ。
日本語版が出るかどうかはともかく、 Amazonでのこの値段(先ほど確認した時点では8752JPY)なのは 元々が高い本だから(同じく(Amazon.comで)69.99USD) ということが大きいような。
- Modern Mainframe Development: Cobol, Databases and Next-generation Approaches
- Modern Mainframe Development: COBOL, Databases and Next-Generation Approaches
もちろんひところに比べれば「円安」の影響はひしひしと感じるのだけど。
more -> less (ページャー)とか、
— KOIZUKA Akihiko (@koizuka) January 24, 2022
yacc -> bison みたいに、置き換え狙いの名前を言葉遊びしてるやつ、他にどういうのがあるかなぁ。
cat -> dog もあったけどメジャーにはならなかったな
ツールの置き換え狙いの名前を言葉遊びしているやつ - Togetter
gawkが出てきてないな…
ちなみにgawkのマニュアルの表紙は「gawkなgnu」だったりする
GAWK: The GNU AWK User’s Guide
GNUのものではほかにもOleo (Oleo - GNU Project - Free Software Foundation), GNU Oleo - Wikipedia) なんかもそうなんだけど、 こっちはもっと知名度ないな(すでにdiscontunuedだし)
これは貴重な映像ですねー。
— 遠藤諭 / 元『月刊アスキー』そのまえ『東京おとなクラブ』編集長🌻 (@hortense667) January 24, 2022
証券系はUNIVAC強いと言われていましたね。
CPS(パンチカード)の部分がやたら多いですけど。 https://t.co/TAq6HXBUHi