スモール‐トーク【small talk】
Smalltalk
Smalltalkとは、Xeroxのパロアルト研究所(PARC)においてアラン・ケイ(Alan Kay)らによって開発されたオブジェクト指向プログラミング言語、または、開発環境のことである。
Smalltalkは、もともとはアラン・ケイが提唱していた「暫定的ダイナブック」であるAlto(GUIを採用したワークステーション)を実現するために開発された、GUIと一体化したインタープリタ言語である。オブジェクト間でメッセージをやりとりするメッセージパッシングや、責務を分けて考えるMVC(Model-View-Controller)など、その後のオブジェクト指向設計論やオブジェクト指向プログラミング言語仕様に多大な影響を与えた言語としても知られている。
現在の開発環境としては、VisualWorksやSqueakが利用されており、学習や研究など、アカデミックな目的で使用されることが多い。
参照リンク
Smalltalk.org - (英語)
Small Talk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/31 07:08 UTC 版)
「Small Talk」(スモール トーク)は、東方神起の楽曲である。2020年11月27日に配信限定シングルとして発売された。シングル作品としては『まなざし』以来約10か月ぶりとなる作品で[4][5]、Billboard Japan Download Songsで最高位12位[1]、オリコン週間デジタルシングルランキングで最高位13位を獲得した[2]。
- ^ a b “Billboard Japan Download Songs | Charts”. Billboard JAPAN. 阪神コンテンツリンク (2020年12月7日). 2020年1月14日閲覧。
- ^ a b “オリコン週間 デジタルシングル(単曲)ランキング 2020年11月23日〜2020年11月29日 11〜20位”. ORICON NEWS. オリコン (2020年12月7日). 2020年12月2日時点のオリジナル[リンク切れ]よりアーカイブ。2021年1月14日閲覧。
- ^ “Billboard Japan Hot 100 | Charts”. Billboard JAPAN. 阪神コンテンツリンク (2020年12月7日). 2020年1月14日閲覧。
- ^ a b “東方神起、約10ヶ月ぶりとなる新曲&ファンクラブ限定の映像商品リリース”. BARKS (ジャパンミュージックネットワーク株式会社). (2020年11月7日) 2021年1月14日閲覧。
- ^ a b “東方神起、11月27日リリースのデジタル・シングル“Small Talk”ジャケット写真&新ヴィジュアル公開”. TOWER RECORDS ONLINE (タワーレコード). (2020年11月17日) 2021年1月14日閲覧。
- ^ “【リリース情報】東方神起”. SHINJIROH INOUE (2020年11月27日). 2021年1月14日閲覧。
- ^ “東方神起、配信限定の日本新曲「Small Talk」を本日リリース…ファンへ伝えるメッセージ”. Kstyle (LINE). (2020年11月27日) 2021年1月14日閲覧。
- ^ “東方神起 Small Talk 歌詞”. 歌ネット. PAGE ONE. 2021年1月14日閲覧。
- ^ “東方神起、配信限定の新曲「Small Talk」リリックビデオを公開”. SPICE (イープラス). (2020年12月5日) 2021年1月14日閲覧。
- ^ a b “東方神起、本日放送の「スッキリ」で最新曲「Small Talk」を日本初披露…“因縁バトル”も大盛り上がり!勝負の行方は”. Kstyle (LINE). (2021年1月12日) 2021年1月14日閲覧。
- ^ a b “東方神起 、「スッキリ」リモート出演で最新曲『Small Talk』をテレビ初歌唱”. モデルプレス (ネットネイティブ). (2021年1月12日) 2021年1月14日閲覧。
- 1 Small Talkとは
- 2 Small Talkの概要
- 3 背景・リリース
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/21 07:14 UTC 版)
注釈
出典
- ^ a b http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html
- ^ ハワード・ラインゴールド 著、栗田昭平 監訳、青木真美 訳『思考のための道具 異端の天才たちはコンピュータに何を求めたか?』パーソナルメディア株式会社、1988年8月10日、346頁。ISBN 4-89362-035-5。
- ^ https://www.infoq.com/jp/news/2010/07/objects-smalltalk-erlang
- ^ http://smalltalk.cincom.jp/main/about-us/smalltalks-past/
- ^ http://www.smalltalk.org/smalltalk/history.html
- ^ http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf
- ^ a b http://worrydream.com/EarlyHistoryOfSmalltalk/
- ^ Reviving Smalltalk-78
- ^ a b http://www.cincomsmalltalk.com/main/developer-community/trying-cincom-smalltalk/try-cincom-smalltalk/
- ^ http://smalltalk.cincom.jp/tutorials/primers/Introduction/Namespace.ssp
- ^ http://smalltalk.cincom.jp/tutorials/vw7.7/tutorial2/vwparcels2.ssp
- ^ http://www.pharo-project.org/about
- ^ http://strongtalk.org/
- ^ http://pleiad.cl/research/software/gradualtalk
- ^ http://amber-lang.net/
- ^ http://www.object-arts.com/downloads/docs/index.html
- ^ http://www.object-arts.com
- ^ https://sites.google.com/site/jniport/documentation/jniport-for-visualworks
- ^ http://missionsoft.com/
- ^ http://www.refactory.com/tools/sharp-smalltalk
- ^ “Does IBM offer support for VisualAge Smalltalk?”. 2018年10月16日閲覧。
- ^ http://www.objectconnect.com/stmtvc_info.htm
- ^ SuperASCII 1991年1月号, p. 108-112.
- ^ [1]
- ^ “Pharo source documentation” (英語). magaloma.seasidehosting.st. 2018年9月3日閲覧。
- ^ https://www.gnu.org/software/smalltalk/manual/gst.html#Performance
- ^ ImplementationLimits7x.pdf(VisualWorks付録)
- ^ https://www.gnu.org/software/smalltalk/manual/html_node/Special-objects.html#Special-objects
- ^ https://www.gnu.org/software/smalltalk/manual-base/html_node/Object_002dbuilt-ins.html#Object_002dbuilt-ins
- ^ a b c ケント・ベックの Smalltalk ベストプラクティス・パターン―シンプル・デザインへの宝石集 ISBN 978-4894717541
- 1 Smalltalkとは
- 2 Smalltalkの概要
- 3 言語としてのSmalltalk
- 4 脚注
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/03 01:23 UTC 版)
「メッセージ転送」の記事における「Smalltalk」の解説
オブジェクトにセレクターで指定されたメソッドが存在しない場合「doesNotUnderstand:aMessage」が呼び出される。
※この「Smalltalk」の解説は、「メッセージ転送」の解説の一部です。
「Smalltalk」を含む「メッセージ転送」の記事については、「メッセージ転送」の概要を参照ください。
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/07/11 16:22 UTC 版)
Smalltalkにおける委譲も基本的には他の言語と同じである。ただし、メッセージ機構を利用することでSmalltalk独特の委譲を行うことが出来る。Smalltalkは、オブジェクトに対しメッセージが送られた際、メッセージ内のセレクターに該当するメソッドがオブジェクト内に無ければ、そのメッセージはdoesNotUnderstand:メソッドに送られる。この時doesNotUnderstand:メソッドで受け取ったメッセージは自由に他のオブジェクトに送りつけることが出来る。 なお、Objective-CにもdoesNotUnderstand:と同等の仕組みが存在し、同様の処理を記述できる。上記のObjective-Cの委譲もこのメッセージ処理の仕組みを利用している。 委譲用クラスの定義例: "他のオブジェクトに委譲するクラスの登録"Object subclass: #MouseDelegator "ObjectクラスからDelegatorクラスを派生させる。" instanceVariableNames: 'deletage filter' "委譲先のフィールド( メンバー変数 )を定義" classVariableNames: '' poolDictionaries: '' category: 'ExampleDelegate'. MouseDelegator methodsFor: 'accessing for delegate'!deletage^deletage!deletage: anObjectdeletage := anObject.!!MouseDelegator methodsFor: 'accessing for filter'!filter^ filter.!filter: anObjectfilter := anObject.!!MouseDelegator methodsFor: 'event handling'!click"clickメッセージをaTargetに委譲する"self filter click.!!MouseDelegator methodsFor: 'message fowarding'!doesNotUnderstand: aMessage "click以外のメッセージは全てdelegateに委譲する。"aMessage sendTo: self delegate.!!MouseDelegator class methodsFor: 'instance creation'!withDelegate: aDelegateObjectwithFilter: aFilterObject"MouseDelegatorのインスタンスオブジェクトを生成し、初期化する。"^ ( self new ) deletage: aDelegateObject; filter: aFilterObject.!! 委譲用クラスの使用例: | delegator |delegator := MouseDelegator withDelegate: ( OtherExample new ) withFilter: ( Example new ).delegator click. "Exampleのインスタンスオブジェクトにclickメッセージが送られる。"delegator doubleClick. "OtherExampleのインスタンスオブジェクトにdoubleClickメッセージが送られる。"
※この「Smalltalk」の解説は、「委譲」の解説の一部です。
「Smalltalk」を含む「委譲」の記事については、「委譲」の概要を参照ください。
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:18 UTC 版)
「命名規則 (プログラミング)」の記事における「Smalltalk」の解説
Smalltalkでは、大域変数(クラス名も含む(クラスも大域変数であるため))は大文字からはじまるキャメルケース、局所変数、メンバーとなる変数は小文字からはじまるキャメルケースを使用する。これは、言語仕様でも決まっており、存在しない大文字で始まる変数を参照するコードを書いても翻訳時にエラーとはならないが、存在しない小文字の変数を参照するコードを書いていると翻訳時にエラーとなる。また、メソッドが存在するセレクター(関数名のようなもの)は、小文字で始まるキャメルケースを使い、メソッドが存在しないセレクターには大文字で始まるキャメルケースを用いることが慣習になっている。これは、名前空間の解決等でメソッドが存在しないセレクターを使おうとした時、基底クラス等にメソッドが存在するとメソッドを呼んでしまうためである。後発のJavaなどはこの規則を強く継いでいる。ただし、Smalltalkにはプリプロセッサは存在しないため、全部大文字の識別子を使う慣習は存在しない。
※この「Smalltalk」の解説は、「命名規則 (プログラミング)」の解説の一部です。
「Smalltalk」を含む「命名規則 (プログラミング)」の記事については、「命名規則 (プログラミング)」の概要を参照ください。
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:26 UTC 版)
「this (プログラミング)」の記事における「Smalltalk」の解説
※この「Smalltalk」の解説は、「this (プログラミング)」の解説の一部です。
「Smalltalk」を含む「this (プログラミング)」の記事については、「this (プログラミング)」の概要を参照ください。
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/10 00:01 UTC 版)
「Foreach文」の記事における「Smalltalk」の解説
コレクション do:[ :変数 | 文]. SmalltakはLispの影響を受けており、言語構文として反復構文が存在しない。そのため、#do:セレクターとブロックオブジェクトを使ったメッセージで表現する。上記ではメッセージを受け取るレシーバーをコレクションと表記しているが、#do:は#do:を実装しCollectionあるいはIterableを継承していれば良く、入力ストリームや高々1回しか実行しないオブジェクト、無限数列などもレシーバーとして指定できる。また、イテレーターのような反復状態を持つ専用のクラスが必要なく#do:のメソッドだけで完結するため、C++のような方式に比べ実装が単純になっている。またフィルターも容易であり、フィルター用のクラスも多数存在する。#do:は列挙プロトコルに属しており、#do:を実装しCollectionあるいはIterableを継承したオブジェクトは、#select:, #collect:, #detect:, #inject:into:といったその他の列挙プロトコルが同時に使えるようになる。 戻り値を返さない。(Smalltalkの制約上、正確にはselfを返す) #do:の引数としてValueAdapter (#value:を送ることができるオブジェクト) を指定する。(ブロックはValueAdapterの一種) 引数として指定したValueAdapterが0回以上の反復に対応している。 (1 to: 100) do:[ :each | 文]. 例えば一定回数反復したい場合も#do:を使い、上記のようになる。 Smalltalkは後発の無名関数を備えたオブジェクト指向言語に広く影響を与えており、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}Ruby、ECMAScript、Java、C#も同様のライブラリを備えつつある[要説明]。
※この「Smalltalk」の解説は、「Foreach文」の解説の一部です。
「Smalltalk」を含む「Foreach文」の記事については、「Foreach文」の概要を参照ください。
Smalltalk
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/13 09:11 UTC 版)
「ユニットテスト・フレームワーク一覧」の記事における「Smalltalk」の解説
記事参照 Smalltalk 名前xUnitウェブサイト備考SUnit Yes xUnitの設計の原型。
※この「Smalltalk」の解説は、「ユニットテスト・フレームワーク一覧」の解説の一部です。
「Smalltalk」を含む「ユニットテスト・フレームワーク一覧」の記事については、「ユニットテスト・フレームワーク一覧」の概要を参照ください。
「Small Talk」の例文・使い方・用例・文例
固有名詞の分類
- SmallTalkのページへのリンク