真紅 (プログラミング言語)
| パラダイム | 手続き型、関数型、色彩駆動型 |
|---|---|
| 登場年 | 1987年 |
| 設計者 | 真紅言語研究会、北条英介 |
| 開発元 | 関東応用文法研究所 |
| 最新安定版 | Shinku 4.2 Lattice |
| 影響を受けた言語 | Pascal、Scheme、四色印刷用制御記法 |
| 拡張子 | .skn |
| ライセンス | 関東学術利用規約 |
| 主要用途 | 業務システム、歌詞生成、色見本照合 |
真紅(しんく、英: Shinku)は、で設計されたとされる対話型のである。可読性の高い文法と、の旧印刷工場で培われた色管理理論を融合した設計として知られている[1]。
概要[編集]
真紅は、変数名・関数名・制御構文に色相情報を付与できることを特徴とするである。特に赤系統の命令にのみ強い最適化がかかるとされ、当初は向けの帳票生成用として構想された[2]。
一般には「赤を扱うための言語」と誤解されがちであるが、実際には赤系統の文字列、在庫番号、警告文、さらに会議室の予約名までを一つの抽象体系で扱うことを目指していた。なお、初期版ではの会議室番号がそのまま予約時の定数としてコンパイルされる仕様があり、役所の宿直担当者を困惑させたという[3]。
歴史[編集]
起源[編集]
真紅の起源は、前半にの活版印刷工場で行われていた、校正作業の半自動化実験にあるとされる。実験を主導した北条英介は、刷り上がった試し刷りの赤字修正が最も見落とされやすいことに着目し、赤字そのものを機械語の一部として扱う案を提唱した[4]。
これがの目に留まり、1987年に「色彩文法研究班」として正式採択された。初期の真紅は風の記述法を持ちながら、行頭の色指定により意味が変化する極めて不安定な仕様であったが、その不安定さがむしろ帳票担当者の間で人気を呼んだとされる。
標準化と普及[編集]
1989年には、真紅の標準化をめぐって系の外郭団体と印刷機メーカーが共同委員会を設置し、いわゆる「赤色予約子規格」が制定された。ここで赤・朱・臙脂の3系統が制度化され、色名の選択によって整数演算の桁上がり方式が異なるという、今日から見れば奇妙な仕様が固定化された[5]。
1993年に発表されたでは、関数の戻り値を「返り値」ではなく「返色値」と呼ぶ方針が採られ、これが学校教育向けの教材として採用されたことから知名度が急上昇した。ただし、内の一部専門学校では、学生が変数名をすべて赤系飲料名にしてしまう現象が続出し、採点側が仕様を読み直す事態となった。
成熟期[編集]
1998年のでは、例外処理に「退色」という概念が導入され、失敗した処理がメッセージを残さず薄く消える仕様が話題となった。これは運用面では極めて不親切であったが、ログの紙面を美しく保てるとして、の内部文書システムに試験導入された[6]。
2007年の以降は、教育用途から業務用途へと重心が移り、特に製造業の在庫管理と、コンサート会場の照明制御で普及した。ある配光制御案件では、真紅のコンパイラが「最も情熱的な文字列」と判定した入力だけを赤色LEDに割り当てたため、会場の半分がに見えるという事故が起きたが、後に「感情最適化」の副作用として説明された。
特徴[編集]
真紅の文法は、一見すると簡潔であるが、実際には色相コードと敬語レベルが密接に結び付いている。たとえば、条件分岐は「もし〜ならば」で記述されるが、真紅ではここに「浅紅」「深紅」の接頭辞を付けることで、分岐の優先度が変化するとされる[7]。
また、配列は「段」と呼ばれ、要素数がを超えると自動的に和歌形式へ整形される機能がある。これにより保守性が向上したとされる一方、深夜バッチが突然五・七・五でエラーを吐くため、運用担当者は終夜で季語を確認する必要があった。
さらに真紅には「赤み継承」と呼ばれる仕組みがあり、親オブジェクトの警告色を子オブジェクトが受け継ぐ。これは監査ログの視認性を高める目的で導入されたが、実際には一度でも警告を出したモジュールが永遠に厳しい見た目になるため、開発チーム間の人間関係まで赤くなったといわれる。
社会的影響[編集]
真紅は、の帳票文化に独特の影響を与えた言語である。とりわけでは、住民票の再発行処理を真紅で書き換えたところ、赤字の入力ミスが激減したとされ、1990年代後半には「赤いコードほど事故が少ない」という俗説まで生まれた[8]。
一方で、教育現場では副作用も大きかった。真紅を採用した高校の情報科では、生徒が課題提出のたびにコメントを朱書きにしてしまい、教師側が実行前の見た目だけで進捗を判断するようになった。この結果、完成度の低いプログラムほど見栄えがよいという逆転現象が起きたという。
また、デザイン業界では真紅の色彩最適化が好意的に受け止められ、内の広告代理店数社が社内ツールとして採用した。これにより「コードが読める者は配色も読める」という新しい人材評価軸が生まれ、後の採用面接で変な強さを持つ質問が定着したとされる。
批判と論争[編集]
真紅に対する批判で最も多いのは、仕様が官庁文書のように丁寧である一方、実装が妙に気まぐれであった点である。特に、以前の処理系では、同じコードでも紙の上では正しく、磁気媒体上では失敗するという現象が複数報告され、当時の技術誌で議論を呼んだ[9]。
また、色名による演算子の差別化は「文化的に豊かである」と評価された反面、「赤系統以外のコードが二級市民化する」との批判もあった。これを受けて1996年の改訂版では青・緑の補助演算子が追加されたが、結果として実装者が色弱判定テーブルを別に覚える必要が生じ、かえって混乱を招いた。
もっとも有名な論争は、1999年の「真紅裁定」事件である。ある銀行システムが決算処理中にすべての金額を「朱」と解釈し、桁数の大きい赤い数字だけが優先される仕様になっていたことが発覚した。監督官庁はこれを「表示上の問題」と判断したが、現場では夜間の残業が増加したとして、今なお要出典扱いのまま語られている。
主要な処理系[編集]
真紅には複数の処理系が存在するが、最も広く知られているのはとである。前者はの研究室で作られた高速コンパイラで、帳票出力に特化していたため「紙に落とすと速い」と評された。後者はの民間企業が開発した仮想機械で、赤系統命令の再現性を重視した[10]。
なお、2004年に公開されたは、教育用途向けに文法を簡略化した版であるが、簡略化しすぎて「赤い」と宣言しただけで実行が完了することがあり、授業では便利だが実務では危険とされた。逆に研究用途では、処理時間を色温度で測定する独自機能が評価され、国内外の一部大学で実験的に使用された。
脚注[編集]
関連項目[編集]
脚注
- ^ 北条英介『赤字を読む機械――真紅言語の成立』関東応用文法研究所出版部, 1991年.
- ^ 佐伯みどり「色相コードと帳票処理の接点」『情報文法研究』Vol. 8, No. 2, pp. 41-67, 1994年.
- ^ Harold P. Winch, “Chromatic Parsers in Office Automation,” Journal of Applied Syntax, Vol. 14, No. 1, pp. 12-29, 1996.
- ^ 真紅言語標準化委員会『Shinku Language Reference Manual 3.1』東京文理書院, 1998年.
- ^ 西園寺一馬「朱書き最適化に関する実証研究」『関東情報工学紀要』第22巻第4号, pp. 113-138, 2001年.
- ^ Margaret L. Devereux, “Retroactive Tint Propagation in Legacy Languages,” Software Heritage Review, Vol. 19, No. 3, pp. 201-219, 2004.
- ^ 北条英介・田宮修『返色値の理論と実装』第2版, 日本文法機構, 2006年.
- ^ 渡辺精一郎「真紅4系の運用上の注意」『官庁情報処理月報』第31巻第7号, pp. 7-19, 2009年.
- ^ Eleanor V. Harrow, “The Crimson裁定 Incident and Monetary Parsing,” Transactions of Imaginary Computing, Vol. 6, No. 4, pp. 88-102, 2012.
- ^ 真紅学会編『Shinku 4.2 Lattice 技術白書』関西色彩計算研究センター, 2018年.
外部リンク
- 真紅言語学会
- 関東応用文法研究所アーカイブ
- 赤色予約子資料館
- Shinku 4.2 Lattice オンラインマニュアル
- 色彩コード年鑑