見出し画像

私家版ハッカーズディクショナリ2026 [B] BASIC, BBS, BIOS, BNF, BSD

前ページ:[A] Ada, AI, ALGOL, Android, Apple
次ページ:[C] C, CI/CD, CISC, COBOL, CORBA


[B]

BASIC

(1) 当初のBASIC(Beginners' All-purpose Symbolic Instruction Code)とは、初心者用のプログラミング言語であり、プログラムコードに必ず行番号を付けて、その行番号を基に動作制御をする言語である。
(2) 行番号へジャンプするGOTO文は大域ジャンプであるため、スパゲティプログラミングが容易に実現できる。頭の中もスパゲッティで一杯になる。
(3) GOSUB文はあるが局所変数はないため、プログラムをブロック化(局所化)するには非常に強い自制心が必要である。これは神のみが可能である。
(4) 行番号は10ずつ増加するようにして、プログラムコードの挿入に備える必要がある。しかしコードの挿入があると行番号が乱れるので、神経質な人はいつもRENUMして行番号を揃えることになる。
(5) Quick BASICなど構造化プログラミングが可能なBASICがあったことは秘密である。

BBS

(1) BBS(Bulletin Board System)とは、コンピュータネットワーク上の電子掲示板のシステムであり、複数人が掲示板で文字ベースの情報交換をする。
(2) 文字ベースであるため、顔文字やアスキーアートなどで感情表現を行う。欧米では":-)"のような横方向のシニカルな顔であり、日本では”^_^”のような縦方向の感情豊かな顔である。普段と違う自分を見せたいのであろう。
(3) BBSの書き込みが匿名で運営されると、人間の本性が出てしまい、BBSは乱れる。それに耐えて進化した人類は「2ちゃんねらー」と称される。
(4) 過去に商用BBSであるニフティサーブやアスキーネットで生息していた人は家庭の電話回線を占有して、家族からは疎まれていた。電話とBBSは従量制で多くの金が必要であったが、BBSから得られるものはなかった。

BIOS

(1) BIOS(Basic Input Output System、バイオス)とは、OSが起動する前に動作するシステムであり、キーボードやディスプレイ、ときにはマウスやネットワークなどのデバイスを制御し、マザーボードに搭載されている。
(2) BIOSはマルチOSにするときに触る必要がある。マルチOSでは使われないOSが祟り神になりBIOSエラーの呪いを掛けるので注意する。
(3) BIOSのメニューを呼び出す呪文がマシンによって異なるため、F2やDelキーなどの押下を試行錯誤することになる。
(4) BIOSの設定はCMOSに書き込まれるが、CMOSの設定情報が失われるときが10年に一度は来る。そのときは電池を抜いて、神に祈り、時間が過ぎ去るのを待つ必要がある。大人しく待つのが大人である。

BNF

(1) BNF(Backus-Naur Form、バッカス ナウア 記法)とは、プログラミング言語のような文脈自由文法を規定するメタ言語である。最初はALGOLの構文規則を定義するものであったが、今では言語以外でも多用される。
(2) しかしBNFでの記述は癖が強いので、わかりやすいEBNF(拡張BNF)が制定された。しかし縛りが好きなマニアはわざわざBNFで書くのを好んだ。
(3) BNFで使われる"ε"(空文字、イプシロン)が面倒の基であり、これにより逆説的にBNFはEBNFと同じ能力を持つ。まさにεは頭を悩ます元凶である。
(4) BNFで書かれた構文規則がLL(1)であるか、つまり1文字先読みだけで適用する構文規則が決まるかという問題に対して、コンパイラ開発者は一瞬で見分ける能力または魔法を持つ。

BSD

(1) BSD(Berkeley Software Distribution)とは、カリフォルニア大学バークレー校 で開発したUNIXや周辺ソフトウェアである。単称のBSDはオリジナルのBSD UNIXやその派生のUNIXを指すことが多い。
(2) BSD UNIXや周辺ソフトウェアに対する利用ライセンスをBSDライセンスと呼ぶ。BSDライセンスでは面倒なGPLと違い、ソフトウェアの改変や再配布はおろか商用利用さえも認める本当の意味での自由なライセンスである。
(3) BSDライセンスは二次的著作物に対して、一次著作物のライセンスを伝搬する必要はなく、好き勝手にしてよい。お金を取ろうが自由である。まさに商売ができるライセンスである。
(4) このためGPL信奉者も目が覚めて正直になり、BSDに改宗している。

あとがき

今回の記事は[B]のページとして、BASIC, BBS, BIOS, BNF, BSDを取り上げました。これらには見事に関連がありません。BNFは言語処理系を作成するときに使いますからBASICとは関連がありそうですが、PascalやALGOLならいざ知らず、BASICでは構文解析は不要です(意味不明)。
なおハッカーズディクショナリは、個人の感想であり、違和感や反論があるかもしれません。用法用量を守って注意してお読みください。

(参考)参考文献

私家版ハッカーズディクショナリ2026 索引

[A]
Ada AI ALGOL Android Apple
[B]
BASIC BBS BIOS BNF BSD
[C]
C, CI/CD, CISC, COBOL, CORBA

関連NOTEマガジン

エッセイ:エンジニア未来日記
現代ソフトウェア開発読本/プログラミングの掟/プログラマ日常
関数型プログラミング事始め
ソフトウェア開発マンガFAQ
プログラミングの掟
笑撃!プログラマの日常ドラマ
AIもコスパが大事

Facebookのグループ紹介

ソフトウェア研究会「とある技術のソフトウェアエンジニアリング」
DX研究会「とある技術のデジタル変革」

いいなと思ったら応援しよう!

五味弘 よろしければサポートをお願いします!