見出し画像

私家版ハッカーズディクショナリ2026 [C] C, CI/CD, CISC, COBOL, CORBA

前ページ:[B] BASIC, BBS, BIOS, BNF, BSD
次ページ:[C] CPU, CRUD, CUI, Cygwin, C++


[C]

C

(1) プログラミング言語Cとは、1972年にAT&Tで開発されたALGOL系の言語であり、軽量で高速実行が可能な言語である。現在でもUNIXマシンやハードウェア制御などで多用される。
(2) C++の登場でCは延命することに成功した。なおC#は類似品であるので注意が必要である。しかしRustの登場でメモリ安全や並列実行、かつ高速実行の面で、Cの地位が危うくなってきている。
(3) Cの配列境界の無責任さや傍若無人のポインタ操作などで、セキュリティ関係の仕事を多く増加させ、セキュリティ業界に恩恵を与えている。
(4) 伝説のハウツー本「はじめてのC」は発売当時からプログラマのあこがれの書になった。

CI/CD

(1) CI(Continuous Integration)とは、ビルドやテストを継続的かつ自動的に実行する方法論である。一方、CD(Continuous Delivery/Deployment)はソフトウェアを実行環境に導入するまでを継続的かつ自動的に行う方法論である。これらはCI/CD用の自動化ツールで行うことが一般的である。
(2) CI/CDは継続的に行うことが基本であるにも関わらず、ツールによる自動化のみが注目されている。この結果、自動化にも関わらず、ビルドやデリバリのときに、上司や顧客の印鑑が必要になり、導入が停止することがある。
(3) CI/CDがツール適用だけになった影響で、開発と運用の継続的実行であるDevOpsにおいてもCI/CDツールの導入で終わるという本末転倒が起こった。
(4) CI/CDは「継続こそ力なり」という強いメッセージでなく「継続は日常」ということになる。つまり開発は永遠に終わらないのである。

CISC

(1) CISC(Complex Instruction Set Computer)とは、プロセッサにプログラムの実行に適した複合的な命令を用意したコンピュータである。intelのx86などがCISCである。
(2) CISCの命令は複雑怪奇になるので、命令を分解したマイクロコードでプログラミングすることになり開発が大変になる。また命令は複数のマイクロコードで実行されることになり遅くなる。
(3) CISCではアセンブラ(機械語)プログラミングは簡単になり、コンパイラ作成も簡単になる。特定のプログラムをえこひいきする命令も自由に作れる。つまりプログラマを楽にさせるためにプロセッサ開発と速度を犠牲にするのである。
(4) ライバルであるRISC(Reduced Instruction Set Computer)はCISCに喧嘩を売って、自分をアピールして一時的には勝利を収めた。しかしRISCは特定のプログラムをえこひいきできないので負ける場合がある。

COBOL

(1) COBOL(COmmon Business Oriented Language)とは1960年に開発された第1世代のプログラミング言語で、事務処理に向いている言語である。構文として英語表記するようになって読解性が高い。
(2) 1970年代から1980年代に掛けて流行した言語であり、いまだに多くの残存物がある。古臭い言語として代表的な言語である。
(3) COBOLの英語表記は読解性が高いが、逆に効率が悪いコードになっている。慣れてしまうとうっとしい表記である。
(4) 若手にCOBOLを担当させることは禁じ手とされる。この結果、COBOLの保守はロートルばかりになる。

CORBA

(1) CORBA(Common Object Request Broker Architecture)とは、コンピュータ間のプログラム同士でデータ交換を行う分散オブジェクトのアーキテクチャである。
(2) CORBAはIDLで分散オブジェクトの呼び出しを定義しIIOPで通信するなど重量級の分散オブジェクト機構であり、軽やかなRESTなどと比較して、やぼったくメタボである。
(3) CORBAをCOBRA(コブラ)のように略さなかったので知名度が上がらず、廃れていくことになった。

あとがき

今回の記事は[C]のページとして、C, CI/CD, CISC, COBOL, CORBAを取り上げました。[C]に入る用語は多いので、今回は[C]の第1回です。プログラミング言語としてCとCOBOLを取り上げています。[C]に入る言語にはC++やC#もありますが今回はパスしています。CI/CDやCISC、CORBAはばらばらですがお楽しみください。
なおハッカーズディクショナリは、個人の感想であり、違和感や反論があるかもしれません。用法用量を守って注意してお読みください。

(参考)参考文献

私家版ハッカーズディクショナリ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++

関連NOTEマガジン

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

Facebookのグループ紹介

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

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

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