パスワードを忘れた? アカウント作成
17683 story

3Dアニメーションで学ぶOOP 18

ストーリー by morihide
私はC++で挫折しました 部門より

カーネギーメロン大学で開発されたAliceというオブジェクト指向プログラミング(OOP)言語がOpen Tech Pressで紹介されています。OOPの概念を学ぶための言語で、3Dオブジェクトを制御してアニメーションを生成するプログラムをマウス操作で作りながらOOPの諸概念(オブジェクト、継承、カプセル化など)が習得できるようになっているそうです。

マウス操作主体の開発環境を“言語”と呼んでいいのかどうかわかりませんが、OOPで躓かないためのツールとしては有効かもしれません。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 元々 Alice は「オブジェクト指向(特にアクターモデル)を採用した、インタラクティブな3Dアプリケーション」を構築するための言語というかラピッドプロトタイピングツールだったんだけど、いつの間にか「オブジェクト指向プログラミングを学ぶためのツール」になっていたのね。制御言語も Python 使ってたのに、今じゃ Java ベースのラッパー言語なのか。
  • by Anonymous Coward on 2008年01月08日 17時53分 (#1277055)
    NeXT の Interface Builder とか Project Builder は
    それはそれは良かったぞ!

    # というコメントが出てくる前に言っておく。
    • by Anonymous Coward on 2008年01月08日 18時12分 (#1277069)
      >NeXT の Interface Builder とか Project Builder は
      >それはそれは良かったぞ!

      過去形ですが、MacOSXに引き継がれてますよ。
      という話はさておき、
      Jav● Studioとかいう名前で真似しようとして
      失敗してたIDEがありませんでしたっけ。
      親コメント
    • http://www.viscuit.com/ [viscuit.com] なんてのもあります。
      親コメント
    • 象形文字以前の絵文字だって文字なんだよ。
      親コメント
    • by Anonymous Coward
      > それはそれは良かったぞ!

      過去形?OS Xのは?
      • by Anonymous Coward
        はじめて出た時の衝撃が忘れられんという辺りでは。

        CPUはモトローラ、光磁気ディスクはSONY、OSはCMUのMachにBSD互換サービス、
        DisplayPostscriptだってAdobeから持ってきた。全部他から貰ってきた部品の寄せ集めだろ?
        とコメントしてたゲイツがその後、実際に触って大きな衝撃を受けたらしく、
        後に「僕はそんなこと言ってない」と否定したそうな。

        その後出たWin95のUIは笑えるほどごっそり、そっくり入れ替わりました。
        しかし、開発環境までは真似られなかったと見える。

        あの当時、GUIを基盤にしたコンピュータの開発環境について、
        使いやすい環境とはどういうものか、誰よりも一番良く知っていて、
        それを実現できたのはJobsでした。
        奴は本当に、未来を作ってしまうことのできる男だった。
    • by Anonymous Coward
      マウスでプログラミング and/or 3Dオーサリングなら、Smalltalk のことも思い出してあげてください。

      # Smal

  • by Anonymous Coward on 2008年01月08日 21時57分 (#1277190)
    オブジェクト指向って言うけれど、記事のオブジェクト指向は以下のどれに該当するんでしょうか?

          1. カプセル化 - 型の実装を構文的に隠蔽できること。例えばCやPascalでは何かが構造体であるか配列であるか常に意識することになるが、CLUやJavaではその違いを隠すことができる。

          2. 保護 - 型の使用者がその実装をのぞくことができないこと。これによって、ふるまいさえ変えなければ、実装を変更しても型の使用者に影響を与えないことが保障でき、またパスワードのような情報が漏れ出さないようにすることもできる。

          3. アドホックポリモルフィズム - 関数やパラメータつきデータ構造がたくさんの異なる型の値をとることができる。

          4. パラメトリックポリモルフィズム - 関数やデータ構造が任意の値 (例:任意のオブジェクトのリスト)に対してパラメタライズできること。 MLとLispはこれを持つ。Javaは非Objectな型のために、これを完全に持つとは言えない。

          5. 全てはオブジェクトなり - 全ての値はオブジェクト。Smalltalkでは真だが、 Javaでは (int等のため) 真ではない。

          6. メッセージを送ることだけができる (All you can do is send a message, AYCDISAM) = Actorモデル - オブジェクトを直接いじることはできず、それと通信する、もしくはそれを起動することのみができる。Javaにおけるfieldの存在はこれに反する。

          7. 仕様継承 = サブタイピング - ふたつの異なる型で、一方の型の値がもう一方の型の値として使われても型の正当性を破らないことを言語が保障できるようなもの。(例: Javaのインタフェース継承)。

          8. 実装継承, 再利用 - ひとまとまりのコードを書いたら、それと似たコード (そのスーパーセット) が制御された方法で生成できる。つまりコードをコピーして編集する必要がない。制限された、特殊な抽象化である。 (例: Javaのクラス継承)。

          9. 「関数の積和(sum-of-product-of-function)」パターン - オブジェクトは (実質的に)有限の簡単な名前の集合から選ばれるキー引数を第一引数に取り、それによってメソッドを呼び出す関数として動作する。

    • by Anonymous Coward
      10. 言語仕様に「オブジェクト」って単語が出現する。
  • by Anonymous Coward on 2008年01月08日 17時18分 (#1277032)
    いかにもアメリカーんなのが何とも。

    半年前までのPoser [e-frontier.co.jp]キャラと似たような取っ付きにくさが。
    #半年前に出た日本向けPoserキャラ [mycom.co.jp]
  • by Anonymous Coward on 2008年01月08日 17時22分 (#1277035)
    このツールの使い方よりも、Storytelling Aliceに登場するキャラの入れ替え方法、
    メタセコや六角からのコンバート方法を知りたい、
    という奴は私だけではないはず。
    そしてそれは言語名に由来する感情なのは間違いない。
  • by Anonymous Coward on 2008年01月08日 23時31分 (#1277259)
    Squeak Aliceかと思ったよ。
    動画を見ても、スクリプティングがなんかSqueak Etoysそっくりだし。
  • by Anonymous Coward on 2008年01月08日 23時45分 (#1277263)
    ビジュアルに開発するためのプログラミング言語のことをビジュアルプログラミング言語(Visual Programming Language = VPL)と
    呼んで、一分野を築いていたと思ったのですが、知名度が低いんでしょうか……。
    Prograph, ToonTalk など、さまざまな種類の言語があります。

    資料: http://yl.is.s.u-tokyo.ac.jp/meeting/doc/mass-2002-07-02.ppt [u-tokyo.ac.jp]
  • by Anonymous Coward on 2008年01月09日 0時28分 (#1277284)
    なんでAliceでTeddy [u-tokyo.ac.jp]を連想するのか考えて思い出しました。昔こんなページをみたからでした。
    http://www-ui.is.s.u-tokyo.ac.jp/~takeo/teddy/alice/ [u-tokyo.ac.jp]
    (注意: プラグインを入れないと見れません)
  • by Anonymous Coward on 2008年01月09日 10時32分 (#1277421)
    >OOPで躓かないためのツールとしては有効かもしれません
    やっぱり躓いたときにはOops!って叫ぶんでしょうか。
typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...