タグ

OOに関するnaruogaのブックマーク (7)

  • 第5回 メタプログラミング

    前回は、コンピュータの中だけでなく、外の世界とやり取りするフィジカルコンピューティングを紹介した。新しいユーザーインタフェースを考えることで、既存の常識にとらわれない可能性を試すことができる。しかし、もし私たちの思考が用いる言語によって制限されているとするならば(サピア=ウォーフの仮説)、プログラミング言語も例外ではないのかもしれない。今回はScratchを“分解”し、その中身を観察して改造を試みる。 ソースコードの入手 ScratchはSqueak Smalltalkで記述されている。そのソースコードを見る方法には、第3回で紹介した「Shift-Click-R」がある。しかし、これは裏技で、表示されるソースコードもバイトコードをデコンパイルしたものだった。そのため、来のソースコードには記述されているコメントが消え、一時変数名も機械的に付けられている。 MITメディアラボはScratch

    第5回 メタプログラミング
    naruoga
    naruoga 2011/10/28
    メタプロになってないじゃんと思って読んでたら最後にSTEPSとかの話になるのかー。「すべての年齢の子供たち」の世界には宝物が一杯あるなぁ。とまれ連載お疲れ様でした!
  • 第4回 フィジカルコンピューティング

    前回の分散プログラミングでは、Meshという仕組みを使って、複数のScratchが協調して分散処理を行う様子を説明した。その際、裏側の仕組みとして用いたのがリモートセンサープロトコルだった。来、このプロトコルは外部環境のセンシングのために使われる。 今回は、このリモートセンサーなど、Scratchが現実の世界とやり取りする方法と、それを使ったフィジカルコンピューティングを紹介する。 Scratchで「調べる」こと 第1回のオブジェクト指向プログラミング でも触れたように、Scratchは原則としてオブジェクト(スプライト)間の関係を表現する手段を持たない。しかし、処理は複数のスプライトが協調して進められる。協調する手段の一つが、不特定多数にメッセージを送るブロードキャストだ。そして、もう一つが、「調べる」カテゴリーに含まれるブロック群である。 例を挙げて考えてみよう、テニスゲームのボール

    第4回 フィジカルコンピューティング
    naruoga
    naruoga 2011/10/27
    フィジカルコンピューティングって言葉は実はぼくあんま好きじゃないんだけど、Scratchの世界が現実とつながるのはすごくワクワクするのはなんでだろ(記事の感想じゃない
  • 第3回 分散プログラミング

    前回は、複数のスプライトのスクリプトを並行に動かし、Scratchの非集中的な特性を生かしたネコの競争によるソートや、客や店員をモデル化した待ち行列のシミュレーションを行った。今回はそれをさらに拡張して、ネットワークでつながれた複数のコンピュータにスプライトが分散し、それらが協調して処理を進める分散プログラミングを試してみよう。 Scratchのネットワークサポート Scratchには、ネットワークに接続された計測機器を扱うための遠隔センサー機能が備わっている。通信にはソケットを用い、そのプロトコルはRemote Sensors Protocolとして公開されている。 プロトコルは言語独立なので、Scratchが直接対応していないKinectやOSC(Open Sound Control)デバイスなどを接続するブリッジプログラムをPythonやProcessingなどで開発することもできる

    第3回 分散プログラミング
    naruoga
    naruoga 2011/10/26
    ぶ、分散プログラミングがマルチプラットフォームでこんなに軽やかに……楽しいよこれ!
  • 第2回 並行プログラミング

    前回は、Scratchのオブジェクト指向プログラミング(OOP)について、アラン・ケイの定義や「おとうさんスイッチ」を用いて説明した。 簡単に振り返ってみると、その質は、オブジェクト(スプライト)へのメッセージ送信(メッセージング)だった。メッセージを受け取ったスプライトは、対応するスクリプトを実行する。そして、スプライトの例としてネコを用い、「i」のキーが押されると、「『い』が押された」というメッセージが放送(ブロードキャスト)され、それを受け取ったネコが一回転するスクリプトが実行された。 このとき、ネコは1匹しかいなかったが、もしネコがたくさんいたらどうなるだろう。今回はこのような並行プログラミングについて考える。 ネコのクローン では、さっそくネコを増やしてみよう。スプライトは何個でも複製(クローン)を作ることができる。複製を作るには、ステージの上にあるスタンプボタンを使う(図1)

    第2回 並行プログラミング
    naruoga
    naruoga 2011/10/25
    Sleep Sortをこういう風に使ってくるとは!素晴らしい。待ち行列シミュレーションは現実的。例の選び方が上手いなぁ。
  • 第1回 オブジェクト指向プログラミング

    最近、新聞やテレビで注目を集めているプログラミング言語に、米MITメディアラボが開発した子供用ビジュアルプログラミング環境「Scratch」がある。 Scratchの登録ユーザー数は90万人(ダウンロードだけなら登録不要なので実際はもっと多い)、アップロードされた作品数は208万に達している(2011年10月現在)。TIOBEの人気プログラミング言語ランキングでは35位と、トップ50にランクインしている(2011年10月)。ちなみに1位、2位、3位は、Java、C、C++の順である。Scratchと同じく最近注目を集めているScala(関連記事)は50位だ。Scratchが子供用のプログラミング言語であることを考えると、並み居る大人用言語の中で健闘していると言えるだろう。 子供用プログラミング言語だけど侮れない 現代の子供たちは学校や塾などの習い事で結構忙しいうえ、身の回りにはゲームやア

    第1回 オブジェクト指向プログラミング
    naruoga
    naruoga 2011/10/24
    初回から飛ばしてるなぁ。Scratchをガキ向け環境だと思って舐めてる人はぜひ読んで欲しい、ってぼくがいっても説得力ないけど。これから五日間楽しみだ。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    naruoga
    naruoga 2011/04/06
    まぁそんなわけでちょと勉強してみようと思うわけですよ。軟弱だから日本語で。
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
    naruoga
    naruoga 2009/04/18
    非常によくまとまっているだけじゃなくて参加した喜びにあふれてる。オイラも行きたかった。でも OO の二分法はやや近視眼的に過ぎる気がする。過去の研究とか振り返るといいかも。
  • 1