Twitterで話題になっていたのだが、Turbo 8っていうライブラリ(Star 5.4k)がTypeScriptの記述を廃してバニラなJavaScriptの実装になったんだそうな。

Turbo 8 is dropping TypeScript (hey.com)魚拓

まぁ読んでて色々言えるんだけど、Turbo 8にも色々な事情があったんでしょう。

◆プルリク

どれどれと思って実際のプルリクを見に行ったのだが、変更内容が実におかしい。シラフでpushしたとは思えない。そもそも一発で為せる作業量ではないだろ。

Remove TypeScript by afcapel · Pull Request #971 · hotwired/turbo · GitHub魚拓

なんか…精神を病んでんのかな。違法薬物をキメてるっぽいコミットログしてるわ。手元でdiffも見ずに赤ちゃんみたいなプルリク作ってる。粗末。一発目のリネームだけのコミットからして精神状態を疑う。

Twitterで「支持する」みたいな書いてる開発者もいたけどよ。現物を見たのか?このプルリクを見たうえで支持出来るんなら倫理観が無さ過ぎちゃってる。

  • コミュニティへの通達無し
  • JSDocへの乗り換え一切なし
  • テストの素朴な誤編集も発見できず

こんなん有り得ませんわね。末期の独裁者だよ。「優しい終身の独裁者たれ」って言ってたんです。こんなブチギレアヘ顔ガンギマージはインターネット広しと言えどそうそうお目にかかれんぜ。

これは流石に受け入れられんだろうと思ってConversation見に行ったらもう凄い燃えている。叩かれまくりの煽られまくり。そらそうよね。

このクソ低レベルなお話にならんプルリクに対してvfonicって人が真面目にレビューコメント書いていて涙ぐましい。マージ後なのに。

https://github.com/hotwired/turbo/pull/971#pullrequestreview-1613489798

EDIT: This change here seems to make tests fail:

いやぁ。

vfonicの諸々の指摘はおっしゃる通りである。コメントへの返信は大喜利大会みたいになってるし、プルリク作った張本人はレビューをガン無視。ほんまヤバい。あたおか。

型はドキュメントでありテストなんです。TypeScriptという守護神を、取り除くにしてもあんな雑にしたらいかんわ。

◆やばポイント

お゛っ💓ん゛っ💓やっばぁ💖💖あっ!イッグ!!!💖💖💖

レビュー指摘にあるけど、静的なstring内の「as a」やら「as before」っていう部分が消し込まれている。Grepして一括変換かけたんだろうか。俺も社会人一年目に鼻クソほじりながら同じようなミスしてSubversionにコミットしたことあります。ありますあります。ありますねぇ!

そもそも、今Turbo 8に届いてるプルリクは当然ながらTypeScriptで書かれてるからコンフリ解消しないとマージなんてできないわ。コントリビューターを何だと思ってるんだろうか。

サクっとPrettierを削除しているのもポイント高い。削除するのは良いんだけど、フォローが無い。機械的なレギュレーションを消滅させただけ。やべぇ。こわい。

Nobody is talking about the removal of Prettier in this PR. Now we can get back to the glorious spirt of writing code in a way that matches our personal aesthetics, free from the dogmatic opinions of code formatters!

和訳:このPRでは、Prettierの削除については誰も触れていない。これで我々は、コードフォーマッターの独断的な意見から解放され、個人の美学に合った方法でコードを書くという輝かしい精神に戻ることができる!

riley-worthington commented

皮肉が痛烈すぎて笑みがこぼれる。美学でコード書きはじめたら終わりよ。俺もPrettierが好きってことは無いけど、無いと多人数での開発は厳しい。

TypeScriptもPrettierもフォローなく消し込むのは判断としてはほぼ完全に間違ってるんで、技術的な指摘についてはプルリクのコメントを参照されたし。段階的にTypeScriptを落とすアイデアについても提言されている。

This looks like political activism more than a thought through decision.

和訳:これは熟慮の末の決断というより、政治活動のように見える。

anri-asaturov commented

そうね。民主主義っていうか共産圏で観察されたような感情的かつ一面的な演説と、合意形成プロセス軽視の独裁だ。反TypeScript思想を論理的に擁護できなくなって煮詰まっていった末に溢れでた断末魔のようにも見える。

ワクチンは絶対に良くないと自分は思いたいのに世界がそうなってくれない。悲しい。ALPS処理水は汚染水でなくてはならないのに科学的に無害すぎる。悔しい。対話したら負けるのは目に見えてる。自分が間違ってるから原理的に誰も説得しきれない。じゃあ叫んだり暴れたりするしかないわ。

政治思想に基づいて極端な反社会的行動をしてしまう人間がTypeScriptを嫌悪しているという事実は、TypeScriptを支持している立場からしたら安心材料たりえるかもね。反ワクチンに生まれなくて良かった。父さん母さんありがとう。

This is great, thank you! With types gone, I look forward to the removal of other bloat in the codebase like changelogs, tests, and comments. All of this for years wasted valuable developer time which I can now spend reading ironic GitHub comments.

和訳:これは素晴らしいことだ!型がなくなったことで、変更履歴やテスト、コメントといったコードベース内の他の肥大化したものが取り除かれるのを楽しみにしている。何年もの間、これらすべてが貴重な開発者の時間を浪費していたが、今は皮肉なGitHubのコメントを読むことに費やせる。

gagik commented

ほんまに。コメントとかテストも取り除かないと話が合わなくなってくる。いや、テスト可能なコードを書く努力とかそもそもしてこなかったんだろうか。テスト可能なコードを設計するのと同じように、TypeScript可能なコードを設計するのが正しい道だ。一定規模のコードベースの静的解析にかけては人間より機械のほうが速くて安くて正しい。機械に静的解析させづらいコードは人間が読んでも理解できない。型をサボれば実行時エラーを引き起こす曖昧さが残る。あたりめーだ。

◆反抗

Add TypeScript by t3dotgg · Pull Request #972 · hotwired/turbo · GitHub

コメントから喧嘩売りまくってて笑える。考えられん数のLGTMとapprovedの嵐を浴びながら無情なるrejectで無事死亡。

妙なサイト作っていてそれも笑える。

Turbo 8 is dropping JavaScript (evilhey.com)魚拓

もとのブログと同じスタイリングで真逆のことを書いてる。このためにドメイン取ったんか。

お祭りっすね。

以下のプルリクも非常に味わい深い。ギャグセンス高すぎ。

Remove Turbo by TheCactusBlue · Pull Request #974 · hotwired/turbo · GitHub

It’s past 15 min.

Can we get it merged?

mauricioklein commented

草が生えるんよ。

とはいえ、こういう煽りでは物事は解決しないだろう。無理筋な我儘を言って暴れている人間をgithubやTwitterで煽り倒しても、相手はより孤立して頑なになるだけだ。物事を見通せず極端な行動をとる人に正論を言っても伝わるはずがない。救えない。

microsoft/TypeScriptのリポジトリにremove TypeScriptのプルリク発射した奴もいるし。

remove typescript by DarrenBaldwin07 · Pull Request #55655 · microsoft/TypeScript · GitHub

個人的には笑ったけど迷惑なのは迷惑ね。その場のノリを輸出してはいけない。いやでもBotにボコられてるのは面白い。

◆結

なんにせよ、いいもん見た。ありがとう。ありがとうインターネット。