http://www.iam.unibe.ch/~scg/Teaching/Smalltalk/ Squeak3.9 でクロージャを扱えるようにするための機能拡張パッケージ、NewCompiler と AST のことを調べていたとき、こんなページを発見しました。Smalltalk と銘打っていますが、Squeak(の Smalltalk)で、しかも内容もかなりマニアックです。スイス・ベルン大学の講義の資料のように見えるのですが、こんなに偏っていていいんでしょうか。w あと、タイトルを見ていて、オブジェクト指向を明示的にして区別するときの呼び名で、 ケイのオブジェクト指向 vs ストラウストラップのオブジェクト指向 (これがベストだが内容を表わせてない) Smalltalk 由来のオブジェクト指向 vs C++ 由来のオブジェクト指向 (イメージしやすいが語弊あり杉) メッセージ指向のオブジ
2006年11月17日01:15 カテゴリLightweight Languages Typeとは俺のことかとClass言い 実は、TypeもClassもその意図は同じである。 finalventの日記 - ぶくまより オブジェクト指向とか あと、関数型言語っていうか、そういうのがOOPとどういう関係にあるのか、どうもすっきりしない。関数で表現できるならクラスとか要らないのでは?というか、ま、このあたりはよくわからない。404 Blog Not Found:オブジェクトは難しくない。難しいのはクラスそれで、オブジェクトとは何か、といえば、「自分が何が出来るのかを知っているデータ」ということになる。 そして、型がある言語における関数が何かといえば、「自分がどんなデータを受け付けるのかを知っているサブルーチン」ということになる。CからHaskellまで、これに例外はない。 だから、「犬が吠える
2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る
2006年10月22日22:15 カテゴリLightweight Languages perl - Object::PrototypeでPOMを実装 Perl5最大の欠点:Object Systemが後付けなこと。 Perl5最大の利点:Object Systemが後付けなこと。 amachangのサンプルも、このとおり。 use strict; use warnings; use Object::Prototype; use utf8; sub alert{ warn @_ }; my $animal = Object::Prototype->new({}, { breath => sub{ alert('すーはー'); } }); # 鳥さんのプロトタイプ my $bird = Object::Prototype->new($animal); $bird->prototype(fly
6月末〜8月はなにやら日本の Rails 書籍の発売ラッシュでしたね。 ライド・オン・Rails Ruby on Railsを徹底攻略 はじめよう Ruby on Rails かんたんRuby on RailsでWebアプリケーション開発 Ruby on Rails入門―優しいRailsの育て方 それぞれ献本いただき、ありがとうございました。 どの本もそれぞれターゲット層が違ったり、面白い tips が載ってたりで、Rails マニア(なにそれ)ならどれも買っておけという感じです。 その中で Rails とは関係ないのですが、Ruby on Rails入門―優しいRailsの育て方 のオブジェクト指向の表現が秀逸!なんとアスキーアートで表現しています、すげー。今まで概念に表現に動物がどうだこうだとかそういうたとえは良くありましたが、舞波や桃子キャラとブラックユーモアをうまく使って表現してい
前のエントリーでやっていることを CLOS の「補助メソッド」で。しかし、こうもシンプルに書けてしまうと、なんだか、f をありのまま定義して手つかずにすることへの脱力感が際だちますね(^_^;)。 (defmethod f ((n integer)) (cond ((= n 1) 1) ((evenp n) (f (/ n 2))) ((oddp n) (f (+ (* 3 n) 1))))) (defmethod f :before ((n integer)) (setq steps (1+ steps)) (setq upto (max upto n))) (defmethod g ((n integer)) (setq steps 0) (setq upto n) (f n) (list steps upto)) (defmethod h ((n integer)) (let ((r
社内の精鋭エンジニアを中心に定期的に勉強会をすることになった。んで、 JavaScript の講義は僕がやることになった。 資料を社内だけでとどめておくのはもったいないので、ここに公開していきます。社内の人も社外の人も読んでください。 講義の内容は基本的にソース嫁。ソースレビュー形式。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 Section 00 Prototype.js の前に JavaScript のオブジェクトの概要・・・ オブジェクトを作ってみる。 var object = {};オブジェクトにメソッドとかプロパティを追加してみる。 var object = { field: 'IT戦士', method: function() { alert('hello ' + this.field); } }; object.method()
(thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
<< 2006/01/ 1 1. [教会] 元旦 2 1. 出産 2. 帰省 3. 到着 3 1. デジタル体重計のユーザインタフェース 4 1. [OOP] Classbox 2. [OOP] Classboxの実装 5 1. 帰宅 2. PCレスライフ 6 1. PC修理 7 1. 雪かき 2. [言語] プログラミング言語SRU 8 1. [教会] 断食安息日 2. あーめん 3. 筋肉痛・体調不良 9 1. 米子 10 1. [原稿] オープンソースマガジン3月号 11 1. [原稿] 日経Linux 3月号 12 1. [Ruby] Charming Ruby Compiler 2. [Ruby] The Open Nature Of Ruby 13 1. ニート娘に悩む親 2. Python Status Update 3. 泥縄 14 1. 宣教師のお手伝い 2. Simpl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く