IDEのノスタルジア(2022)

2026/08/15 7:30

IDEのノスタルジア(2022)

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

要約

Japanese Translation:

本記事は、1972 年に SRI インターナショナルのメンドーパーク実験室で開発された統合開発環境である自然言語システム(NLS)を検討している。その NLS は、1MHz の PDP-10 で動作し、メモリ容量は 1MB だった。その核心的な革新点は、ドグラス・エンゲルバートのマウス(1967 年に特許登録)と専用 5 キーのコード入力キーボード(「キーセット」)を組み合わせたモーダルエディタ方式によるものであり、このキーセットは標準的なキーボードを置換するものではなく、片手でのコマンド入力を目的として 1860 年代に特許化されたものである。NLS は動詞 > 名詞のコマンド構造を採用しており、動詞(コピー、削除、ジャンプなど)はキーセットのコード入力を通じて、名詞(文字、文、リンクなど)はマウスでターゲットが指定される。その動的ビューシステム(Viewspecs)では、単一文字のコード入力コマンド(追加のケースにはマウスシフト変種を用いる)によって階層ファイルのオンザフライでの折りたたみ、フィルタリング、展開、フォーマットが可能であった。キーセットはバイナリ符号化を採用し、5 キーで 31 種類の文字コードをマッピングすることができ、例えば 'y' = 'x' + 1 のようにした。NLS はまた、プログラマーが従来のファイルシステムではなくハイパーリンクされた構造を通じて自身のソースコードを編集できるようにすることで、自己ブートストラップを実行した。エンゲルバートのマウスとハイパーテキストの概念は、1968 年の「すべてのデモの母」で実演され、それにはオシロスコープベースのディスプレイ上でのリアルタイム共同エディタリングやハイパーメディア電子メールも含まれていた。Xerox PARC の Alto(1973 年)はチャック・サッカーによって設計され、SRI から移籍したエンジニアがマウスとコード入力キーセットの両方を搭載したが、その後の大部分のソフトウェアは紙のエミュレーションに基づく WYSIWYG パラダイムへと移行していった。エンゲルバートのマウスの特許は 1984 年に失効し、これは初代 Apple マッキントッシュの登場時期と重なっていた。記事では、NLS スタイルのモーダルエディタリング(動詞・名詞マトリックスとビュースペックフィルタを通じて)が、今日では VS Code などの現代エディタ向けのプラグインとして復活させられる可能性を指摘しており、この取り組みには新しいハードウェア、例えば 3D プリンティングで製作されたコード入力パッドによるサポートを含み、GUI の移行によって失われた高速なナビゲーション能力を取り戻すことを目指している。

Missing elements (if any):

None remaining after the revision; all major factual details from the Key Points List are now reflected in the summary.

Inferences / leaps (if any):

None; the improved summary stays within the scope and certainty level of the original text, presenting suggestions as suggestions rather than established facts.

Improved summary (if needed; otherwise repeat the original):

上記の「Improved summary」を参照のこと。

本文

50 年先の遺産:NLS とその革新技術

序論:ドゥーグ・エンゲルバート氏の先見性

1972 年に構築された高性能ユーザーインターフェースを開発したのは、スタンフォード研究所(SRI)附属の「Augmentation Research Center(ARC)」で活躍したドゥーグ・エンゲルバート氏とそのチームです。

彼らは当時としては画期的な50 年前の装置を用いて、現代の統合開発環境(IDE)の概念を先取りしました。現在なおも評価されるこの遺産は、以下の要素によって成り立っています:

  • 飛躍的な知恵: 限られたリソースで最大限の機能を実現する技術的洞察。
  • 歴史的功績: 「NLS(oNLine System)」というシステムを完成させた実績。

NLS システム:1972 年の先駆者的プラットフォーム

システム構成

カリフォルニア州メンドーパークの SRI ARC で稼働した**NLS(oNLine System)**は、以下の特徴を持っていました:

  • ホスト: 1MHz の PDP-10 コンピュータ。
  • メモリ: 実装メモリと仮想メモリの合計で 1MB。
  • 評価: 当時のコードエディタの中で最も流暢かつ効率的なものの一つ。

革新的な入力方式の確立

エンゲルバート氏は、単なるキーボードではなくマウスとキーセット(5 キーボード)を併用する画期的な手法を開発しました:

  • 特許の歴史:
    • マウスについては SRI により特許取得。
    • キーセットは 1860 年代に電信機としてすでに特許化された技術を応用。
  • 機能性:
    • 5 キー構成のキーボードを採用。
    • ユーザーは単音(例:'c' がコピー)またはコード入力(chords)でモーダルなコマンドを実行。

キーセットとマウスの哲学的統合

キーセットはフルキーボードの代替ではなく、補完的な役割を果たしました。この併用により以下の利点が生まれました:

  • 効率性の最大化: 片手で編集/コマンド入力、他方で情報空間の探検を行う。
  • 視線の固定: ダイナミックなビューから目を離さずに入力できる。
  • ブートストラッピング: 自身が開発した NLS を用いてソースコード自体の開発も可能にした(「自身を開発するシステム」)。

NLS の効率性を支える核心的な特徴

1. 「動詞 > 名詞」の直感的構造

アクションとオブジェクトを分離し、直感的な操作を実現:

  • 動詞(アクション): コピー、挿入、削除、ジャンプなど。
  • 名詞(オブジェクト): ワード、ステートメント、ブランチ、リンクなど。

操作方法:

  • キーセット: コマンド動詞を入力(例:
    c
    =コピー、
    s
    =ステートメント)。
  • マウス: 対象のオブジェクトをポインタで選択。

2. オペレーションに応じた最適化

  • コピー: ソースとデスティネーションの 2 つを選択(合計 2 クリック)。
  • 削除/ジャンプ: 1 クリックで完了。
  • ブランチ/リンク: 1 クリックで完了。
  • テキスト/グループ: 2 クリックで完了。

3. Viewspecs:ダイナミックビュー制御

ファイルの階層構造を即座に折りたたみ・展開するキーセットコマンドです。表示方法のみを変更し、基盤コンテンツは維持できます。

キーセットのシフト状態(マウスボタン)

  • Case 0: 小文字(標準)。
  • Case 1: 大文字。
  • Case 2: 数字と特殊文字。
  • Case 3: Viewspecs の特別なモード。

完全な NLS Viewspec 照会表

以下の表は、5 キーコード入力(X=押下)とマウスボタンの組み合わせによるアクションです。

コードパターンCase 0 (小文字)Case 1 (大文字)Case 2 (数字/記号)アクション / 説明
0 0 0 0 X
a
A
!
1 レベル上の階層を表示
0 0 0 X 0
b
B
"
1 レベル下の階層を表示
0 0 0 X X
c
C
#
すべての階層を表示
0 0 X 0 0
d
D
$
トップレベルのみ表示
0 0 X 0 X
e
E
%
現在のステートメントレベルを表示
0 0 X X 0
f
F
&
ディスプレイの再構築
0 0 X X X
g
G
'
ブランチのみ表示
0 X 0 0 0
h
H
( 
g オフ(無効)
0 X 0 0 X
i
I
)
通過したコンテンツを表示
0 X 0 X 0
j
J
@
i または k オフ
0 X 0 X X
k
K
+
失敗したコンテンツを表示
0 X X 0 0
l
L
-
プレックス(plex)のみ表示
0 X X 0 X
m
M
*
ステートメント番号を表示
0 X X X 0
n
N
/
ステートメント番号を隠す
0 X X X X
o
O
^
フロズン(固定)ステートメントウィンドウ
X 0 0 0 0
p
P
0
フロズンステートメントオフ
X 0 0 0 X
q
Q
1
1 ライン分減少表示
X 0 0 X 0
r
R
2
1 ライン分増量表示
X 0 0 X X
s
S
3
全ラインを表示
X 0 X 0 0
t
T
4
最初のラインのみ表示
X 0 X 0 X
u
U
5
通常のリフレッシュ表示
X 0 X X 0
v
V
6
リフレッシュ表示を抑制
X 0 X X X
w
W
7
全ライン、全階層を表示
X X 0 0 0
x
X
8
1 ライン、1 レベルを表示
X X 0 0 X
y
Y
9
空行をオンに
X X 0 X 0
z
Z
=
空行をオフにする
X X 0 X X
,
<
[
なし
X X X 0 0
.
>
]
なし
X X X 0 X
;
:
_
なし
X X X X 0
?
\
ALT
中央ドットを表示
X X X X X
SP
TAB
CR
なし

この構造により、NLS はインタラクティブで多維的なビューエンジンへと変貌しました。

システム構築とワークフロー:ブートストラッピングの事例

システム・プログラマとして、私は NLS そのものを用いてソースファイルを編集していました。深夜の PDP-10 で負荷率が低い時、情報空間を巡る感覚は「魔法」のように軽快でした。

効率的な開発フロー(例)

新しいコマンドを実装する際のステップ:

  1. テンプレート検索: 類似した既存ソースを検索。
  2. ビューフィルタリング: マウスボタンを押したまま Viewspec コード入力(例:
    x
    でトップレベル)。
  3. ブランチコピー: ターゲットを特定し、「Copy Branch」コマンド
    cb
    を入力、選択→クリック。
  4. 改題: 「Replace Word」コマンド
    rw
    で新しい名前を設定。

このプロセスはわずか 2 秒以内で完了し、メニュー操作なしでエンジニアの「フロー状態」を維持しました。

キーセット習得と普及への課題

習熟曲線の低さ

  • QWERTY よりも容易: 約 2 日程度でタッチタイピングに慣れることが可能。
  • 両手操作以前: 片手のタイピングのみでも十分な生産性が確保される。

普及への障壁

エンゲルバート氏の業績が見過ごされがちですが、以下の理由から商業的な採用が進まなかったようです:

「才能は誰も見ない目標を打つ。天才は誰も見ていない目標を打つ。」—アルトゥール・ショーペンハウアー

スティーブ・ジョブズ氏が「三輪車(学びやすいもの)を優先する」という視点を持っていた一方で、複雑性の高いキーセット技術は普及の壁となりました。

技術の分流:Xerox PARC とアルトコンピュータ

チャック・タッカー氏は、マウスとキーセットを組み込んだアルトコンピュータを設計しましたが、多くのソフトウェア開発においてマウスのみの採用が進みました:

  • 理由: 「紙の模倣(WYSIWYG)」というパラダイムへのシフト。
  • 結果: エンゲルバート氏の「動的ハイパーリンク知識空間」ビジョンとは対照的に、その思想は Apple や Microsoft へ移りました。
  • 例外: Xerox PARC でキーセットを最も活用したのは、実際にはマインクラフト風ゲームのMaze War ポート版でした!

未来への回帰:現代における NLS の価値

現在の IDE プラグインでも、NLS の「動詞・名詞行列」と Viewspecs フィルターを実装することは可能です。

再導入の可能性

  • 簡易化: ラズベリーパイ ピコや USB マイクロコントローラー、3D プリンタで 5 キーパッドを製作可能。
  • 生産性向上: 片手でのコード入力習得(2 日間)に加え、動詞・名詞編集への投資は、エンジニアの集中力と生産性を劇的に向上させます。

関心領域

  • Doug Engelbart Institute: 人類の知性を増幅するための遺産とビジョン。
  • The Mother of All Demos: 1968 年の公開デモで示されたマウス、ハイパーテキスト、協調編集の世界観。

ドゥーグ・エンゲルバート氏が未完にした革命は、現代の開発者にとって未だに莫大な潜在的価値を秘めています。

同じ日のほかのニュース

一覧に戻る →

2026/08/20 2:32

OpenRouter が Stripe に参画

## Japanese Translation: OpenRouter は、コアアイデンティティを維持しつつミッションとグローバルなスケーリングを加速させるため、Stripe と戦略的提携を正式に発表しました。このアライアンスは、質、スケーラビリティ、そして AGI 後の経済におけるビルダーの支援にコミットした 2 つのデベロッパー向けのインフラストラクチャプラットフォームを結びつけるものです。Stripe の大規模な顧客ネットワーク、ビジネス成長データ、および不正防止専門知識との統合により、市場慣性による影響で単一のモデルがデフォルトとなるのを防ぎながら OpenRouter がスケールするのを支援します。OpenRouter は現在、400 以上のモデルを通じて 1,000 万人以上のユーザーをサービスしており、2023 年初頭の設立以来、推論ボリュームは少なくとも 10 倍の年間増加を示しています。毎日大量のトークンを処理しています。取引は来週中に完了見込みであり、OpenRouter の製品、ミッション、名称、ロードマップ、ユーザー統合、またはルーティングロジックを変更することなく、判断は常にユーザーにとって最善のものに基づいて行われます。この提携は多様な AI エコシステムの育成を目指し、両社は異なる運営文化とスタートアップの機動性を維持することを可能にします。OpenRouter はグローバルな成長に伴い効率的な 90 名の体制を維持する予定であり、好奇心、厳格さ、主体性、透明性を備えた新しいチームメンバーを招致しています。

2026/08/20 3:33

Go 1.27

## Japanese Translation: Go チームはバイナリアーカイブと公式インストーラーを提供するとともに、言語仕様とツールングにおいて重要な進歩をもたらすバージョン 1.27 をリリースしました。主要な言語更新には、ジェネリックメソッド(例:`math/rand/v2.Rand`)、ネスト化済みまたは埋め込まれた構造体に対する直接フィールド選択、および汎用化された関数型推論が含まれます。ツールングの向上としては、`go fix` における 4 つの新しいモダナイザー(`atomictypes`、`embedlit`、`slicesbackward`、`unsafefuncs`)、`go doc` でのパッケージ@バージョン照会への対応、ならびに `go.mod` において統合されたブロックによる依存関係管理の簡素化が挙げられます。パフォーマンス向上は、サイズ特化型メモリアロケーションの導入により実現されており、これによって小規模オブジェクト(<80B)のコストを最大 30% 削減し、アロケーション負荷の高いプログラムの全体的なパフォーマンス向上を約 1% に貢献しています。セキュリティ面では、量子耐性のある ML-DSA 署名の統合と標準ライブラリ内蔵の UUID サポートによる強化が図られました。その他のハイライトとしては、実験的な SIMD サポート、安定性を高めるための一般利用可能な `goroutineleak` プロファイラー、`encoding/json/v2` の厳格なデフォルト設定、ならびにテスト用として新しいユーティリティである `NewTestServer` などがあります。

2026/08/20 3:36

Unsloth デイナミック 3.0 GGUF

## Japanese Translation: Unsloth Dynamic v3.0 のリリースは、同じディスクサイズで比較した場合の Qwen3.8-27B モデルに対して他社よりも優れた精度を実現しており、これが最大の成果となっています。このアップデートは前バージョンを踏襲し、クオンタイゼーション手法の改良と、小型ファイルサイズにおける特定モジュールの削除による容量削減を行いました。層選択の改善およびポストトレーニングクオンタイゼーション(PTQ)を通じて品質は維持され、過学習リスクを回避するために QAT/QAD は全く使用しません。このアプローチは、エージェントコーディングや多言語性能などの多様なタスクに最適化された高品質な imatrix カリブレーションデータセットを用いています。新しいベンチマーク結果では、Unsloth クォンツが最大 10% の高いトップ 1% 精度を達成することが示されており、これは標準的な Wikipedia データではなく、専門データセットから保持した例を利用する Divergence-300@32 および KL ダイバージェンスというメトリクスによって確認されました。早期プレビューでの成功の後に、5 日間で 510 万回のダウンロードが記録されました。ユーザーは今や、6.2GB の UD-IQ1_S バージョンなど、従来のモデルの最大 89% のサイズ削減が可能でありながら依然として高い精度を保持する高性能モデルを利用できるようになりました。業界全体の効率性は、小型ファイルから MTP モジュールを削除することで約 500MB のディスクスペースを節約し、Llama 4 および Wolfram Ravenwolf の実装における重大なバグも同時に修正されたことで向上しています。imatrix ファイルは直ちにコミュニティへのテスト、評価、ファインチューニングやバリエーションの作成に利用可能となっています。

IDEのノスタルジア(2022) | そっか~ニュース