私家版ハッカーズディクショナリ2026 [C] CPU, CRUD, CUI, Cygwin, C++
前ページ:[C] C, CI/CD, CISC, COBOL, CORBA
次ページ:[D] DBMS, DirectX, DOS/V, DRY, DX
CPU
(1) CPU(Central Processing Unit、中央処理装置)とは、コンピュータの演算や各デバイスの制御を司る装置である。CPUの命令セットにはCISC(複合命令セットコンピュータ)とRISC(縮小命令セットコンピュータ)がある。
(2) コンピュータに複数のCPUがある場合は、どちらが中央であるかという覇権争いが生じる。勝者はメインCPUのような自己主張の激しい名前になり、敗者はサブCPUという中央なのか地方なのかわからない名称になる。
(3) CPU界隈において勃発したCISC v.s. RISCの争いは特定のプログラムに肩入れするか、それとも平等にするかの争いである。
(4) CPUはクロックをドーピングすることでベンチマークを高速にする競技違反が行われていることがある。ドーピングするとCPUは高熱になり、体調を崩すことがあるので注意する必要がある。
CRUD
(1) CRUD(Create/Read/Update/Delete)とは、永続的データ(ハードディスクなどに保持されるデータで電源を切っても保持される)の作成や読込、更新、削除の操作である。
(2) CRUDはトレードオフの関係があり、どれかを優先すると別のものが貧乏くじを引くことになる。例えば作成と更新を高速にすると、削除が被害を受ける。
(3) CRUDは平等ではなく、一般的な身分制度はRUCDの順である。たとえば多くの永続的データの処理では読込(R)が多用され、最上位の身分になる。
(4) 伝統的なデータベース界隈と新参者のWeb系REST界隈では、CRUDの考え方は違う。Web系REST界隈では「更新?なにそれ?」「削除と作成でいいじゃん」という思想である。
CUI
(1) CUI(Character(-based) User Interface)とは、キーボードでの文字入力だけでコンピュータとユーザインタフェースすることである。
(2) CUIの武器にはワイルドカードがある。ワイルドカードを使うと、ファイルコピーや検索、置換などではGUI(Graphic User Interface)を圧倒する。
(3) CUI界隈ではファンクションキーやショートカットキーの使用を好ましく思わないものがいる。いわゆる純粋CUI派ではファンクションキーは邪道であり、清く正しく文字入力するべきと教えている。ただしコントロールキーやALTキー、シフトキーなどの機能キーは(なぜか)認めている。
(4) しかしCUIの牙城であったUNIX界隈でもGUIに汚染されている。これはGPL汚染とともにUNIX公害に認定されている。
Cygwin
(1) Cygwinとは、WindowsにUNIXのシステムコールを仮想化するための実行環境である。さらにCコンパイラやシェルもサポートされており、実質的にUNIX環境をWindows上で動作できるように見せかけている。
(2) Cygwinにより、Windows v.s. UNIXの戦いは「UNIXがなくてもCygwinがあればWindowsだけでいーじゃん」となっている(もちろん誤解である)。これでWindowsの勝利になる。
(3) またCygwinはシステムコールだけでUNIX自身の環境ではなく、実行速度も遅い。この欠点から徐々にUNIXプログラムを使わせないようにするWindowsの深謀知略である。Cygwinではいけないのである。
(4) 一方でWindowsユーザの中にはUNIXにあこがれている人がいる。CygwinによってこのようなユーザはUNIXユーザになった気にさせている。
C++
(1) C++とは、プログラミング言語Cに抽象データ型ベースのオブジェクト指向機能を追加したプログラミング言語である。Cの(ほぼ)上位互換であり、Cからの移行はそのままでもスムーズに行える。
(2) C++がオブジェクト指向言語であるかどうかという論争は20世紀中にあった。最初の版ではCのマクロ機能と関数ポインタを使って、抽象データ型を実装しただけと陰口を叩かれていた。
(3) 一方、Objective-Cは、CにSmalltalk-80風のオブジェクト指向機能を実装しており、C++よりもオブジェクト指向言語と名乗る資格があった。
(4) しかし1990年代にマイクロソフトがライブラリとしてC++のクラスライブラリを提供することでC++が勝利した。ここでもAppleはマイクロソフトに負けることになった。
あとがき
今回の記事は[C]のページの2ページ目として、CPU, CRUD, CUI, Cygwin, C++を取り上げました。今回はCUIとCygwinでUNIXをディスってしまいましたが、私家版ハッカーズディクショナリはUNIXの味方です。本当です。CPUではCISCとRISC、CRUDではDBとWebを比較的平等に書いたはずです。
なおハッカーズディクショナリは、個人の感想であり、違和感や反論があるかもしれません。用法用量を守って注意してお読みください。
(参考)参考文献
私家版ハッカーズディクショナリ2026 索引
[A]
Ada AI ALGOL Android Apple
[B]
BASIC BBS BIOS BNF BSD
[C]
C CI/CD CISC COBOL CORBA
CPU CRUD CUI Cygwin C++
[D]
DBMS, DirectX, DOS/V, DRY, DX
関連NOTEマガジン
エッセイ:エンジニア未来日記
現代ソフトウェア開発読本/プログラミングの掟/プログラマ日常
関数型プログラミング事始め
ソフトウェア開発マンガFAQ
プログラミングの掟
笑撃!プログラマの日常ドラマ
AIもコスパが大事
Facebookのグループ紹介
いいなと思ったら応援しよう!
よろしければサポートをお願いします!