数学関連の描線。
{あれ K#F85E/E74C-7364}
宇田川浩行s_T
}{std::string
}{Re:「近象」と「遠象」について}{希哲15年8月13日のツイスト}{希哲15年8月13日}{文字列型}{良い例}{変種}{単純な}(43){「近象」と「遠象」について K#F85E/E74C-B093}
宇田川浩行「近象」というのは,感覚的に身近な抽象性のことです。言い換えると,「より単純で包括的なもの」,つまり「輪郭」的なもの,ということになります。その反対が「遠象」です。
「抽象」は,本来何かのために思考を単純化するものですが,必ずしも感覚的な近さを意味しません。数学のそれが良い例です。
例えば,「近象文字列」というのは,簡単に言えば「文字列を直感的に扱えるように抽象化したもの」です。この直感的というのも厳密には「思いついたように扱えること」という意味で,「直想的」と表現していました。
C++ の文字列は std::string
と書きますが,様々な変種もあり,「文字列を扱いたい」という書き手の単純な要求に対して直想的ではありませんでした。書き手の頭の中で,「文字列を使うこと」と「std::string
を使うこと」の間に距離があるということです。C++ ではライブラリによって異なる文字列型を使い分けることが多々あるので,std::string
も固有名詞的に文字列を扱う手段の一つとしか認識されていません。
Cμ では,s_T
として「細かいことはさておき大体の場面で使える文字列型」を提供することにしました。「文字列を使うこと」と「s_T
を使うこと」が概念として(普通名詞的に)一致するように設計されています。これを「近象文字列」と呼んでいました。
{希哲館はなぜ潰れないのか? K#F85E/E74C-9EBB}
宇田川浩行一日一文という日課を再開して3ヶ月経ち,希哲館事業についてもだいぶ伝えやすくなったと感じている。
この希哲館事業も,11月1日に14周年を迎える。もっと遡って,17歳の時の「閃き」を原点とするなら,もう20年近い歴史がある。今まさにデライト収益目標達成に向けて大詰めという時期だが,これだけ長い間,まともな収益がなく事業が存続してきたことには,いくつかの理由がある。
覚悟
まず,「日本はどう逆転するか」や「私の政治思想」などを読めば分かるように,希哲館事業構想は,「人類史上最大の事業構想」と言っても過言ではない無謀の極みであり,当然ながらその自覚と絶望から始まっている。
希哲館事業の可能性に気付いた17歳の私は,その過程にある,あらゆる困難を想像し,絶望と戦うことになった。
この前年,アメリカ同時多発テロ事件があった。希哲館事業の根底には,あらゆる宗教,あらゆる思想を越えて世界を連帯させうる“新しい価値観”への世界的な要請があったように思う。
今となっては笑い話に近いが,そんな世界情勢もあり,私は,イスラム過激派にでも捕まって自分が生きたまま首を斬られたり,日本を追われて世界を放浪したりするのではないか,そんなことまで想像していた。そんな極限状態でもこの事業を育てるために,あらゆることを考えた。
閃きから5年後,私はあらゆる困難と戦う覚悟を決め,希哲館事業を始めた。全ての神,自分以外の全ての人間を敵に回すかもしれない,人生の全てをかけた努力が全く報われないかもしれない。それでも自分はこの事業に尽力しよう。そういう覚悟だ。
希哲館館章「竜胆蛍」は,この絶望的な暗闇に飛び出す一匹の蛍を模したものだった。希望と知の儚い光であり,滅びの美学のような,私の人生観と覚悟を象徴するものでもあった。
{デライトはなぜ“抽象的”なのか K#F85E/E74C-AECA}
宇田川浩行デライトに触れた多くの人が,デライトは“抽象的”だと言う。それもそのはず,我々が認知しうる物事の関連性を徹底的に抽象化することにより,あらゆる物事の関連性を一つの原理で捉えられるようにしたのがデライトの基礎にある「輪郭法」なのだから。
日常的な会話の中で「抽象的」と言うと,捉え所が無いとか曖昧といった悪い意味に受け止められることが多い。しかし,抽象化という能力は,数学はもちろん,情報工学の世界でも無くてはならないものだ。
工学における抽象性は,「汎用性」に近い意味を持っている。個別のものに共通する性質を取り出し,それらを一つの仕組みで捉えられるようにする。これが上手く出来ないと,論組すら難しい。
……などと御託を並べても,実際問題,デライトを多くの人に使ってもらうには,この抽象性が大きな壁であることに変わりはない。抽象的に物事を捉える能力には個人差が大きく,それも得意だという人の方が珍しい。当然ながら,これは市場戦略上の課題になる。
これを上手く解決する方法があるのか,実は開発者の中でも答えは出ていない。探せばあるのかもしれないし,結局無いのかもしれない。無いとしても,この抽象性がデライトにとって必要なものなら,無理にでも壁を乗り越えるしかない。
デライトは,これまで勘報機でも多く利用されてきた単純な階層構造やネットワーク構造の限界を越えるべく開発されたものだ。
特に「フォルダ」などとして広く使われている階層構造は,抽象性の反対,具体性(具象性)と非常に相性が良い。いくら欠点があっても,人類が階層構造から離れられなかった大きな理由だ。
個人機(PC)の普及に大きく寄与したのが「デスクトップ メタファー」であったように,具体的なモノ同士の関係として表現した方が多くの人は理解しやすい。その一方で,具体的なモノにはモノゆえの限界がある。
我々は,頭の中で多くの概念を縦横無尽に結び付けている。A にも B にも含まれている C という概念を頭の中では当たり前に扱えるが,フォルダのような物理的な入れ物 A と B に同時に入っている C というファイルを想像することは難しい。
こうした限界を越えようと様々な技術が開発されてきたが,フォルダのような“具体的”表現に頼っている限り,どうしても不自然で気持ちの悪いものになってしまう。「パソコン音痴」な人は,Windows のショートカットですら実体と区別出来ず混乱してしまうことがある。
それならいっそのこと,こうしたメタファーを廃してしまった方がいいのではないか。デライトの設計はそんな考えに基いている。だから,モノに喩えるのではなく,頭の中を直接表現した抽象画のようになっている。これをデスクトップならぬ「マインドトップ」(mindtop,念頭)と表現したこともある。
下図のように,デライトにおける「輪郭」は,視点によって一つの中身を共有出来る入れ物になっている。立体階層構造とでもいうべきこの構造を「輪郭構造」と呼ぶ。
この輪郭構造が,階層構造とネットワーク構造を{統合 K#F85E/A-3DCF}し,真に人間の{認知機能 K#F85E/A-E74C-CB77}に{調和 K#F85E/A-D4CF}するものになっている。大分長くなってしまったので,これについては後日改めて{解説 K#F85E/A-1EE6}しよう。{交度英語のすすめ K#F85E/E74C-244F}
宇田川浩行希哲館における珍奇な語彙といえば「日本語史上最大の翻訳語体系」こと希哲館訳語ばかりが注目されがちだが,実は,もう一つそれに負けず劣らず珍奇な言語関連望事がある。それが「交度英語」(Code English),略して「交語」(Codish)だ。
これは主に希哲館情報技術体系で利用しているもので,簡単に言えば,「英語を勘報機向けに簡略化した人工言語」だ。
勘報の世界では,技術者であれば誰でも理解出来るような略語というものが多数存在する。例えば,std は〈standard〉,int は〈integer〉,str は〈string〉……といった具合だ。多くは「歴史的経緯」で定着したものだ。
一方で,こうした略語の使用を避けるという文化も優勢になっている。その主な理由は,「共有しにくい」からだ。特に新しい論組言語では,英語を略さずに使う傾向があるため,妙に冗長な交度が増えた。
はっきり言おう。私は,これが非常に馬鹿げた考え方,いわば「略さない病」であると思っている。この病気によって世界から失われた効率性を金額に換算すれば天文学的なものになるに違いない。
よく考えてもみてほしい。略語というのは,どんな専門分野でも記録や情報交換の効率化のために自然発生するものだ。数学の一見意味不明な略語・記法は,数学者が本質的な仕事に専念するために編み出したものだろう。日夜神経を磨り減らして交度と向き合う情報技術者がそれを封じるのは,狂気の沙汰と言ってもいい。
実際のところ,「略語を使わない」ルールが徹底されているかというと,そうではない。例えば,String str;
なんて記述は世の中に溢れかえっている。C++ には shared_ptr(pointer),Java には println()(line)なんてものがある。「モダン」なはずの HTML5 にも img(image)やら kbd(keyboard)やら残っている。こうした混在が当たり前になっているのが現状だ。なぜなら,「略語を使わない」というのは本来不自然なこと,無理のあることだからだ。
長い方に合わせるのは無理なのだから,短い方に合わせればいい。共有しにくいなら,「略語を使わない」のではなく,「略語の辞書を作る」ことを考えればいい。頻繁に使うものなら人間は慣れる。これがつまり,交度英語の考え方だ。
交度英語では,すでに定着している英略語を基礎に,実践を通じて新しい略語を提案,問題があれば修正しながら語彙を作り上げていく。
具体的には,論組をしながら,どう略せばいいのか分からない英単語にあたった時,私はまず適当に略してみて,それをデライトで検索する。他に前例があればそれと突き合わせて修正することもあるし,無ければどういう意図で使ったかを描き出していく。これを繰り返すことで,デライトが自然と辞書の役割を果し,妥当な略語の使い方に導いてくれるようになる。
これは基本的に希哲館訳語で行っていることと同じであり,デルン/デライトがはじめて可能にしたことでもあるのだろう。
希哲館ではまだ素交の公開などはしていないので,交度英語を使った交度の実例としてすぐに見せられるものは少ないが,最近書いた「JavaScript の beforebegin,afterbegin,beforeend,afterend に代わる要素位置記法」などにはその片鱗が見えるかもしれない。
いずれ『希哲辞典』のように辞典として整えて公開することも考えているが,まずは考え方を紹介しておきたかった。