エマックス、私がそれに触れ始めた頃の話

2026/06/16 0:32

エマックス、私がそれに触れ始めた頃の話

RSS: https://news.ycombinator.com/rss

要約

日本語訳:

変更の必要はありません;元の要約は、すべての主要なポイントを効果的に統合しながら、明確さと流れを維持しています。

最終出力:

まとめ:

この文章では、エマクスをプログラミングツールとして深層で好むことはイデオロギーによるものではなく、実用的有用性と筋記憶に基づいていると論じています。この旅は、限られたウィンドウズ機能と複雑な設定タスクへの初期の苦難が著者を Linux へ導いたことからはじまりました。現在では人道的利便性を提供する現代的な統合開発環境(IDE)とは対照的に、ユーザーは高度なツールである LSP が存在する前に多様な言語に対して堅牢なネイティブサポートを提供している点でエマクスが優れていることに気づきました。著者は SciTE、Eclipse、IntelliJ、Visual Studio などの多くのプラットフォームを試みましたが、特定のプログラミング環境を効果的に処理する能力のために常にエマクスに戻りました。その結果、開発者は現在、カスタムパッケージを維持し、より簡単な代替手段へ移行するのではなく確立された習慣に依存しています。専門分野において、このツールへの忠誠は OCaml に対する好みに一致しており、エディタの複雑な設定を学ぶために大幅な初期投資を行うことが長期的なコミットメントを生み出すことを示唆しています。結局のところ、この物語は、技術的な課題を早期に克服することが、真剣な開発作業のために直近の使いやすさを上回ることを示しています。

本文

なぜ著者は Emacs を選んだのか:歴史的経緯と実践的選択

はじめに

プログラミング言語やテーマについては意見が分かれますが、古くからある「エディタ戦争」に対しては感情的な対立を抱いていません。 以前は Emacs を擁護しましたが、当初は Vi または Vim に精通しておらず、この選択には実用的・歴史的な背景があります。

  • 本記事は政治的な主張ではなく、実用的な事情を概説するものです。
  • 他のエディタ(Visual Studio Code など)への否定的感情はありません。フリーソフトウェアを好みますが、GNU 系やライセンス問題については専門知識が不足しています。
  • 私のケースを一般的な議論への挑戦として読まないようあらかじめご了承ください。

1. 先史時代:初心者が辿った道

独学でプログラミングの世界に足を踏み入れた初期には、多くの困難と誤解がありました。

Microsoft Word でコードを書く

  • PHP の学習を開始した当時は、安定したネット環境もインストール権限もなく、書籍のみを頼りにしていました。
  • 参考書の序論に「どのテキストエディタでも可」とあり、若さゆえにテキストエディタとリッチテキストエディタの決定的な違いを理解せず、Word を採用しました。

EasyPHP・メモ帳・Notepad++ の時代

  • コードを実行できるようになり初めての違いを理解しましたが、構文強調やインデント保持の重要性は直後に気づきました。
  • 野心的になり遂に**Notepad++**に出会ったことは大きな転換点(悟りの瞬間)でした。
  • その後、SciTE や Eclipse を試行錯誤した後、Sublime Text に乗り換えました。その時は「これが生涯のエディタ」と信じていましたが……

Le Site du Zorro: 言語の多様性と代替手段

  • PHP から本格的なプログラミングへの興味を広げ、Le Site du Zéroというサイト(※注:原文は Zorro と表記されていますが、文脈より OCaml エコシステムの site を指す可能性あり)へ。
  • ここでは OCaml, Erlang, Haskell, Lisp などの多様な言語に接し、言語の広がりを実感しました。
  • 当初は狭量な知識しか持ちませんでしたが、15 年を超えた今、これらの代替言語で仕事をすることを通じ、純粋な好奇心が専門職へと繋がりました。

可能な限りのプログラミング言語の実験

  • 「プログラミング言語の一覧」ページを辿り、Brainfuck などを含め各言語のコンパイラ/インタプリターを実装する実験を行いました。
  • 現実的なユースケースから外れた言語(HAL/S など)も視野に入れましたが、実用性を重視しつつ探索しました。

Emacs の救援と Windows 環境からの脱却

  • Adobe Creative Suite を多用する Windows 環境では開発環境が制限的でした。
  • その当時、LSP や TreeSitter のような標準化プロトコルはまだ成熟していなかったため、Emacs は事実上の標準であり、あらゆる言語モードに対応していました。
  • 唯一の困難は Windows の
    $PATH
    管理など環境設定への慣れです。
  • 数度の試行錯誤を経て、Windows から Linux ディストリビューションへ移行し、最終的に Windows パーティションを削除して**「良い Linux ユーザー」**へと転換しました。

2. まとめ:なぜ Emacs を継続するのか

ある意味で滑稽な軌跡ですが、最初の商用 OS 上で採用したフリーソフトウェアから、より自由な方向へ移行し、Emacs に固執するようになりました。

  • 習慣と慣習: Emacs で数年間深く使用することで、効率的な活用方法をマスターしました。
  • 学習の継続: パッケージ維持や汎用的な構成構築など、現在は能動的に情報を追従しています。
  • 他エディタとの関係: IntelliJ や Visual Studio へ一時的に分岐する場面もありましたが、習慣により常に Emacs に帰結します(「筋肉記憶」と呼べます)。

結論として、この ad hoc な選択には全く後悔しておりません。 私は Emacs ユーザーです!

同じ日のほかのニュース

一覧に戻る →

2026/06/19 3:31

私は彼らに強制的同意は違法だと告げた。その結果、5年後エルクヨプは 180 万ユーロの損失を負った。

## Japanese 翻訳: 2021年7月、Elgiganten Kundklubb に加入後、著者はマーケティングメールからの脱退に際し、店舗会員の全キャンセルが必要となることを発見しました。この問題は、2021年7月30日に Elkjop のデータ保護官に通知され、GDPR 第 4 条 (11) 、第 7 条および第 21 条 (2)、また電子プライバシー指令への違反を指摘しました。Elkjop が同意と会籍の分離を拒否した際、著者は処理制限の要請(第 18 条)および開示請求(第 15 条)を提出することで対応をエスカレートさせました。その後、スウェーデン当局 (IMY) に提出された苦情(参照番号 DI-2021-6660)は、GDPR 第 56 条 (1) のワンストップ・ショップ規則に基づき、Elkjop Nordic AS がノルウェーに拠点を有することから、ノルウェーの Datatilsynet に移管されました。 2026年6月1日、Datatilsynet は Elkjop グループに対して 2,000 万ノルウェークローナ(約 180 万ユーロ)の制裁金を科しました。決定では、同意が強制されたものかつ非具体的であるため無効と認定され、GDPR 第 6 条 (4) の適合性評価に準拠せずに広告およびコンバージョン追跡のためにデータを利用したことは承認されていないと指摘されました。裁判所は GDPR 第 4 条 (11)、第 5 条 (1)(a)、第 5 条 (2)、第 6 条 (1)(a)、第 6 条 (1)(f) および第 6 条 (4) を引用しました。 著者は、この決定を GDPRhub を通じて初めて約五年後に発見し、IMY に対して苦情通知を行わなかったことについて(第 77 条 (2) )問い合わせを実施しており、五営業日以内に回答を求める旨を求めています。未解決の場合は Elkjop グループに対する民事訴訟を検討し、欧州委員会へのエスカレーションを行う可能性があります。この事例は重要な先例を示しています:企業は必須サービスに対して強制的な「オプトイン」条件を用いて、厳格な GDPR 同意要件を回避することはできません。

2026/06/18 20:45

トロージャンマルウェアの配布用に 1 万カ所の GitHub リポジトリを発見しました

## Japanese Translation: 数値のニュアンス、具体的なファイル形式、および著者がツールをリリースする能動的な役割に関する微妙な点を捉えるために、改善されたバージョンの使用が推奨されます。 **改善されたサマリー:** 2026 年 6 月時点での GitHub マルウェア分散に関する故事への最近の更新は、フォークではなく新しいリポジトリを利用してトロイの木馬マルウェアを分散させる高度なキャンペーンを明らかにしています。攻撃者は明確なパターンに従います:独自の名称とコントリビューターを持つリポジトリを作成し、合法的なプロジェクトからコミット履歴を複製して元の履歴を消去し、README に悪意のある ZIP アーカイブへのリンクで置換します。これらのアーカイブは特定の可执行ファイル(例:`Application.cmd`、`Launcher.cmd`、`loader.exe`)およびランダムな DLL を含んでおり、特に VirusTotal の直接リンクスキャンでは通常クリーンな結果が返される一方、アーカイブファイル自体をスキャンするとトロイの木馬が検出されます。以前の調査では、日間のリポジトリ更新の約 10% が数ヶ月または数年間継続する悪意ある脅威であることが特定されましたが、GitHub の手動報告プロセスは当初、応答期間が週間単位に及ぶため非効率的でした。この問題を解決するために著者は「Git Malware Finder」というスクリプトをリリースし、特定されたリポジトリの完全なリストを公開しました。最近、GitHub はこのツールでフラグ付けされたリポジトリを自動的に削除し始めており、既知のケースの大部分を排除しています。ただし、なぜ検出が現在主に新しいリポジトリに限られているか、キャンペーンの実際の規模と確認された一致との違い、そして検索インデックスおよび検出アルゴリズムから回避するために使用される具体的な戦術についてはまだ未解明な点が残っています。

2026/06/16 7:36

アメリカン・エキスプレス:回復性決済システムのためのセルベースアーキテクチャ

## 日本語訳: American Express は、2018 年以来、その決済エコシステムを、アーキテクチャに直接リゼリアンス(回復力)を組み込むことで強化し、取引の失敗がシステム全体に影響を与えることを極めて稀にするようにしています。核心となる革新は、「セルベース」設計であり、これはマイクロサービスとデータベースを特定の地域内で複数エリアにまたがることなく、それぞれが一つの障害ドメインとして機能するように、孤立した単位である「セル」にグループ化したものです。このアプローチは、不安定なモノリシック構造を、数百万件の日次ライブ取引を確実に処理する堅牢で自律的なインスタンスに置き換えます。速度の向上と隔離の確保のため、同期的ルックアップを避けるために静的データは事前に複製され、動的データについては Global Transaction Router が決定論的ルーティングを使用して、権威のあるデータを保持するセルへのトラフィックを誘導します。ログ記録などのクリティカルパス依存関係は非同期に保たれ、ブロッキングを防ぎます。また、安全な再試行のために一意の識別子を通じて冪等性を維持しています。システムには、不安定になっているセルを漸次的にドレインして健康なセルへトラフィックをシフトさせるインテリジェントなトラフィックシフティングのメカニズムが含まれており、これにより急激な障害なしに処理が行われます。ただし、このリゼリアンスには限界があり、取引が外部システム(例:カード発行会社)に到達した時点で、「戻れない点」に達し、それ以降はルーティングの変更が不可能となります。最終的に、この戦略はエラーを局所的境界内に収容することで安定したユーザー体験を保証し、要求の厳しい金融環境でハイアベイラビリティシステムを拡張するための実証済みブループリントを提供します。