• 書評:落合渉悟『僕たちはメタ国家で暮らすことに決めた』

    待ちに待った落合渉悟僕たちはメタ国家で暮らすことに決めた』(以下、本書)がついに刊行された。この記事では、紹介という意味での書評というよりは、読中・読後に考えたことについて原理的な面から述べてみたい。

    本書の位置付け

    Web3を特集した「WIRED(ワイアード)VOL.44」において、「国のためのDAO」(p.192。以下、ページ番号のみ記載する場合は、すべて本書への参照を示す)であるDAO for Nation(DAO4N)について語っていた落合氏は、本書では打って変わって 「マイクロパブリックを生み出すシステム」(p.193)としてのAlgaについての「取説」(p.41)として本書を上梓した。なぜ国が対象ではないのか。

    理由は明白だ。使ってみてもいないものを国が採用するはずはない。使ってみて、その利便性の高さを腹落ちしてこそ、人はその価値を知るし他の人々にもその価値を伝え、共有しようとするものだ。

    p.195

    自明にも思えるが、しかし極めて現実的な見解であろう。著者のいう「マイクロパブリック」とは、以下のごとき存在である。

    マイクロパブリックとは何か。

    読んで字のごとし、「小さな公共空間」だ。公共空間といえば、誰でも公平に使える空間のことをいうが、マイクロパブリックとは、個人の目的を行使することができる公共の空間といったところか。そこには、自治会があり、マンションの管理組合があり、PTAがあり、生徒会がある。他にも自分の目的が叶うはずの公的な場所はいろいろ考えられる。

    p.192

    本書で著者がプレゼンテーションするAlgaとは、そのような「マイクロパブリックを生み出すシステム」(p.193)である。国ではなくマイクロパブリックを探求と実践の緒として選択した著者の意気込みはこうである。

    誤解されてもたかだか町内会のアプリだよね、というところから地ならしをしていく。公共にリーダーがいないというのはどういうことなのかを、頭と体で理解している層を増やしていくことが、外堀を埋めていくというか(中略)。

    p.125

    著者は、この本ではあえて天下国家についての語りをできるだけ差し控え、我々ひとりひとりにとってイメージすることが容易で、それぞれの立場においてすぐにでも実践に移せそうなスコープから、事を語り始めるのである。

    そのための道具としてのAlgaは、本書においてはあたかも既に使えるものであるかのように述べられているが、実はそうではない。

    開発ロードマップとしましては一年以上前の段階で各モジュールのプロトタイピングが終わっており、実現可能性については目処が立っています。今年(引用者註:2022年)の後半にかけてコミュニティ主体で開発していければと考えています。

    【取材】ブロックチェーンで民主主義の改善を目指す、DAOアプリ「Alga」発表(落合渉悟 インタビュー) | あたらしい経済

    差し当たっては、この「取説」を熟読すること。自らの意見・感想をフィードバックすること。そして、可能であれば開発に参加してみること。もちろん、Algaがリリースされた暁には、ユーザとして使ってみること。まずはマイクロパブリック目線において、著者が描く世界の展望への参加を呼びかけるというのが、本書の目的とするところであろう。

    「いじらしい存在」としての国

    そもそも本書のタイトルにも含まれる「メタ国家」とは何か。本書は「国家を支える3つの要素」としてを(1)民族自決権、(2)犯罪人引き渡しの拒絶、(3)人権保護が可能な唯一の主体であること、の3つを挙げる(p.17)。その上で「メタ国家」を以下の通り定義する。

    メタ国家は上記の、国家を支える3つのうち、そのいずれかの要素を持ち、かつ国家にしかできないことができるならそれは国家なのだ。

    (中略)

    僕の作ったメタ国家を生み出す仕組みの名は「Alga(アルガ)」。Algaはスマホ一つでメタ国家を作れるプラットフォームであり、動的な人権保護機構である。

    p.18

    ここで定義されている「国家を支える3つの要素」というのが、3つで全てなのか、例示なのかは判然としない。「メタ国家」を定義する引用箇所は、果たしてそれは「国家」であるのかないのか、それもまた判然としないように思われる。そのため、この定義には言葉足らずの印象を覚える。

    この文をチャリタブルに読むならば、こうも考えられるように思う。すなわち、「公共性のある限定された次元を担うにすぎず、そのすべてを包含するわけではない」と齋藤純一『公共性』が位置付ける(同書p.7)ような意味において、国家をまずは相対化しようというのが「メタ国家」の「メタ」たる所以なのだろう。また、「3つのうち、そのいずれかの要素を持」てば十分とされる「メタ国家」とは、国家に対する私たちの「assumption(前提)」(pp.245-255)を切り詰めるための概念操作であるとも読める。どういうことか。

    御厨貴他編『舞台をまわす、舞台がまわる – 山崎正和オーラルヒストリー』で、山崎正和は再三にわたって「国家」は「いじらしい」存在であると感じていた者たちの話をする。

    私は象徴的に森鴎外までを第一世代と呼んでいます。それはどういう人たちかというと、自分よりも国家のほうが小さいと思っている。国家をいじらしい存在だと感じている人たちです。(中略)

    これが永井荷風になると、もう政治は全くの埒外になってしまう。(中略)メンタリティの点で、このあたりが第二世代の始まりです。第二世代の大きな特徴は、まず国家が自分より大きくなっているという意識です。国家を偉大と見るか、抑圧的と見るかのどちらかですね。

    御厨貴他編『舞台をまわす、舞台がまわる – 山崎正和オーラルヒストリー』(p.332)

    明治維新以後の「第一世代」を象徴する森鴎外にとって、国家は「いじらしい存在」であった。別の箇所では「鴎外の段階では、国は可愛がってやらなければならない、庇護してやらなければならない存在だった」(同書p.192)。それは、明治維新以降の近代化を支えるエリートとしての強烈な公共心の表れであっただろう。

    1934年生まれの山崎正和は、「第二世代」どころか昭和生まれであってなお、国について鴎外=第一世代的イメージを持っていたという。

    生意気をいわせていただければ、日本国家が非常に小さく見えた。日本はのたうって苦難を味わっていた。左翼の人たちにとっては、日本は憎むべき巨大な権力だったかもしれない。しかし私から見ると、波間に漂う笹舟のようなもので、一つ間違えると本当にひっくり返るという状況に見えていました。明治国家に対する鴎外たちのような力を、昭和国家に対して私たちが持っていたとはとても思えません。でも貧者の一灯というか、何かを寄与したいという気分は似ていました。

    同書pp.170-171

    30代にして有力な若手知識人として、佐藤栄作をはじめとする歴代の首相のブレーンを務めたほどの大人物ならではの感慨というべきか。ともあれ、いまの私たちにとっては(当時においてだってそうだっただろうけれども)、遠く離れた認識であるかのように思える。

    なるほど、国というものをただ私たちがいま想念しているようものとして捉えればそうだろう。しかし、本書のいう「メタ国家」とは、国という存在に対する私たちのassumptionを切り詰めることで、いま一度、国というものを「いじらしい存在」へと変える概念操作なのではなかろうか。すなわち、ただただ「偉大」あるいは「抑圧的」と思えるだけの国家を、マイクロパブリックとしての、あるいはそれらの群れとしての「メタ国家」へと開いていくことで、「いじらしい存在」へと認識を変えていくということである。

    「自立共生的な道具」としてのDAO

    国という存在へのassumptionを切り詰めることによって、何が可能になるのだろうか。そのことについて考えるための切り口として、本書の導入する「道具」という概念について検討する。

    国に対する「第二世代」以降的なassumption(つまり私たちにとってのそれである)は、国について「偉大」であれ「抑圧的」であれ、肯定的であれ否定的であれ、いずれにせよ自らとは遠く隔たるものと観念することによって、むしろ望ましくない結果に加担することになっていたのだというのが、本書の見立てであろう。そのようなassumptionを支えるのが「道具」である。

    国家とはマクロ的現象であり宗教的現象なのだろう。領土的野心と民族というアイデアが、制空権やエネルギーや統治システムという道具から想起され、結果的に社会的実態として結実するにすぎない。道具のアイデアに支えられたか細い存在。

    p.29

    第一世代=森鴎外的な「いじらしさ」の感覚とは遠く離れた、私たちが抱く国に対するよそよそしい観念こそが、国という本来的には私たちがより良く生きるための「道具」でしかない存在を「制空権やエネルギーや統治システム」に必然的に結びつけて止まない。そのことが、本書が再三にわたって指弾する人権侵害を惹起しているばかりか、それに対する反省をすら、ややもすると「しかたがない」こととみなす無力感によって無化してしまったのだろう(一方で著者は国について「か細い存在」と、山崎的な感慨をいみじくも述べている。著者の大人物たる所以である)。

    あるいは、天下国家はともかくとして、私たちの日常生活においてもまた同様の事象は観察可能であるかもしれない。たとえば、本書にはこんな「余談」が記されている。

    余談として付記するが、Googleは果たして道具といっても良いだろうか?使い手の意に反して政治的に突然挙動が変わるモノに僕たちは手に馴染んだ道具としての信頼関係を築けるだろうか?

    p.25

    Googleに対する、Web3と呼ばれもする昨今の潮流と同期するこうした評価については、賛否両論あるだろう。ここでは、ことの成否について論じようとは思わない。そうではなく、私たちがどのような「道具」を用いるかが決定的に重要なことであるのだという意図を汲み取ろう。「いじらしい存在」としての国家へと切り詰められた私たちのassumptionが、よりよい社会の実現へと動機づけられるためには、「手に馴染んだ道具」を見つけなければならない。

    本書のいうマイクロパブリックにおける、人々のあるべきあり方について、イヴァン・イリイチは「自立共生的(コンヴィヴィアル)」という言葉をあてた。

    すぐれて現代的でしかも産業に支配されていない未来社会についての理論を定式化するには、自然な規模と限界を認識することが必要だ。(中略)いったんこういう限界が認識されると、人々と道具と新しい共同性との間の三者間関係をはっきりさせることが可能になる。現代の科学技術が管理する人々にではなく、政治的に相互に結びついた個人に仕えるような社会、それを私は“自立共生的(コンヴィヴィアル)”と呼びたい。

    イヴァン・イリイチ著、渡辺京二他訳『コンヴィヴィアリティのための道具』(p.18)

    そして、そのような社会は、彼が「自立共生的な道具」と呼ぶ道具によってこそ成立するのである。彼にとっての道具とは、ハードウェア的なものばかりでなく、制度や法のような「社会的工夫」のようなものも包含する。その上で、望ましい「道具」のありさまを以下のように説明する。

    自立共生的な社会は、他者から操作されることの最も少ない道具によって、全ての成員に最大限に自立的な行動を許すように構想されるべきだ。(中略)自立共生的な道具とは、それを用いる各人に、己の想像力の結果として環境を豊かなものにする最大の機械を与える道具のことである。

    同書pp.58-59

    そのような「道具」とは、たとえばどのようなものなのだろうか。具体的に見てみよう。本書では、星暁雄氏との対談においてコンピュータの歴史が参照される。そこからの連想により、補助線を導入する。1996年に刊行された古瀬幸広、広瀬克哉『インターネットが変える世界』は、初期のポータブルコンピュータであるOsborne 1を設計したリー・フェルゼンシュタインについてこう述べられている。

    イワン・イリイチの『コンヴィヴィアリティのための道具』を読んで感銘し、それを実現するためにパーソナルコンピュータをつくった

    古瀬幸広、広瀬克哉『インターネットが変える世界』p.6

    そして、そうしたハッカーたちの共通の動機についてこう述べる。

    革命(引用者註:パーソナルコンピュータ革命)に参加したハッカーたちの目標は、コンピュータの能力を大衆に解放し、それを使って知識と情報を共有することであった。すなわち、コンヴィヴィアルな道具としてのコンピュータシステムづくりに邁進したのである。

    同書p.9

    こうして見ると、前述のイリイチによる「コンヴィヴィアリティのための道具」とは、ここでの私たちの文脈においては、まさにDAOの設計指針について述べられたものであると読むべきだろう(というか、もはやそうとしか読めない)。そうしてみれば、パソコンやインターネットの歴史が営々と生み出してきた「道具」たちの末裔こそが、DAOなのであった(もちろん、Algaを利用する上で唯一必要となる道具である「スマホ」もまた)。実のところAlgaとは、そのような「道具」を生み出すための「道具」の謂いである

    連帯への「感情教育」

    以上の通り私たちは、適切な規模に切り詰められたassumptionによって、マイクロパブリックにおいて自立共生的に生きていくための道具としてのDAOを手にすることになった。一方で、やはりことが最終的には社会の変革を目指すのであってみれば、そうしたボトムアップな戦術論のみならず、トップダウンのビジョンもまた必要とされるだろう。

    そこで持ち出されるのが「世界人権宣言」である(本書には谷川俊太郎訳の世界人権宣言が収録されている)。Algaとは「「人権」という僕らが本来、持っているべきはずの権利を権力から取り戻すことができる時代が訪れる。それを実現する」(p.58)ためのものなのである。

    国家へのassumptionを身の丈にあったマイクロパブリックに切り詰めることは、同時に、誰がその身内なのかを狭く捉えることにもつながり得る。それは、フォーカスすべき対象を適切な「限界」(イリイチ)に押しとどめることであると同時に、社会がバラバラになってしまうことにもつながりかねない。であるからこそ、普遍的な原理原則としての、また、国家に対するカウンターとしての「人権」概念が持ち出されるわけだ。逆にいうと、人権という価値を前景化するためにこそ、そうし切り詰めと道具の精錬が必要とされたということでもあろう。

    リチャード・ローティは、ともすれば狭まってしまいがちな私たちのassumptionを拡大する営みを「感情教育」と呼ぶ。彼は、道徳を次のような事態として捉えている。

    ローティが『偶然性・アイロニー・連帯』において主張したのは、「残酷さこそが私たちのなしうる最悪の事柄である」と言うシュクラーの考えに同意し、「正しい道徳」が実在するのではなく、「残酷さ」と「苦痛」に対する感受性を磨くことによって向上するような道徳性が存在する、ということである。

    大賀祐樹『リチャード・ローティ―1931-2007 リベラル・アイロニストの思想』p.180

    そして、そうした道徳を拡大していくために必要なのが「感情教育」であるというのだ。

    ローティによると、そのような道徳が拡がりを持つには、「われわれ」という意識を拡げる以外にない。そしてそれは、「感情教育(sentimental education)」によって、より遠くの人々の残酷さや苦痛に対する「共感」を持つことを通じて可能になるのである。(中略)つまり、そうした「感情教育」は、残酷さと苦痛を表現する「物語」によって成し遂げられる。

    同書pp.292-293

    すなわち、本書の文脈でいうとこういうことだろう。私たちが自立共生的な道具としてのDAOによって運営されるマイクロパブリックからまず始めるという選択を行うのは、公共圏を「いじらしい」「波間に漂う笹舟のようなもので、一つ間違えると本当にひっくり返る」範囲にあえて引きとどめることで、ある種の道徳(本書におけるそれは「人権」である)を涵養する余裕を作り出すためなのであると。そのことで、人権概念の持つ普遍性の返す刀で、私たちのマイクロパブリックをじょじょに社会全体の連帯へと広げていく。DAOとは、私たちの感情教育ためののインキュベータでもあったのだ。

    とだけいって済ませると、ローティが黙ってはいないだろう。なぜならば、ある種の金科玉条のような考えを基礎づけとして、客観的に正しい何事かが存在するなどということに一貫して反対し続けてきたのが彼だからである。

    ある人格の、あるいはある文化の終極の語彙の正しさを証すものが何ら存在しないのとまったく同様に、何らかの葛藤が生じた時にその語彙をいかに再編するかを指令するような何かが、そうした終極の語彙の中に含まれているわけではない。私たちがなしうるのはただ、私たちが手にしている終極の語彙を持ってーーそれがいかに拡張されたり、修正されうるかについてのヒントに注意深く耳を傾けつづけながらーーやってゆくことである。

    リチャード・ローティ著、斎藤純一他訳『偶然性・アイロニー・連帯: リベラル・ユートピアの可能性』p.409

    本書の持ち出す「人権」という概念を、決定的に正しい「終極の語彙」として、すなわち議論のしようのない道徳のようなものとして理解・利用することには、私としては賛同することはできない。「何らかの葛藤が生じた時にその語彙をいかに再編するかを指令するような何かが、そうした終極の語彙の中に含まれているわけではない」のだから。

    そうではなく、いまのところ私たち人類が手にしている、それこそ道具としての「人権」という概念を、テンポラリな「終極の語彙」として常に磨き続け、「われわれ」の範囲を広げていくための感情教育を自らに対して施していくこと。いかようにも変わり得る偶然性への認識=アイロニーとは、つまりそうした教育の効果による自己の変革への動因であり、それこそが連帯を拡大していく。そのための道具としてのDAOこそが、本書が差し出してくれた大事な宝物であろう。

    人ならざる存在のためのDAO

    2018年1月に東京藝術大学で行われたニコラ・ブリオーによる公開講義は、ある印象的な挿話から始まった。

    ブリオーは、ニュージーランドの「ファンガヌイ(Whanganui)」と呼ばれる川の紹介から講義をはじめた。この川は、マオリの人々とニュージーランド政府との闘いの結果、2017年に「生きた」存在として政府に認められるに至った。つまり、川は人間ではないにもかかわらず、自らの立場においてさまざまな主張をなしうる、一個の人格と権利をもった主体として認められることになったのである。(中略)いまや、狭義の「人間」そのものの再定義が図られなければならないということである、とブリオーは述べる。

    Special Lecture Report | 沢山遼 「人新世におけるアート」は可能か?:ニコラ・ブリオー、あるいはグレアム・ハーマンの「無関係性の美学」

    この挿話を枕にしてブリオーは、人間からなる文化と非人間による自然とを分ける考え方を乗り越えるアートの取り組みについて紹介するレクチャーを行ったのであった。それは、人間のみならず非人間的な存在に対してもエージェンシーを認めるアクターネットワーク理論に影響を受けつつ、従来的な考え方の枠組みを再度問い直すことである。

    ところで川が「「生きた」存在として政府に認められるに至った」とは、どういう事態だったのだろうか。「先住民マオリ崇拝の川に「法的人格」認める、ニュージーランド 写真1枚 国際ニュース:AFPBB News」ではこう説明されている。

    ニュージーランドの議会は15日、先住民マオリ(Maori)が崇拝する川に「法律上の人格」を認める法案を可決した。河川を法人と認める判断は世界初とみられる。

    欧米諸国の判例とマオリの神秘主義を兼ね備えた法律は、ワンガヌイ川(Whanganui River)を「生きている実在物」だと正式に宣言した。クリストファー・フィンレイソン(Christopher Finlayson)司法長官は、「(ワンガヌイ川は)法的な人格と、それに付随するあらゆる権利、義務、法人としての法的責任を有することになる」と述べた。

    先住民マオリ崇拝の川に「法的人格」認める、ニュージーランド 写真1枚 国際ニュース:AFPBB News

    The New Zealand river that became a legal person – BBC Travelによると、「世界初」ではないということのようであるが、ともあれ自然を「法人」とみなすというのは驚くべき事態である。そのような取り扱いによっていったい何が起こるのか、非常に興味を引かれるところである。そしてそれは、具体的にこう述べられている。

    法律に基づき、実際面ではマオリ側と政府側をそれぞれ代表する弁護士2人が代理人として法的手続きを行い、ワンガヌイ川の利益を守っていくこととなる。

    また、ワンガヌイ・イウィには政府から、長期に及んだ裁判の損害賠償として8000万ニュージーランド(NZ)ドル(約63億円)と、川の環境改善費用として3000万NZドル(約24億円)が支払われた。

    同記事

    もちろんこのような任を担うのであるから、善良な人々なのであろう。環境保護にはお金もかかる。現に、少なからぬお金が環境改善費用として支払われたということではないか。ではその使い道をどうやって公共に資する形で決定するのか。それをどのように透明なプロセスにおいて実施するのか。そして、必ず訪れる「腐敗」に対してあらかじめ対処する術はあるのか。本書が述べる通り、このような事態こそ、まさにDAOが登場するにふさわしい。

    私たちの「メタ国家」への旅路は、こうして人ならざる存在をも包含する「人権」意識へと、自らを「感情教育」しおおせた。「パブリックチェーンや「世界との契約」もデジタルネイチャーの一種であると認識している」(p.229)と述べる著者ならば、ネイチャーそのものを「法的な人格」へと練り上げていくようなデジタルテクノロジとしてのDAOの利用もまた、デジタルネイチャーの一つのあり方だと認めることだろう。

    私はかつてこんなことを書いた。

    放っておくと疲れてしまう、愛らしい「物」たちの声を耳を澄ますこと。物自体に内在する力という仮想的な認識を通して、我々の認識は社会へと開かれていく。それは、よりよいシステムを作り続けることにつながるかもしれないし、物を大事に扱うということにつながるのかもしれない。ひいては、大きくいえば社会をよくするということだ。そうした物を通しての社会への開かれを、エコロジーと呼んでみたい。目の前の物たちが「疲れてしまう」ことを真剣に受け取ることから、それは始まる。

    アリストテレスを真剣に受け取る:「物」を通じて社会へ開かれるエコロジー|栗林健太郎

    いまならばこれを、DAOという道具に基づいて語り得るだろう。すなわち、DAOを通じて社会をより良く見通せるようになった私たちは、私たちの「人格」の外縁が、侵されるべきでない「人権」を有する人間としての他者のみならず、非人間たる「物」たちへも拡がっていくということだ。DAOは、そうした「他者」の声をよりよく聞くための道具でもある。

    引用文献

    1. 落合渉悟『僕たちはメタ国家で暮らすことに決めた
    2. WIRED(ワイアード)VOL.44
    3. 【取材】ブロックチェーンで民主主義の改善を目指す、DAOアプリ「Alga」発表(落合渉悟 インタビュー) | あたらしい経済
    4. 齋藤純一『公共性
    5. 御厨貴他・編『舞台をまわす、舞台がまわる – 山崎正和オーラルヒストリー
    6. イヴァン・イリイチ著、渡辺京二他訳『コンヴィヴィアリティのための道具
    7. 古瀬幸広、広瀬克哉『インターネットが変える世界
    8. 大賀祐樹『リチャード・ローティ―1931-2007 リベラル・アイロニストの思想
    9. リチャード・ローティ著、斎藤純一他訳『偶然性・アイロニー・連帯: リベラル・ユートピアの可能性
    10. Special Lecture Report | 沢山遼 「人新世におけるアート」は可能か?:ニコラ・ブリオー、あるいはグレアム・ハーマンの「無関係性の美学」
    11. 先住民マオリ崇拝の川に「法的人格」認める、ニュージーランド 写真1枚 国際ニュース:AFPBB News
    12. The New Zealand river that became a legal person – BBC Travel
    13. アリストテレスを真剣に受け取る:「物」を通じて社会へ開かれるエコロジー|栗林健太郎
  • 『プログラミングElixir 第2版』を読んでいまこそElixirに入門しよう

    この記事は#NervesJP Advent Calendar 2020の14日目です。

    13日目はわたくしの「mix upload.hotswap (kentaro/mix_tasks_upload_hotswap)の裏側」でした。2日連続の登場です。


    プログラミングElixir 第2版』をご恵贈いただきました。ありがとうございます。ちょうどElixirについて学び始めたタイミングでの刊行で個人的にとてもタイムリーなこの本について、本記事で簡単に紹介します。結論だけ先にいうと、プログラミング言語についての本としても読み物としてもとても面白いので、ぜひ広く読まれたいと思います。

    Dave Thomas・著、笹田 耕一+鳥井 雪・訳『プログラミングElixir 第2版』

    Elixirとわたくし

    前述の通り、この記事は#NervesJP Advent Calendar 2020向けに書かれるものです。Elixir本の紹介記事なのでNervesのカレンダーに書くのはカテゴリエラーのようですが、自分自身にとってはElixirとNervesとは切っても切り離せないものなので、こちらに書いています。

    Elixirの存在自体は(わたくしはRubyistでもあるので)2012年のリリースの頃から知ってはいたものの、それ以上深入りすることなく2020年秋まできてしまいました。2020年11月13日に行われた「第7回WebSystemArchitecture研究会」でNervesというものについて語られており、それはわたくしの関心に近いものである旨を、参加した研究所の同僚から教えてもらいました。それを見た瞬間「求めていたのはこれじゃん!」とピンときて、その週末は連日明け方まで調べたりコードを書いたりデバイスをいじったりしました。公開されたその時のお話のスライド(@zacky1972先生による「Nerves on Cloud (Japanese edition) 」と、@kikuzokikuzoさんによる「Elixir/NervesHubによるエッジコンピューティング環境実現に関する検討」)も素晴らしく、それからはすっかりElixir漬けの毎日で、急速に夢中になりました。何がそこまでわたくしを夢中にさせたのでしょうか?

    Elixirとこれからの世界

    インターネットサービスのエンジニアをやってきた中で、わたくしが関心を持ってきたことのひとつに、いかにシステムを更新し続ければいいのかということがあります。特にOSSに強く依存する昨今のシステム開発においては、エコシステムと歩調を合わせていくことが求められます。さらには、IoTのようにシステムが現実世界にはみ出していくようになると、エコシステムとの共存にはまた別の難しさが現れてくるでしょう(そもそもアップデート自体が大変だし、一様なサーバ群とは異なる多様なデバイスが存在することになるから等の理由)。4月から通っている大学院では、そのあたりを研究したいと思っているところです。

    そういう関心からしても、ElixirやNervesには興味深いことがたくさんあります。NervesHubという仕組みによるOTA(Over The Air)アップデートを可能にする仕組みがあります。また、Elixir(とErlang)という言語のあり方そのものに対して、温故知新的に(?)まさにいま求められているものじゃないかという気づきを得たりもしました。すなわち、@takasehideki先生による以下の図の通りです。

    ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク」p.21

    昨今は、microservicesだとかなんとかで、ひとつのホストという制約を超えたコンピューティングが、これまでとはまた別のあり方で発展しつつあるように思われます。上図などはまさにそういうことを表しているのでしょうし、自分の関心的にも取り組んでいきたい領域です。そういう関連もあって「mix upload.hotswap (kentaro/mix_tasks_upload_hotswap)の裏側」という記事にも書いた通り、デバイスの開発効率向上という観点からのHot Code Swappingの応用についてもやってみたりしているところです。

    そんなわけで、自らの関心に基づくやりたいことに対しての助けになりそうなNervesからElixirに入ったのですが、Elixir(とErlang)そのものにももちろん強い関心を持っています。それで各種ドキュメントを読んでいたところ、本書がちょうど刊行され、しかもいただけるという光栄に浴すことになったわけです。みなさま、本当にありがとうございます。ご縁ですね。

    著者について

    著者のデイブ・トーマスさんはThe Pragmatic Programmers, LLC.(PragProg)の共同創業者。これまで刊行された著名の書籍をあげるだけでも、綺羅星のような名著ぞろいというすごい人です。多くのプログラマが「この1冊」に挙げる『達人プログラマー』、原著第1版は1999年に刊行された浩瀚な『プログラミングRuby』、いまも版を重ねるAgile Web Development with Rails(邦訳はもはや追いついてないので原著へのリンク)といった書籍や、アジャイルソフトウェア開発宣言への署名者としてアジャイル開発プロセスの推進者としての活動を通じて、この20年以上の我々の業界でいまや当たり前になったプラクティスを作ってきたひとりです。その彼が2014年に刊行したのが本書の第1版で、それを著者が2018年にアップデートしたのが本書の原著です。

    そういうひとが書いた本ですので、一筋縄ではいきません。著者も「はじめに」で書いている通り、あの巨大な『プログラミングRuby』とは明確に異なるアプローチで、Elixirという言語の良さが、時には著者の個人的な好みも色濃く織り交ぜながら書かれています。そんなわけで、本書はプログラミングそのものが初めてのひとよりは、なんらかの言語による経験がそれなりにあるひとの方が楽しめるだろうと思います。そういうひとにとっては、達意のプログラマによる目を開かされるような創見が豊富な本書のような本を、他の言語との比較において楽しめるだろうからです。

    赤いカプセルをとれ

    「純粋で正確」な関数型言語を検討はしたものの魅力を感じなかったという著者は、Elixirに「不完全な世界」を容れる包容力がありながら純粋な関数型言語とは異なる「実用的なクオリティ」を見出し(本書386〜387ページ)、この本をのっけからこんな感じで始めます。

    赤いカプセルをとれ

    本書1ページ

    これは、もちろん映画「マトリックス」を踏まえたフレーズです。つまり、Elixirを学ぶというのは「世界に対する見かた」を根本的に変えるということなのです。オブジェクトの持つ状態を更新することが眼目となるオブジェクト指向言語の前提とする世界に対して以下のように宣言します。

    でも、これは現実の世界ではない。現実の世界では、抽象的な階層構造をモデル化したいわけではない(なぜなら、実際には、真の階層構造なんてそう多くはないからだ)。私たちは仕事を済ませてしまいたいのであって、状態を維持したいわけではない。

    (中略)

    あなたの世界へのまなざしも、オブジェクト指向におけるクラスの責任について考えるのをやめて、仕事を終らせる、という観点で考え始めるように、変化していくだろう。そして、たいていみんな、それは面白いって認めてくれるはずだ。

    本書1ページ、3ページ

    こうしてレッドピルを選び取った我々は、「ネオ」のように世界の実相(?)をデイブ・トーマス御大の語り口に導かれて、次々に見ていくことになります。

    本書の特色

    本書の文法事項の説明を開始する第2章は、こんな文章でまとめられます。

    ErlangのクリエータであるJoe Armstrongは、Erlangでの等号記号を、代数での等号記号の使われ方にたとえる。

    (中略)

    彼のいいたいことはこうだ。はじめに手続き型プログラミング言語の代入と出会ったとき、代数的な = の意味を忘れなければならなかった。今はそれをさらに忘れるときだ。

    本書20ページ

    よくあるプログラミング言語が文法解説が変数や代入文のような基本的な事柄から始まるのに対して、本書はパターンマッチから始まります。Elixirの=はその見かけに反して代入文ではなく、関数型言語では広く見られるパターンマッチを意味します。それは、x = 1みたいなよくある代入に見えるようなパターンマッチにもなりますし、タプルやリストのようなより複雑な構造をマッチさせたり、さらには関数の引数をパターンマッチさせることで、引数に応じた同名の関数宣言を複数書くことだってできます。

    ただまあ、そこまでだとオブエジェクト指向言語ではなく関数型言語がいいよという話に過ぎないようにも思えます。そういう話ならもう聞き飽きたというひともおおいでしょう(とはいえ、それはそれで面白い話題がたくさんあるのですが)。やっぱりElixirが面白いのは、そういう話はもとより、Erlang由来のプロセスやOTPだろうと思います。というわけで、文法事項の説明は400ページほどあるこの本の半分で早々にまとめられ、その後はErlang VMのパワーを存分に活用するためのあれこれに話題が移ります。

    Elixir(もちろんErlangでも)では、とにかくいろんなことにプロセスが使われます。本書では、フィボナッチ数列を計算するプログラムだって、プロセスを使って実装します。この、「プロセスで考える」ということこそが、本書がわたくしたちの世界への見かたに対して大きく変更を迫る本質的なポイントであるように思えます。

    ほとんどのまともなElixirプログラムは、本当にたくさんのプロセスを使う。そして、だいたいにおいて、プロセスの生成と管理を、オブジェクト指向プログラミングでオブジェクトを生成・管理するのと同じ具あり気楽に行う。でも、この考え方を学ぶには、もうしばらくかかるだろう。粘り強く行こう。

    本書216〜217ページ

    このように幅広く、気軽に使われる大量のプロセスを用いて、いかにして現実の要求を満たす堅牢なシステムを構成していくのかという話題について、しばらく話が進みます。すなわち、GenServerによるOTPサーバ、スーパーバイザ、OTPアプリケーションなどです。それらが何なのかについてはここでは説明しないので、ぜひ本書を買って読んでみてください。これらこそが、先に書いた通り、これからのインターネットのシステムアーキテクチャにとって「これじゃん!」となっていくポイントなんじゃないかと思います(そこではNervesが大きな役割を果たすことになるでしょう)。Erlangって1986年に作られた言語なんですよね。そんな歴史のある言語が、いまこそ未来を指し示しているように見えて、ドキドキします。

    本書の記述はさらに続いていくわけですが、個人的に特によかったのはプロトコルや型仕様についての説明です。ドキュメントを一読しただけだと全然理解できなかったのが、スッと入ってきました。また、付録Dの日本語版の特典「Elixir 1.6以降の状況と開発運用の実際」も素晴らしいです。本書はElixirがバージョン1.6の時の本なのですが、そこからキャッチアップできる情報が簡潔にまとめられています。とはいえ、かといって本文の方が古いかというとまったくそんなことはないので、ご心配なく。

    翻訳もとても練られており、考え尽くされた様子が目に見えるようで、非常に素晴らしいです。第25章の原題はMore Cool Stuffというのですが、それが「かっこいい機能いろいろ」とそれこそCoolに端的に訳されていることに象徴される通り、読みやすさと理解しやすさに繊細に気を配っていることが察せられます。よい翻訳者を得た幸せな本ですね。

    おわりに

    最初に書いた通り、最近はとにかくElixirにハマりきっているのであれこれと書きたいことはあるのですが、既にこの記事もだいぶ長くなってしまっているので、このへんで終わりにしようと思います。

    デイブ・トーマスさんについて「この20年以上の我々の業界でいまや当たり前になったプラクティスを作ってきたひとりです」と紹介しましたが、ことElixirについては、まだそこまでの事態になっているようには思われません。いずれそういうときも来るのでしょうか。みなさんもこの機会にElixirを始め、「赤いカプセル」を選択して、世界の真相を探す旅にでましょう。

    Dave Thomas・著、笹田 耕一+鳥井 雪・訳『プログラミングElixir 第2版』

    #NervesJP Advent Calendar 2020の15日目は、@torifukukaiouさんの「グラフうねうね (動かし方 編) (Elixir/Phoenix) 」です。続けてお楽しみください。

  • 『みんなのGo言語 – 現場で使える実践テクニック』の紹介

    著者のおひとり、 @songmu さんより『みんなのGo言語 – 現場で使える実践テクニック』をいただきました。ありがとうございます。

    みんなのGo言語[現場で使える実践テクニック]

    みんなのGo言語[現場で使える実践テクニック]

    • 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太
    • 出版社/メーカー: 技術評論社
    • 発売日: 2016/09/09
    • メディア: Kindle版
    • この商品を含むブログを見る

    今年に入って『プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)』が翻訳されたように、日本語で読めるGo言語についての書籍もずいぶん充実してきたようです。Go言語の良さとは、「早い人ならば1日、遅くとも数日で言語仕様の全容を理解できる」*1ほどにシンプルな仕様にもあることは、『みんなのGo言語 – 現場で使える実践テクニック』(以下、本書)でも「はじめに」において述べられるところです。実際、他の言語にある程度通暁していれば、すぐにでもなにかしら使い始めることができるでしょう。

    一方で、どの言語でも事情は似たようなものであると思われますが、Goにおいても例にもれず、言語そのものの仕様について知ること以上に、効率的な開発環境を使いこなしたり、言語特有のプラクティスやイディオムを身につけたり、あるいは、言語によらない共通のプログラミングそのものの知見を得、使いこなしていくことが重要であったりします。文法をひととおりみにつけたその先に、本書を通底して流れている、「チーム開発」(第1章)にフィットし、「どの環境でも同じように動作」(第2章)する、「実用的なアプリケーション」(第3章)が作れるのでしょう。

    僕自身は、1.0が出るか出ないかぐらいの頃(?)だったかにひととおり文法を勉強してみて、その後、簡単なツールを書いてみたり、なにかあれば積極的にGoを使って小さなプログラムを書いたりはしてきましたが、腰を据えて、継続的に大きなアプリケーションに取り組むということがなかなかできてなかったため、上記したような、日々新しいものが追加されていく「実用的な」知見に疎くなっていました。そんなこともあって、著者陣の日々の経験から生まれた、実践的なTipsがつまったこの本は、とても勉強になりました。

    go xxx のような便利ツール群などにも、発見がありました。たとえば、第1章で紹介されているgo lintgo vetなど、「そういえば使ってなかったな……、使うようにしよう」と反省したり、第6章「Goのテストに関するツールセット」で紹介されている go test -run TestXXX としてTestXXX だけ実行できることを教えてもらったり。第4章「コマンドラインツールを作る」では、採用候補のライブラリを紹介した上で、自分でとりまわしよく、かつ、しっかりとCLIアプリケーションを書く方法が丁寧に紹介されていて、今後、また参照することになるでしょう。

    第3章「実用的なアプリケーションを作るために」と第5章「The Dark Art Of Reflection」は、個人的に、本書の白眉というべき面白い章でした。前者は、著者が実際に作ったプロダクトでの経験から、I/Oのバッファリング、タイムアウト、シグナルハンドリングのような、システムプログラミングをする上で大事な内容について述べられています。後者は、GoのReflectionってこんなこともできるんだーとひたすら驚きながら読みました(パフォーマンス上の懸念もしっかり述べられています)。

    そんなわけで、Goについてひととおりの文法的事項はおぼえた(つもりだ)けど、実用的なツールやアプリケーションを書いていくにはどうしたら?という方が読むと、得るところがとても多いんじゃないかと思いました。オススメ。

    みんなのGo言語[現場で使える実践テクニック]

    みんなのGo言語[現場で使える実践テクニック]

    • 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太
    • 出版社/メーカー: 技術評論社
    • 発売日: 2016/09/09
    • メディア: Kindle版
    • この商品を含むブログを見る

    *1:『みんなのGo言語 – 現場で使える実践テクニック』p.3

  • 深町秋生・著『果てしなき渇き』

    ,

    果てしなき渇き (宝島社文庫)

    果てしなき渇き (宝島社文庫)

    その著者の名前が気になってはいたものの(はてなダイアリユーザでもあるし「深町秋生の新人日記」)、タイミングが合わなくてなんとなく読み逃していたのだったが、『果てしなき渇き』が文庫化されているのを書店で見つけ、ちょうど本を読む流れに穴が空いてもいた折り、うまいことすっぽり読み始めることができたのだが、読み始めたら最後、ひたすら主人公および物語のハイテンションな暴走ぶりにあてられて、一気に読了してしまった。
    元刑事の、いまは警備員をやっているいわくありげな中年男が、冒頭、いきなりぶち当たる殺人事件の凄惨ぶりが放つインパクトにのっけから心をつかまれるのだが、離婚した元妻からかかってきた電話により始まる、失踪した娘探しの道程は、若い女の子と白い結晶というからみの、それはそれでまぁアリなのかな的展開をみせるのかと思いきや、街のギャング、ヤクザ、県警、警察の内偵、フィクサー的実業家が入り乱れる盛り上がりぶり、そして、追跡の過程で明らかになっていく、娘の知られざる真の姿がかなりと迫真的で、先に述べた通り、巻を置くこと能わざる展開となる。
    また、主人公の魅力的とは到底いい難いキャラクタ造形も、異彩を放ちまくって、読む者の心を離さない。親とあれば多かれ少なかれそうであるのかもしれないけれど、元刑事という性質に輪をかけて、ほとんど気が違っているような偏執狂ぶり(刑事を辞職した原因が、妻の浮気相手を半殺しにしたことだとか、娘の友人に対する聴取が、話をうまく訊きだそうという配慮とはまるで無縁の、悪魔じみたやりくちであること等)が、睡眠不足と加えられた暴力とで朦朧とした身体に白いものをぶちこんで元気溌剌、それまで死にそうになっていたのが一転、通りがかった小学生に対してにこやかに手を振っちゃったりするコミカルな一面も見せつつ、一段とパワーアップしてあたり構わず突入していくブッコミ野郎ぶりに、思わず熱いものがわき上がるのを禁じ得ない。
    大人数が入り乱れての情報戦、凄惨な描写、絶望的な物語という点で、かつて同じように熱中した馳星周の『不夜城』を始めとする初期ノワール群を思い出すのだが、そのようなジャンルには全くもって通じていないのだから、勝手な類推はやめにしよう。それぞれに一途な思いが、一方では過剰なまでの熱さで、また一方では非情な冷酷さでもって暴走した結果、このようなひたすら熱中的な物語が産み出されたそのことに、ただただ呆然とするばかりだ。同著者による『ヒステリック・サバイバー』も、「筋肉バカvsオタク」との帯文の煽りがやや不穏な印象をもたらすものの、是非読んでみたいと思った。というか、いま、注文した。

    ヒステリック・サバイバー

    ヒステリック・サバイバー

  • 猪瀬直樹・著『作家の誕生』

    ,

    作家の誕生 (朝日新書48)

    作家の誕生 (朝日新書48)

    次期東京都副都知事に就任することになった猪瀬直樹氏による『作家の誕生』を読んだ。同名タイトルのNHK人間講座のテキストを加筆訂正したものということもあり平明な記述で、また、著者の文芸三部作(『ペルソナ 三島由紀夫伝』『ピカレスク 太宰治伝』『マガジン青春譜 川端康成大宅壮一』)を機会がなくて読んでいなかったので、初見のエピソードがたくさんあり、非常に楽しめた。
    タイトルにある「誕生」は、現代思想的な文脈でいう「作家の死」などという言葉とは全く関係なく、端的に、「作家」が経済的に職業として成り立つようになった過程を踏まえて語られている。明治の終わり頃には、そもそもマーケットが非常に狭かったため、作家専業では食えなかった。それが、雑誌や新聞の隆盛によるマーケットの拡大や、また、そのことがもたらした、本書では現在のネット文化と対比して語られる雑誌への投稿文化に見られる受容層の多様化により、作家が職業として経済的に成り立ちうるようになったわけだ。
    本書は、作家が「誕生」する過程において起きた諸現象、つまり、醜聞の社会現象化、夏目漱石朝日新聞社員としての作家活動、淡い恋に憧れを抱く一介の投稿少年としての川端康成、瀧田樗陰ら名物編集者が作っていった雑誌文化、菊池寛の生活者としての視点と商才溢れる活動ぶり、島田清次郎賀川豊彦といった作家による大ベストセラー小説の出現、円本による多くの作家たちのいまでは信じがたいほどの経済的成功等、できるだけ文学的な伝記性を廃しつつ、徹底して、経済的な面から作家という職業の歴史を綴っている。もちろん、他の著者に見られるような文学コミュニケーションの歴史を追う記述も面白いのだけど、個人的には、美しいことばかり書いてたって、それでどうやって生活するんだよ?という気分が強いので、本書のようなアプローチは願ったりかなったりだ。
    しかしだからこそ、太宰治三島由紀夫をそれぞれ扱った最終3章はやや退屈に感じた。太宰については、それぞれのエピソードは面白くはあるが、作家と経済という点では、彼は津軽の富豪の息子だったのであまり切実さは感じられないのだし、三島の章にいたっては、大蔵省を辞める辞めないのあたりは面白かったものの、かなり文学論の趣が強く、個人的にはいま読みたい文章ではなかった。
    本書のようなアプローチを取る本としては、日垣隆・著『売文生活』も面白い本だった。是非、合わせて読まれたい。

    売文生活 (ちくま新書)

    売文生活 (ちくま新書)