Smalltalk

読み:スモールトーク
外語:Smalltalk 英語
品詞:固有名詞

XeroxのPalo Alto研究所が開発した初期のオブジェクト指向プログラミング言語。しばしば最初のオブジェクト指向プログラミング言語であると説明されるが、実際にはその前にSimulaという言語が存在したので、これは正しくない。

膨大なクラスライブラリとそれを閲覧するためのシステムブラウザーをはじめ、アプリケーションランチャやデバッガーなど、一通りのツールが実行環境に含まれている。アプリケーション開発は環境中の既存のクラスライブラリに自分の作成したクラスを追加していくことで行なう。

全てがオブジェクトであり、あらゆる操作はオブジェクトに対しメッセージを送ることで行なう。

メッセージの解決には動的束縛を用いるため、C++のような強い型付けのある言語と異なり、あらゆるオブジェクトに任意のメッセージを送ることが可能である。勿論、送られたメッセージを、そのレシーバーが理解できなかったときはエラーとなる。

プログラミング例
x := 1.
10 timesRepeat: [ x := x + 1 ].
  
10という数値オブジェクトに対し, [ x := x + 1. ] というブロック式オ
ブジェクトを伴ったメソッド timesRepeat: を送ることで, 10回の繰り返
しを行なっている.
  
x := 1.
y := 0.
(x > y) ifTrue: [ ^x := x - 1 ].
  
x に y を引数とした > というメッセージを送り, その結果の真偽オブ
ジェクト(true もしくは false)に [ ^a := a - 1 ] というブロック式オ
ブジェクトを伴った ifTrue: メッセージを送る.
>のようなメッセージは, 結果によって true(Trueクラスの唯一のインス
タンス)かfalse(Falseクラスの唯一のインスタンス)を返すように定義さ
れており, また ifTrue: メッセージは Trueクラスでは引数ブロックを評
価するように定義され, False クラスでは何もしないように定義されてい
る.

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club