HN🔥 181
💬 115

なぜソフトウェアは「Emacs化」していくのか?拡張性とカスタマイズの深淵

rdslw
約21時間前

ディスカッション (11件)

0
rdslwOP🔥 181
約21時間前

近年のソフトウェア開発において、あらゆるアプリケーションが極限まで拡張性を追求し、最終的にEmacsのような複雑でカスタマイズ可能な「環境」へと変貌を遂げようとする現象が見られます。なぜ多くのツールがプラグイン地獄や設定ファイルの迷宮へと足を踏み入れるのか。その背景にある哲学と、現代の開発者が直面する「Emacs化」の波について考察します。

1
simoesd
約14時間前

記事の趣旨はスタンドアローンなソフトウェアを作ることにあるのは分かってるんだけど、私が普段使いするワークフローツールを選ぶ上で一番大事にしているのが「拡張性」なんだよね。Neovimのプラグインをとりあえず入れてみて、自分に必要なのか見極めて、もし必要なら自分のメンタルモデルに完全にフィットするように自分専用に作り変える。余計な飾りを付け足して、個人的に不要な機能は削ぎ落とす。それにサプライチェーンの問題も気にしなくて済むようになるしね。何年もかけて、使い始めた頃のプラグインの9割を入れ替えてきたよ。おまけに『NIH(Not Invented Here:他所で作られたものは使わない)症候群』的な面倒な症状からも解放されて気分がいい。

2
applfanboysbgon
約10時間前

著者はここで大きなチャンスを逃してる気がする。「The Emacsulation of Software(ソフトウェアのエマクス化)」ってタイトルにするべきだったのでは。

3
shaokind
約10時間前

LLMの時代になってから、自分用のソフトウェア[0]をガッツリ作るようになったよ。でも正直なところ、Emacsを使ってた時間は「個人用ソフトウェアの構築」を教えてくれたわけじゃないんだ。私のEmacs環境はめちゃくちゃ壊れやすくて、WindowsとmacOSで併用しようとすると悪夢だった。大学のプロジェクトをorg-modeと何らかのワークフローの邪悪な組み合わせで書いて綺麗なLaTeXファイルにしたけど、今それを再コンパイルする方法なんて全く分からないよ(もしやるならLLMに直接LaTeXへ翻訳させるだろうね)。私はできるだけメンテナンスの少ない人生を送りたいんだ。何でもかんでも自作ソフトで済ませるのは、その目的に必ずしも合致するとは限らないよ。[0]: インストールに20分もかかるのが気に食わなくて、NETFXアプリをRustで書き直したもの: https://github.com/bevan-philip/wlan-optimizer

4
SoftTalker
約10時間前

「個人用ソフトウェア」、つまり自分のために書くプログラムというのは、1960年代のホームコンピューティングの当初のビジョンだったんだ。当時はPCの存在まで予測できていなかったけど、誰もが自宅にコンピュータ端末を持っていて、必要なプログラムを自分で書くという未来が思い描かれていた。プログラミングは誰でも習得できるほど簡単になるだろうと考えられていたんだ。まだそこには至っていないけど、LLMのおかげでその未来に近づいてきているね。

5
morpheuskafka
約9時間前

この記事は、LLMによるコーディングがもたらす、まだ実現していない変革の一つを予感させているね。ついにElectronやReact Nativeを捨てて、Figmaやワイヤーフレーム、仕様書をLLMに自動変換させて各プラットフォーム向けのネイティブアプリを作れるようになるんじゃないか?CRUDアプリなら、API仕様とUIモックアップ、あるいは既にコーディング済みのプラットフォームの見た目のスクリーンショットさえあれば十分でしょ。これはまさにLLMが得意とする定義されたタスクだよ。等価性テストの大部分を自動化することも可能なはず。もう「Android対応はいつかそのうち」とか「Mac/Linuxユーザーが少ない」なんて言い訳は通用しないんじゃない?WebViewを適当に貼り付けるんじゃなくて、パスワードリセットのようなあまり使われないフローをiOSアプリにちゃんと実装しない理由ももうなくなるよね。端末上でそれなりのロジックを動かすアプリに関しても、GoやRustといったクロスコンパイルが容易な言語への書き換えにおいて、LLMは大きな可能性を見せているよ。

6
dang
約8時間前

これ、本当にその通りで、話を聞いてくれる人には誰にでも言い続けてきたことなんだ(いまさら引用元がないのが恥ずかしいけどね。まあいいや、書くためには恥も必要だし、嫉妬もね!)。ソフトウェア制作があまりに簡単になりすぎて、今や全てが.emacsファイル(ちなみに「ドット・エマックス」と読むよ)になった感じだね。つまり、誰もが自分だけの完全にパーソナルで、際限なくカスタマイズ可能なソフトウェアの繭の中にいるんだ。元記事のtptacekが言うように、「既存のソリューションをインストールするよりも自作する方が簡単」になっているんだよ。似たような例えで、Lispがよく挙げられるのも偶然じゃない。Lispに対する古典的な批判――私は同意したことないけどね――は、マクロのせいでプログラマが自分専用の言語を作ってしまい、誰にも読めなくなるというものだった。これに関連して、2007年のMark Tarverの記事「The Bipolar Lisp Programmer」が長年議論されてきた。彼は「天才的な双極性障害の心(BBM)」について書いているんだけど、今の「AI精神病」なんて言葉がよく使われる状況と重なっていて面白いね。要は、ソフトウェア制作が簡単になると、消費がボトルネックになり、共有が問題になる。だからEmacsの例えが秀逸なんだ。 .emacsファイルは指紋と同じくらい個人的なもの。断片をコピーすることはあっても、他人の設定をそのまま使おうなんて思わないだろう?(初心者として使い始める時以外はね)。結局自分で作るのが一番なんだ。こうしてカスタマイズされた繭は、他人には理解しがたいし、そもそも理解しようとも思わなくなる。自分専用を生成できるなら、他人の繭を学ぶための認知的コストを払う意味がないからね。それに、他人の服を着るみたいに居心地も悪い。生産が簡単になると、チームワークはどうなるのか?もし私たちが皆BBM(あるいは、自分専用のBBMの軍隊を抱えているとしたら)、どうやって協力し合うんだ?繭同士はどうやって通信し、相互運用する?AIソリシスト(独我論者)のチームなんて、矛盾しているように聞こえるね。多くのスタートアップがこの問題に直面しているはずだけど、公に議論されることはまだ少ない。みんな義務的なスタンディングオベーションの中で、誰よりも先に拍手を止めて座ることを怖がっているんだ。でも、ダウンサイドを語れないのは残念だよ。AIがソフト開発に価値がないと言っているわけじゃない。バグが増えるとか、生産性がどこかで頭打ちになるとか、そういうことを語る方が健全じゃないかな。とりあえず、何が起きているのか知りたいし、みんながどう対処しているのか興味があるよ。

7
tptacek
約5時間前

今やほとんどがパッケージ化されたプロ仕様のソフトばかりだけど、そろそろナードが本来の領域を取り戻すべきだと思うんだ。ポッドキャストアプリ、音楽再生、フィードリーダー、Blueskyクライアント、メモ帳、ブックマーク管理、チャットツール、タイムトラッカー、レシピ管理など。これらはClaudeを使えば、世界最高とは言わないまでも、自分個人のユニークなワークスタイルに完璧にフィットしたツールが作れるものばかりだ。Music.appなんて今の体験は最悪だしね。AppleはもうMusicKitに中身を移しちゃったから、今使っているMusic.appはただの器に過ぎないんだ。これは新しい状況だね。

8
monk_grilla
約4時間前

vim README.md で十分だっていうのは私だけじゃないはず。等幅フォントが制限だなんて思ったことは一度もなくて、むしろ好んで使っているよ。カラー表示も快適だし、素早く内容を把握するにはそれで十分。目次が役に立つのは分かるかな。:Toc がまだ存在しないなら、作るべきかもね。

9
ngriffiths
約3時間前

うわ、これはソフトウェアやLLMとの付き合い方を根本から変えるね。アイデアを共有したり、アマチュアがリミックスしたり、自分や友達のために変なツールをセットアップしたりするのがすごく簡単になった。以前は膨大な時間と専門知識が必要だったことが、今では誰でも手軽にできるようになったんだね。

10
Pelllegrini
約3時間前

私はただSilverbulletmdを使っているよ...