ときどきの雑記帖 RE* (新南口)
Grandma COBOL
Tcl/Tk 8.6.13
Tcl/Tkの新バージョンリリースのお知らせが流れてきたのでメモ。
インターフェース
買った。今月こそ手帳つき。
手帳をざっと眺めていたら円ドルレートが1ドル115円という記述が目に入り遠い目に。
2199
そしてマンガの単行本が置かれた平台にこれを発見。
長らく刊行がストップしていたのが再開されるとは聞いていたけど、 実際に出るのは来年になってからと思っていたのでちょっとびっくり。
Excel
前回書いたExcelの話をもう少し。
A | B | |
---|---|---|
1 | $100 | =A1+100 |
2 | \100 | =A2+100 |
3 | €100 | =A3+100 |
4 | £100 | =A4+100 |
5 | ₩100 | =A5+100 |
という内容で入力したものが
A | B | |
---|---|---|
1 | $100 | \200 |
2 | \100 | \200 |
3 | €100 | \200 |
4 | £100 | #VALUE! |
5 | ₩100 | #VALUE! |
こんな表示になる。
B列で表示される通貨記号が
元のそれに関係なく\
になるのは
たぶん日本語環境で使っているからだろう。
ドル、円、ユーロの場合には
数値として扱っているらしい(left(a1,1)で1
が返ってくる)のは
間違いないのだけど
よくわからん。
FORTRAN Compiler on IBM 704
このところ脱線(寄り道)が続いているがそれはさておき。
Grandma COBOL
別件で調べ物をしているときに うぃきぺ(英語版)のGrace Hopperのエントリ でこんな記述を見つけた。
Throughout much of her later career, Hopper was much in demand as a speaker at various computer-related events. She was well known for her lively and irreverent speaking style, as well as a rich treasury of early war stories. She also received the nickname “Grandma COBOL”.[39]
“Grandma COBOL”。 以前「Mother of COBOL」がどうこういう話があったけど Grandma とは? ということで注釈を見るとワシントンポストの記事かららしい。
Cavna, Michael (December 9, 2013). “Grace Hopper: Google Doodle honors computing pioneer”. The Washington Post. Retrieved December 7, 2018.
paywallで読めないかなと思いつつアクセスすると 一応読めた(サブスクライブしろというメッセージは出た)。
Grandma COBOL
が現れるのはタイトルともう一か所。
As a symbol of that battle against human complacency and resistance to change, she is said to have explained: “That’s why I have a clock on my wall that runs counter-clockwise." But for a day, at least, Google lets us turn back the hands to remember “Grandma COBOL’s” groundbreaking achievements.
ふむ?🤔
Grandma COBOL
で検索すると
(Googleさんが気を利かせて含めただろうmother of COBOL
なども含めて)
そこそこみつかる。
10 Most(ly dead) Influential Programming Languages
プログラミング史上に多大な影響を与えた (がほぼ死滅した) 10の言語:
— 新山祐介 (Yusuke Shinyama) (@mootastic) December 21, 2022
- COBOL (レコード型の発明)
- ALGOL (レキシカルスコープ、BNF等)
- APL (リスト演算)
- BASIC (実時間インタプリタ)
- PL/I (ユーザ定義型)
- SIMULA 67 (OOP)
- CLU (抽象型, generics, イテレータ等)https://t.co/EPNwCBLrAd
新山さんがツイートで挙げてるのは7個だよなあ。と気になったので(ry
今回も多分情報元はHacker Newsだと思うのだけど自分も見つけていた。 ただ、元記事には以前にもアクセスしていたようでブラウザーの履歴に残っていた。
- 10 Most(ly dead) Influential Programming Languages • Hillel Wayne
- Ten influential programming languages (2020) | Hacker News
んで、改めて元記事を読んでみると最初にいろいろ書いてある。
The other day I read 20 most significant programming languages in history, a “preposterous table I just made up.” He certainly got preposterous right: he lists Go as “most significant” but not ALGOL, Smalltalk, or ML. He also leaves off Pascal because it’s “mostly dead”. Preposterous! That defeats the whole point of what “significant in history” means.
So let’s talk about some “mostly dead” languages and why they matter so much.
Disclaimer: Yeah not all of these are dead and not all of these are forgotten. Like most people have heard of Smalltalk, right? Also there’s probably like a billion mistakes in this, because when you’re doing a survey of 60 years of computing history you’re gonna get some things wrong. Feel free to yell at me if you see anything!
Disclaimer 2: Yeah I know some of these are “first to invent” and others are “first to popularize”. History is complicated!
そして記事中で挙げられているのは以下の10個。
- COBOL
- ALGOL
- APL
- BASIC
- PL/I
- SIMULA 67
- Pascal
- CLU
- ML
- Smalltalk
新山さんのツイートにないのはPascal, ML, Smalltalkだけど これらを含めなかったのは字数の問題? この三つのプログラミング言語の それぞれのBackground、Significance、Cause of Death は元記事を読んでもらうとして
COBOLは生きているのでは? 銀行や保険の複雑な業務は移行が難しい。 数年前、新人研修でCOBOLを教えている会社があって、驚いた。
— ぎゃぶ (@gablae) December 21, 2022
BASICもVBとかスクリプトで、Microsoftのプロダクトで使われているのでは?
ぼくもCOBOLは死んでいないと思いますが、筆者によれば「系統が途絶えた (COBOLから構文的に影響を受けている言語がほとんどない)」ということのようです。
— 新山祐介 (Yusuke Shinyama) (@mootastic) December 21, 2022
珍しく(?)リプライに返事しているのもあったので 元記事がどう書かれているかを見てみると
COBOL
Background: CODASYL, 1960. COBOL is shaped by the business/science split in computing. At that time high-level industry languages were either used for engineering computations or managing data. The engineers had all gotten behind FORTRAN while the business world was a mess of COMTRAN, FLOW-MATIC, and others, so the Department of Defense got a committee together to make a single universal business language. That’s COBOL.
COBOL was one of the four “mother” languages, along with ALGOL, FORTRAN, and LISP. While we consider it a punchline today, it was once the most popular language in the world. It still runs a lot of our legacy business systems.
Significance: In terms of syntax and semantics we don’t see much of COBOL in modern computing. COBOL’s most important addition is the concept of record data. In FORTRAN and ALGOL, your only data structure was the static array. In COBOL, though, you could read in structured files with hierarchical data, and it would automatically destructure them into the representative variables. This was a precursor to modern day structs.
Cause of Death: Two factors here. One: COBOL had no overlap with other PLT efforts. Very few people built on COBOL. This meant that second or third generation languages, which built on the lessons of their ancestors, had almost no COBOL DNA. This was less intrinsic problem of COBOL and more because of the academia’s disdain for its creation process. CODASYL was a business group and obviously wasn’t worth paying attention to.1 COBOL was also enormously complex, even for today’s languages. This means that COBOL compilers lagged contemporaries on microcomputers and minicomputers, giving spaces for other languages to flourish and eventually outcompete it.
確かに Significance には COBOL’s most important addition is the concept of record data. という一文があるし Cause of Death には COBOL had no overlap with other PLT efforts. Very few people built on COBOL. This meant that second or third generation languages, which built on the lessons of their ancestors, had almost no COBOL DNA. とある (このPLT はProgramming Language Theory?)。
ところでリプライを返しているもの以外のリプライは (ぴー)だねえ(見るんじゃなかった😩)
記事の最後の方には
I didn’t cover ALPHARD, ALTRAN, Argus, Automath, BCPL, COMTRAN, CPL, Eiffel, FLOW-MATIC, HOPE, Hypercard, ISWIM, JOVIAL, MacSyma, Mesa, Miranda, Multics Shell, PLANNER, SMP, Sketchpad, or SNOBOL.
という記述もあった。 名前ぐらいしか知らないものやら初めて目にした(たぶん)ものもあったのでざっと検索してみた。 「プログラミング言語」からはやや外れるんじゃないかというものもあるけど。
- Alphard (programming language) - Wikipedia
- ALTRAN - Wikipedia
- Argus (programming language) - Wikipedia
- Automath - Wikipedia
- Hope (programming language) - Wikipedia
- ISWIM - Wikipedia
- JOVIAL - Wikipedia
- Macsyma - Wikipedia
- Mesa - Wikipedia
- Miranda (programming language) - Wikipedia
- Planner (programming language) - Wikipedia
- Sketchpad - Wikipedia 英語版
- Sketchpad - Wikipedia 日本語版
- SMP (computer algebra system) - Wikipedia
Maxima は1982年版の DOE Macsyma をベースとしたGPLライセンス版であり、後に William Schelter が Common Lisp で書き直し強化を施していった
というのがあって「へー」となるなど。
元記事のあったblog Blog • Hillel Wayne の他の記事はどんなだろうと見てみたら 過去にアクセスしていたものがあった Announcing: Learn TLA+ • Hillel Wayne
それawkで(ry
みずほ銀行の為替のtxtデータ、明らかにフィールド間の区切り記号の数がレコードによってバラバラなんですけど・・
— Hiro_21 (@Hiro_officewrkr) December 22, 2022
これはどうすりゃいいんだ・・?https://t.co/gLnhXkiPiz pic.twitter.com/gyDXm2raMx
要するに可変個のスペース(ただし全角(ってなんですか)と半角が混在)で 桁揃えされたデータのようなので、 awkで一発だよなあと思ったり(前後に「余計な」行もあるけどそれはまた)。
Hugo メモ
Hugo v0.109.0 is the last release of 2022 – and with that we’re wishing all of you a very merry Christmas and a prosperous new year1.
機能追加もあるようだけど後で読む。