ときどきの雑記帖 RE* (新南口)
これでも一生懸命やってるであります
テキシコー
いいですよね。テキシコー | NHK for School。
番組そのもののことはさておき、番組名のテキシコーはプログラミング「的思考」から来ているそうなんですが そのプログラミング的思考は計算論的思考の言い換えっぽく、 さらに計算論的思考は computational thinking の訳語と。
- コンピュテーショナル・シンキング(Computational thinking)とは | Note&Board
- Computational Thinkingとは何か - 小さなごちそう
- Computational thinking - Wikipedia
プログラミング的思考とcomputational thinking を並べると、なんかずいぶんかけ離れたものに 感じるのは気のせいでしょうか。
もうひとつ、意図したものかどうかわかりませんが 「プログラミング思考」とか「プログラム思考」なるものも 散見でき、これもこれでmetabolic syndrome → メタボ 的な 変化だなあと(結論はありません)。
jperl
WEB+DB PRESSの新しい号が出たからか技術評論社のページで 第62回 Perl歴史散策 ―インタプリタの実装と,構文の進化をたどる(1):Perl Hackers Hub|gihyo.jp … 技術評論社 が公開されていた。
Perl 1.0の時点で,現代のPerl 5にもある,if,unless,forやwhileなどの制御構造が実装されています。
unless って5.0で修飾子が入ったのと同じタイミングで追加されたんじゃなかったっけ? と思ったら記憶違いだった模様。→unless
5.000辺りの開発バージョンの番号の振り方を久しぶりに見て思わず遠い目になってしまった。
日本語対応のパッチを当てたJPerlなどが登場したのもPerl 4の時代です。
perl 3 ベースのjperlがあったはずだけど、あれはASCIIネット(のjunk.test)の外には出なかったのだっけか。 あそこのシステム好きだったんだよなあ。
かつて存在した アスキーネットASCIInet と古代のインターネット環境についての個人的な記憶 - Togetter
Palo Alto Tiny BASIC Version Three
以前ダウンロードしていたPDFをチェックしていたら、PATBのバージョン3なるものがあった。
いつごろ入手したんだっけなあ。まるきり忘れていたわ (上記のリンクからはダウンロードできないと思いますが、検索すればふつーのPDFも簡単に見つかります)。
ざっと見てみると、1.0(と2.0)からの変更点というのがあってそれはこんな感じ。
Palo Alto Tiny BASIC, version 1, was originally published in Dr. Dobb’s Journal of Computer Calisthenics and Orthodontia, Vol. 1 No. 5, May, 1976. Version 1.0 of PATB was published in Dr. Dobb’s Journal (Vol. 1, #5). Version 2.0 was published in Interface Age (Vol. 2, #1). The version presented here (Version 3.0) differs from the previous ones in that:
a) The RST instructions are no longer used as CALL’S. This makes the program longer, but enables one to relocate the program to anywhere in the address space. (RST instructions call subroutines on page 0.)
b) A few JMP instructions are inserted so that the user can extend PATB by changing these JMP’s.
c) Some other small changes in PRINT command.
d) In Version 1.0 there, are two known bugs: FOR 1=1 TO 32767 will never end, and ABS(-32767-1) gives a negative result. In Version 2.0, there is one known bug: ABS(0) gives an error. These bugs are fixed in Version 3.0.
RST 命令を使わなくなったと。 b) と c) はスキップして d)のバグの話はちょっと興味をひかれる。
先のドキュメントにあったリストファイルの一部を見るとこんな感じ。
* *** INITIALIZE ***
*
1504 ORG BOTROM
F000 310002 15C6 INIT LXI SP,STACK
F003 C093F7 1508 CALL CRLF
F006 218000 1510 LXI H,KEYWRD AT POWER ON KEYWRD IS
F009 3EC3 1512 MVI A,0C3H PROBAELY NOT C3
F00B BE 1514 CMP M
F00C CA26F0 1516 JZ TELL IT IS C3. CONTINUE
F00F 77 1518 MOV M,A NO. SET IT TO C3
F010 210040 1520 LXI H, DFTLMT AND SET DEFAULT VALUE
F013 228100 1522 SHLD TXTLMT IN 'TXTLMT'
F016 3EF0 1524 MVI A, BOTROM,< INITIALIZE RANPNT
F018 32C800 1526 STA RANPNT+1
F01B 210620 1528 PURGE LXI H,TEXT+4 PURGE TEXT AREA
F01E 220020 153C SHLD TXTUNF
F021 26FF 1532 MVI H,0FFH
F023 220220 1534 SHLD TEXT
F02O 112FF0 1536 TELL LXI C, MSG TELL USER
F029 CD65F6 1538 CALL PRTSTG ***********************
F02C C353F0 1540 JMP RSTART ***** JNP USER-INIT *****
F02F 54494E5920 1542 MSG DB 'TINY ' ***********************
F034 4241534943 1543 DB 'BASIC'
F03S 2056332E30 1544 DB ' V3.0',@CR
F03E 0D 1545
F03F 4F4B 1546 OK DB 'OK',@CR
FC41 0D 1548
F042 574841543F 1549 WHAT DB 'WHAT?',@CR
F047 0D 1551
F048 484F573F 1552 HOW DB 'HOW?',@CR
F04C OD 1554
F040 534F525259 1555 SORRY DB 'SORRY',@CR
F052 0D 1557
po4a
前回ちょっと書いたpo4aの話。 Windowsで使ってみようとしたのだけど、XSで Man page of WCWIDTH を使っているところが一か所あって見事にビルド失敗。
適当な実装をgithubで見つけたので、XSにそれを追加して対処してみた。