3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日本工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。
アラン・ケイ Is “Software Engineering” an Oxymoron? By Alan Kay (訳注: 以下の文章は、http://d.hatena.ne.jp/sumim/20080806/p1 に紹介されていたアラン・ケイの文章 -- Is “Software Engineering” an Oxymoron? -- を訳したものです。原文もsumim さんのサイトからダウンロードしました。最初に書かれたのは 1999年から2000年ごろと少し古いので注意してください。日本語で矛盾語法(oxymoron)とは聞き慣れない言葉ですが、ジーニアス英和大辞典によると an open secret (公然の秘密) や、living death (生き地獄) のような矛盾する二つの単語を組み合わせた熟語の事を言うらしいです。) 真のソフトウェア工学はまだ未来のものだ。一年と
「オブジェクト指向でなぜ作るのか」以来、OOP が解らなくなってしまった三猫です。あーー、もう、わっかんない、と混乱のまっただ中にいる私にかけられた、sumim さんの優しい言葉。 とりあえず、ケイのメッセージングのOOとストラウストラップら(リスコフ、メイヤーなど)の抽象データ型のOOの要点について、みねこあさんなりの解釈を簡単でいいので箇条書きにでもしてもらうことはできますか? そこからすりあわせたほうがよいと思います。 http://d.hatena.ne.jp/minekoa/20080803#c1217824520 よーし! 箇条書きといわず、がんばっちゃうぞー。(と暴走する私。) ストラウストラップのOOP ストラウストラップの考える OOP 、本当は、What is.. 論文 に当たるのが正しい姿なのですが、今の私の脳内というと、実は申し訳ないことに「プログラミング言語 C+
忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ本人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽
Moose はなにではないか Moose Is Not 実験やプロトタイプ (experimental) おもちゃ (toy) もう一つのアクセサビルダー (accessor builder) ソースフィルタ (source filter) 黒魔術 (black magic) Perl 6 in Perl 5 Mooseとはなにか Moose Is Perlのための完全にモダンなオブジェクトフレームワーク A complete modern object framework for Perl Mooseとはなにか Moose Is Class::MOPのためのシンタックスシュガー (Syntactic sugar) 祖先たち (ancestry) CLOS (Common Lisp Object System) Smalltalk Alces latifrons Perl 6 … 安定して
クラスを「継承」することによって受け継ぐものとは? クラスには「継承」という概念があります。「継承」という言葉は日常生活でも使うことがありますね。某戦闘アニメではス○パ○サ○ヤ人の血をその息子が「継承」していますし、近所のそば屋では、2代目が初代の味を「継承」し店を守っている、ということもあると思います。 オブジェクト指向でいう「継承」もほぼ同じ意味で使います。ActionScript(以下、AS) 3では、クラスの継承に「extends」というキーワードを使います。このextendsは、いままでのサンプルコードにも出てきましたね。連載第1回「Flashの要となるスクリプト言語『ActionScript』とは?」では、以下のようなコードが出てきたと思います。
クラスベースのOOとプロトタイプベースのOOで決定的に違うのは、プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。 404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 これはひどい。w オブジェクトに対して動的(実行時)にメソッドやインスタンス変数を追加できることと、“プロトタイプベース”においてオブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てることとは別の話です。 あらためて、「プロトタイプベース」という用語自体に問題が多いことを実感させられる記事でもありますね。個人的には、クラスを用いないオブジェクト生成手法の話でないのならば(つまり、「プロトタイプの複製でオブジェクトを生成する」ことが話の本筋でないならば)「プロトタイプベース」ではなく、「インスタン
前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に
まぁ、この辺りはPHPな方々には当たり前チックな話かもしらんが、Zend Frameworkのソースを読んだりしてて感心したのでいくつかメモをば。 メソッドチェーン Zend_Db_Selectのように、実行前にいくつものパラメータを与える必要があるオブジェクトはパラメータを設定するメソッドの戻り値がオブジェクト自身になっていて、メソッドチェーン(Zendは「流暢なインターフェイス」とか言ってるみたいだが)を利用できる。jQueryっぽく合理的だ。 以下はちょっとしたサンプル。Zend_Db_Selectはfrom()、join()、where()など、SQLの句に相当するメソッドを使ってSELECTクエリを構築するオブジェクト。これを使って、「SELECT id FROM bookmarks WHERE id < 100」を作る場合は、 // $db は接続済みのZend_Db_Adap
Inter Communication (インターコミュニケーション) 2007年 04月号 の特集は、「デザイン/アート 芸術と科学のインターフェイス」というもの。いくつか面白い記事があったのですが、抽象化がもたらすリアルみたいなことで思うことがありました。 まず、巻頭の茂木さんと山中さんの対談はそうだよねぇーの連続。山中さんはSuica自動改札機やCyclopsをデザインしたことで有名な方。 ところでヒューマノイド・ロボットを作るうえで、人間に似せていくほど不気味になってくるという「不気味の谷(Wikipedia)」という現象があります。山中さんは、これを「サイエンティストの傲慢」と切った上で次のように述べています。 彫刻を作るとき、睫毛を植えたり、髪の毛を生やしたりは普通しないですよね。なぜならば、そんなことをしないほうが美しく、よりリアルであることをアーティストたちは気がついてい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く