ツイスト

描主宇田川浩行K#F85E
上描き希哲12年(2018年)
01月18日 00:36
下描き希哲12年(2018年)
01月17日 08:34
利承
ライセンス
希哲館普通利承(KULクール

希哲12年1月17日デルンにおける分散型マイクロブログ互換の描出として定義。Twitter におけるツイートMastodon におけるツートに相当する。

将来的に変更の可能性があるが,現時点では Mastodon 互換で,文字数制限等もこれに準じる(500文字)。編集は可能とするが,性質上,マイクロブログに投稿されるのは最初のみ。

ツイストには「より合わせる」といった意味があるが,ストリング(ひも,文字列)にもかかっていて面白い。単に異なるサービスをより合わせるだけでなく,描出をより密接に結びつける効果もある。

一覧

=}{*}

よく木構造上位階層を「」と呼んだりするが,親は一つしかないわけで,これも考えてみると変な表現だな。自家受精なのか。

=}{*}

最近「コールバック」の翻訳語についてよく考えていて,いま試しに「呼縛」(こばく)を使ってみたのだが,悪くないな。音声的に一番それっぽいのと,字面的にも割と直感に適っている気がする。「束縛」という用語もあるし。

=}{*}

こういう函数引数設計について考える時,「目的の要素を目で追いやすいかどうか」を基準にするといい。時間を第一引数にするべきなのは,呼縛(コールバック)函数の後にすると,無名函数の終端を探さなければいけないから。これは明らかな設計ミス

=}{*}

JavaScript にある setTimeout()setInterval(),なぜ第二引数を時間にしたのか謎だ。明らかに読みにくい。というわけで,νS@dly()@itv() では第一引数に時間を指定するようにした。例:@dly( 1000, () => @log( '1秒後のログ出力' ) );

=}{*}

=}{*}

元来,こんなツールはバイナリ cp 一回だけで済むくらいが理想だし,そもそも余計な問題にとらわれないようにするためのツールなはずなのに余計で枝葉末節の知識ばかり増えていく。npm場筋パス)がどうだのこうだの,そんな知識,赤の他人の昨日の晩飯情報くらい要るか!

=}{*}

さっきも,Babel引装インストール)しようとしたら,node 絡みでハマって,一人でブチ切れてた。大体,「JS の変換駒手コマンド)が欲しい」というだけの素粒子よりも単純な要求のために,あれ入れてこれ入れて,設定書いて,作法に従って,その時点が何が「モダン」なんだかさっぱり分からない。むしろ一周まわって原始時代か!

=}{*}

これ,多分もの凄く性格を表しているのだと思う。もともと私は Slackware を長く使って LFS から独自ディストリを作り,C++ を改造して独自言語を作り,開発環境を完全に見通しの良いように作らないと気が済まない人間だったので,この手のブラックボックス系のツールってどうしても相性が悪い。

=}{*}

私がどうしようもなく頭に来ている時って,大体 Ruby とか Docker とか npm とか,この手のツールを使ってる時だ。何で単純な要求を複雑にするのか,という苛立ちが半端じゃない。

=}{*}

ダウンロード引装(インストール),必要最小限の環境設定,これが1分以内で出来るツールだけが「モダン」を名乗ってほしい。

=}{*}

Babel なんか,npm 依存は目を瞑るとしても,駒手(コマンド)一発で標準的な機能は使えるようにすればいいのに,と思う。いきなり最初の設定譜類(ファイル)はこう書きましょう,みたいな話が出てくる時点でダメ。

=}{*}

Babel もそうなのだが,「モダン」を称する技術ほど導入方法がモダンではないのは何故だろう。LFS を乗り越えた私でも,あれこれ駒手(コマンド)打たせて設定譜類書かせて,みたいなツールにはうんざりする。ちょっとしたツールのために3ステップ以上の導入作業をやらされると,モダンとは一体,という気分になってくる。

=}{*}

νS では async/awaitasy/awt,さらに async functionafn と書けるようにするか。

=}{*}

Aejs希哲社JavaScript ライブラリ)に Promises/A+ 風の実装を追加するのに熱中していたらこんな時間に……。というわけで一日一文は休み。

=}{*}

昨日のツイスト

https://kitetu.com/KNo.F85E/A-5B28-6031

一昨日のツイスト

https://kitetu.com/KNo.F85E/A-5B28-0D7E

=}{*}

言語は「知の血」だ。言語を蔑ろにするところには育たない。

=}{*}

昨日と今日の一日一文

プロトタイプをどう訳すか

https://kitetu.com/KNo.F85E/A-5B28-B7A5

イベントをどう訳すか

https://kitetu.com/KNo.F85E/A-5B28-5ECB

=}{*}

これ,冗談でも何でもなく,が動かなければいけないレベルの深刻な話なのだが,たぶん全く伝わっていない。

=}{*}

ちなみにこれ,希哲館訳語なら「原型立脚客体指向」と書ける。文字数にして二分の一以下。

=}{*}

例えば「プロトタイプベースオブジェクト指向」とか,自分で書いてて,いくらなんでも冗長過ぎないか,と疑問を感じそうなものなのだが,日本人は子供の頃から理不尽に耐える訓練を受けてしまっているので,まず疑問すら抱かない。

=}{*}{*}

=}{*}

カタカナ英語を一つ訳すたびに,これまで日本人がいかに自分たちの言葉で語ってこなかったかを痛感する。

=}{*}

ところで,JavaScript事象イベント)伝播には探索(キャプチャリング)過程発泡(バブリング)過程という謎の仕様があるが,これは昔の NetscapeIE実装を統合したものらしい。今知った。

=}{*}

暫定訳語は基本的に「無難」であることが重要なので,決定的な案が見つかるまでは「事象」にしておくか。

=}{*}

ここまで凝った訳語を考えておいてなんだが,論組プログラミング)におけるイベントは普通に「事象」でいいんじゃないか,という気がしてきた。余計な説明もいらないし,確率論での用例もあり,混同するほどこの分野で使われる言葉でもない。

=}{*}

=}{*}

有為転変無常)の異変であるからイベントは「為変」と訳す,ということにしておくか。

=}{*}

イベントの訳語に「」を使うなら,為変依変意変……どれもそれっぽいな。「因変」でも悪くないし。

=}{*}

ただ,「異変」というと異常事態という感じがしてしまうので,仏教用語の「有為転変」でも借用して「為変」とする,というのも洒落ている。

=}{*}

論組プログラミング)における「イベント」という概念,微妙に訳すのが難しいなと思っていたのだが,「異変」と訳せないこともないな。

=}{*}

そして,ある客体(オブジェクト)が類型クラス)や原型プロトタイプ)から派生したものである時,それを個体インスタンス)と呼ぶ。このあたりの希哲館訳語も大分熟れてきた。

=}{*}

本来は,こういう人が理性良識を持って大衆を宥めなくてはいけないのだが,残念ながら誘惑に負けて有権者の機嫌取りに走ってしまう弱い政治家が多い。彼が今の自民党の中でどこまでやっていけるかで日本の政治の健全度がある程度測れそう。

=}{*}

=}{*}

武井俊輔さん,最近の自民党では珍しい「良識派」だが,案の定,憎悪に駆られるネット右翼の目の敵にされてるな……。

=}{*}

=}{*}

アメリカ人Apple を作り,韓国人ソフトバンクを作り,日本人まとめサイトを作る。本当に,本当に,これで満足ですか,日本人のみなさん。

=}{*}

アメリカ人が作り,中国人韓国人が真似て,日本人が語る。これで満足ですか,日本人のみなさん。

=}{*}

=}{*}

そのかわり日本人が何をやっているかというと,「話題作り」だ。海外で流行っているものを適当に持ってきて何か新しいことをやっているような「お祭り騒ぎ」をする。廃れればまた流行っているものを持ってくる。これの繰り返し。頼むからそろそろ目覚めてくれ,日本人……。

=}{*}

これ,結構深刻な現象だなと思うのは,ソフトバンクLINE も,決して独創的企業製品ではないということ。本来,Apple は作れなくても SB のような企業は作れるのが日本人だったはず。独創力でも模倣力でも日本人の出る幕が無くなっている。

=}{*}

=}{*}

世界で戦う以前に,日本人が最もよく使うものが純日本製ではない,ってやっぱり日本人というか大和民族には何かが足りてない,ということだ。

=}{*}

昔から,ソフトバンクLINE韓国人が作ったもので,大和民族は世界で戦える情報技術をほとんど生み出せていない,と言ってきたが,最近の日韓関係でもう少しこの状況に危機感が生まれるかもしれない。

=}{*}

Windows,すぐに起動したい時に起動出来ない機能と,すぐに遮断シャットダウン)したい時に遮断出来ない機能があるの凄いな。

=}{希哲13年8月20日のツイスト}

=}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}

=}{*}

サッカーで喩えると,ゴールの10cm前にボールを置いて,キーパーには10メートル離れててもらった PK で得点出来なかった,というのに等しい。

=}{*}

これは野球で喩えると,高卒帰宅部野球未経験者がひょんなことから MLB デビューして年俸10億円と一流コーチの指導を受け50年間無条件で出場出来る権利を得たにもかかわらず生涯で一回もヒットを打てなかった,というのに等しい。

=}{*}

これだけ自分のやりたいように柔品(ソフトウェア)開発に専念出来る自由な環境を持った男というのは,これまで世界に存在してこなかった。それを考えると自分の無能さばかりが際立つ。

=}{*}{*}

=}{*}

アイデアあり,環境あり,時間あり,これ以上何が必要だと言うんだ……。能力と言われればそれまでだが。

=}{*}

あとは own 演算子の導入とか理想 DOM(Ideal DOM)における「仮想要素」の導入とか,面白いネタがあったのだが,思いのほか備立子ビルダー)が長くなったのでまたの機会に。

=}{*}

たまに「動的」「静的」って面白い用語だなと思う。何らかの性質が変化するかどうかを表現する抽象性の高さ。

=}{*}

そこで思いついたのが bld() だった。これは最初,血筋系統の意味を持つ〈blood〉の略として思いついて,〈build〉にかかることに気付いた。Builder パターンがあるように技術表現としても自然。これなら new foo.bld は「foo の系統(blood)で新しい個体を作る(build)」,instanceof foo.bld や is foo.bld は「foo の系統に属するかどうか」という意味でも読める。

=}{*}

例えば foo.self() とする,という案もあった。実体という意味が分かりやすくて良いと思ったのが,よく考えると new foo instanceof foo.self というのも不自然だ。νS だと instanceof は is と書くので,new foo is foo.self となってしまう。new foo は foo 自身を作るわけではない。

=}{*}

これ自体は,ある程度経験のある論組屋プログラマー)なら割と思いつくと思うのだが,難しかったのは,備立子(ビルダー)として自然で直感的な「名前」だ。というのも,JavaScript において構築子客体(オブジェクト)の合い所アイデンティティ)でもあるので,new foo が foo の個体インスタンス)を返さないと例えば new foo instanceof foo が成立しないわけだ。これをどう整合的に表現するか。

=}{*}

foo.bld()客体(オブジェクト)構築に徹することで,foo() はより広範で便宜的な機能を提供しやすくなる。つまり,foo() で客体の新規生成以上の機能を提供し,new foo() で新規生成に限定,さらにオーバーヘッドを避けたければ new foo.bld() と書く,と三段階の使い分けが出来る。「適当なことは適当に書け,厳密なことは厳密に書ける」という輪郭指向に即している。

=}{*}

JavaScript に詳しい人なら気付いたかもしれないが,foo.bld() における備立子(ビルダー)bld() は,foo() とは区別されつつ foo であるかのように振る舞う構築子コンストラクター)だ。これは,foo() を窓口のように使い,実際の客体(オブジェクト)構築ロジックを foo.bld() に凝集させることを可能にする。

=}{*}

まずは,構築子コンストラクター)の一種として「備立子」(ビルダー)というものを考えた。JavaScript のようなプロトタイプベース言語で,例えば foo.bld() が構築子として存在する時,これを客体オブジェクト)foo の備立子という。

=}{*}

昨日,Aejs/νS で面白い閃きがいくつかあったので簡単に解説してみるか。

=}{*}

言い換えれば,論組プログラミング)においてはインターフェイスこそが本質なのであって,実装は後付けでいいということ。

=}{*}

昨日から三浦祐太朗さんの『さよならの向う側』ばっかり聴いているな。まさに「さよならの向う側」な気分だからかもしれない。

=}{*}

昨日のツイスト

https://kitetu.com/KNo.F85E/A-5B28-DEDB

一昨日のツイスト

https://kitetu.com/KNo.F85E/A-5B28-498B

=}{*}

一番駄目なパターンは,どこを最適化すべきか定まっていないような状況で仮想 DOM 的なものをなんとなく導入して結局オーバーヘッドを作っているというやつ。

=}{*}

仮想 DOM が流行りだした時,関心の分離の観点から,それってブラウザが担当すべき最適化なんじゃ,と思った人は鋭い。優れた設計者ならあれを「気持ち悪い」と感じるのが普通。

=}{*}

=}{*}

まあ,言語ライブラリを開発しながらサービス開発をするという後縁バックエンド)では当たり前にやってきた荒業前縁フロントエンド)では期待ほど快調ではない,というのがどれだけ悲観的になるべきことなのかはよく分からん。

=}{*}

ただ,JavaScript 改良言語 νS(ニューズ)とライブラリ Aejs(イージス)はここ一週間で劇的に発展した。これがもっと早くデルンデライトに反映してくれれば良かったのだが……。

=}{*}

上手くいっていないこともないが,もっとサクサク行けると思っていた。現実は泥沼を何とか進んでいるという感じ。大理腑リファクタリング),大最適化奇跡的に上手く行き過ぎたんだろうな。

=}{*}

正直,前縁フロントエンド)をなめていた。 をはじめ後縁バックエンド)の成功体験にとらわれ過ぎていたのかもしれない。

=}{*}

=}{*}

『さよならの向う側』って,山口百恵さんのイメージがあるから女性のような気がするが,実は直接女性的な表現のある歌詞ではないから男性にも歌いやすい。「支えてくれたのはあなたでした」という一節があるがように,昭和歌謡にありがちな男性の陰に立つ女性の歌ではない。

=}{*}

三浦祐太朗さんの『さよならの向う側』,これはただの焼き直しの域を越えているな。もっと聴かれるべき。

=}{*}

=}{*}

ぶっちゃけ,「業界の常識」も「最新の技術」も,全部無視してこれまでにない最高のものが作れるなら,それらは無意味だったということだ。HSP で世界一の企業が作れたらそれが正義。常識流行は捉えても囚われるな。

=}{*}

日本で行われている技術論には,「目的」か「実践」のいずれかが欠けていることが多い。目的が欠けていると模倣に過ぎなくなり,実践に欠けていると机上の空論に過ぎなくなる。「最新の技術」を熱心に勉強しているのは良いのだが,それでどんな新しいことを実現したいのか,と問われると何も出てこない。

=}{*}

技術というのは手段なので,その最も確かな評価基準は,目的に対する貢献度だ。日本の情技(IT)業界の問題は,「無目的」なことにある。実現したいことのために技術を選ぶというより,皆が使っているから,流行っているから,が先に来てしまう。

=}{*}

残念ながら,人類はいまだに「美しい柔品ソフトウェア)」というものを作れていない。柔品は人間の思想を反映するもの。錯乱していない人間がいないのだから,錯乱していない柔品もない。

=}{*}

GAFAM のように金も人材も有り余っていそうな企業でも,柔品ソフトウェア)となると微妙で不細工な製品が多い。柔品開発というのは,多くの人が想像しているよりずっと重い,「重知業」なのだ。

=}{*}

それが腹の立つ Windows であれ単純そうな Twitter であれ,使われ続けている柔品ソフトウェア)はみんなそれなりに作るのが難しいもの,ということを知らないと柔品開発は難しい。

=}{*}

戦争を助長するいかなる動きも許してはいけないというのも,戦争になった時に身を守れる強さが必要というのも,どちらも部分的には正しいし,どちらも本来は良心から来る考え方のはずだ。間違っているのは,視点が少し違うだけのことで,お互い憎み合ってしまっていること。それを調停し新しい段階に導くのが知識人の役割なのだが,それも壊滅しているという。

=}{*}

あいちトリエンナーレ2019騒動で,関係者にしつこく「謝罪」を求めている人が韓国に対して「いつまで謝罪すればいいんだ」と言っているのを見ると,これが人間だなあ,という感じがする。

出力論組プログラム虎哲*イチ 1.01
制作・運営:希哲社
© K1-13 (2007-2019) KiTetuSha