世界を動かす技術を、日本語で。

Squeak 6.1

2026年8月10日原文(squeak.org)

概要

  • Squeak 6.1 "Vanessa" リリースノートの概要と主な特徴
  • 新しいツリーブラウザObjectland の復活など大幅な機能追加
  • カーネル基盤ツールセット の改良とバグ修正
  • GUIやEtoys など多岐にわたる改善点
  • 互換性や既知の問題点 も明記

Squeak 6.1 "Vanessa" リリースノート

  • Squeak30周年 を迎える節目のバージョン
  • SqueakJS (ブラウザベースSmalltalk VM)でのインタラクティブな閲覧も可能
  • 最適な体験 はSqueak本体での閲覧を推奨

主な新機能・改善点

  • 新ツリーブラウザ :クラスやカテゴリを階層表示・ナビゲーション可能
    • 階層的なMorphsによる操作性向上
    • 検索機能やフィルタリングの強化
    • ドラッグ&ドロップ時の自動展開
    • ショートカットやUIのカスタマイズ性向上
  • Objectland復活 (旧Worlds of Squeak)
    • 豊富なデモ例やEToysレースカーなどの追加
    • BlobMorphなど懐かしの機能も再導入
  • カーネル基盤の強化
    • シミュレーション、アンワインド、スケジューリング、クラス再構成の安定化
  • ツールセット/ユーザインターフェースの改良
    • インスペクタやデバッガの拡張
    • コードバージョン管理やプロファイリング機能の追加
    • 多言語・高DPI環境への対応強化

MorphicとGUIフレームワーク

  • ツリーモルフの刷新
    • 色やショートカット、イベント処理の改善
    • 検索・フィルタリング機能の強化
    • 自動展開・再帰的検索・ドラッグ&ドロップ対応
    • 安定性・パフォーマンス向上
  • ワールド内操作性の向上
    • クラス参照やカテゴリのドラッグ表示
    • ダブルクリックやドラッグ閾値のカスタマイズ
  • テキストエディタの強化
    • リンクのホバー表示や選択操作の改善
    • クオート自動エスケープ
  • Morphic API拡張
    • 個別イベントのオプトアウトやバルーンテキストの柔軟化
  • メニュー構築のユーティリティ追加
    • グループ化やアクションターゲットの切替
  • UIテーマや高DPI対応の強化
    • 進捗バー、ダイアログ、マルチセレクトリストなど多岐に対応
  • バグ修正・安定化
    • レイアウト、レンダリング、イベント処理の細かな修正
    • 旧バージョンとの互換性維持
    • メモリリークやプラットフォーム依存バグの修正

MorphicExtras・Etoys・ST80・CommandLine

  • Objectlandの導入・EToys強化
    • デモやチュートリアルの充実
    • 高DPI・UI安定性の強化
  • ST80の改善
    • ワールドメニューの拡張
    • スクリーンショット取得やデバッグショートカット追加
    • MVCプロジェクトの安定性向上
  • コマンドラインツールの修正
    • 失敗時のスナップショット保存設定の修正
    • UIManagerによる各種ダイアログ強化

プログラミング&ツール

  • 新ツリーブラウザの導入
    • システムカテゴリ、クラス、メッセージカテゴリを階層的に表示
    • Monticelloパッケージ統合
    • 外観カスタマイズ用の新しい設定項目
  • ドラッグ&ドロップの拡張
    • クラス、メソッド、カテゴリの柔軟な移動・コピー
  • デバッガ・インスペクタの強化
    • VMバイトコード単位でのデバッグ
    • メタサーキュラーエバリュエータのシミュレーション
    • 例外・プロセス情報の可視化
  • AndreasSystemProfilerの統合
    • プリミティブ集計やレポートフォーマットの改善
  • ワークスペース・チェンジリカバリの拡張
    • ファイルからの内容ロードやクラス定義のパース改善

互換性・既知の問題・今後の展望

  • 大規模なパッチ統合 (1700件超、9000メソッド以上の変更)
  • 主要な非推奨事項・既知の問題 についてもリリースノート末尾で明記
  • 今後の発展 とコミュニティへの感謝

メモリアル

  • Vanessa Freudenberg (1972-2025) への追悼

このリリースノートは、 Squeak 6.1 の新機能や改善点を詳細に記述し、 ユーザーが新しい環境を最大限活用できる ように設計されています。各項目には インタラクティブな例やコードへのリンク も用意されており、 実際に手を動かしながら学ぶことが可能 です。

Hackerたちの意見

Lispを学ぶとプログラミング言語について再考させられ、Erlangを学ぶと真の並行性の力が理解できるようになる。Smalltalkを学ぶと「オブジェクト指向」が実際に何を意味するのかがわかるようになるよ。大学以来Squeakは使ってないけど、カリキュラムに入っててよかったと思ってる。ちなみに、Javascriptの良い部分のほとんどはSmalltalkから来てるんだよね。

Javascriptの良い部分のほとんどはSmalltalkから来てる これは、JSのプロトタイプベースのオブジェクトシステムにおけるSelfの役割を過小評価してるのか、それともプロトタイプベースのオブジェクトシステム自体が良い部分じゃないって言ってるの?

私にとって、Smalltalkの「おお!」と思った瞬間は、常に動いているイメージの概念でした。開発者の仕事は、それを自分が望む形に作り変えることなんです。

Lisp、Forth、Erlang、Smalltalk、Rebol、すぐに忘れられちゃう言語たち。コンピュータープログラミングの本質を深く理解させてくれる言語ばかり。最初の言語で止まっちゃう人が多いのがちょっと悲しいし、PythonやJavaScriptを超えようとしない人もたくさんいるよね。

スクイークのバージョンで、標準のGUIコントロールをインスタンス化できて、スタンドアロンのバイナリやJavaScriptを含むHTMLページに簡単にコンパイルできるものがあったら、めっちゃ欲しいな。

Ruby開発者として、このPharo Smalltalkに関する動画を見てSmalltalkの信者になっちゃった。RubyはSmalltalkから大きな影響を受けてるから、驚くことじゃないね。 https://youtu.be/HOuZyOKa91o

Smalltalkについて読んで(試したわけじゃないけど)、プログラミングが全く理解できなかったんだ。それがあったからこそ、今Rubyを書いてる。お気に入りの点は「予約語」がほとんどないこと。ほんの少しの句読点だけで済むんだ。すごく純粋で、ほとんどの構文が「このオブジェクトにこのメッセージを送る」って感じなんだよね。

数ヶ月前に「SmalltalkとErlangが赤ちゃんを作った」みたいなアイデアに惹かれてたんだ。Smalltalkの構文を使って、Erlang VMスタイルのアクター環境を作るっていうの。さらに、分散バグのための因果デバッガーについてのクールなアイデアもあった。問題は、どんなにプログラミングが美しくても、もうコーディングすらしてないってこと。AIがその楽しさを奪ってしまうからね。ただ、長期的に見て理解しやすさや信頼性を考えると、そういうのがあってもいいかもしれない。Smalltalkが英語に近くて、Erlang VMが信頼性高いから、人間とLLMがそれを活かせるはずだよ。

メッセージ指向で考えると、すごく理解しやすくなるよね。

ちなみに、Javascriptの良い部分のほとんどはSmalltalkから来てるよ。それがEとSelfの消去だね。

私もカリキュラムにスウィークがあったよ!確か、独特なオブジェクト階層があったような。

それにしても、何年経っても高DPIディスプレイの修正がないね。UIはまだピクセルが目立って遅い。Fableを使って自分で試してみるべきかな。これが唯一気にしてたバグなのに、10年経っても解決してないし。

Hacker Newsで議論の続きを見る