タグ

rubyに関するsaitoudaitokuのブックマーク (70)

  • まつもと直伝 プログラミングのオキテ 第12回 多重継承再び

    今回は継承,特に誤解されがちな多重継承について改めて解説します。「オブジェクトは現実世界のモノの反映であり,継承はそのモノの分類を反映したものである」,「多重継承は良くないものだ」という意見が正しいかどうか,判断する基準を紹介します。 今回は,オブジェクト指向にまつわる誤解を取り上げましょう。 これまで,オブジェクト指向プログラミングの古くからのファンとして解説を書き,Rubyというオブジェクト指向プログラミング言語を提供してきました。オブジェクト指向プログラミングをより多くの人が身近に感じられるように貢献してきたつもりです。Smalltalkよりも手軽に入手でき,JavaC++よりも簡単にオブジェクト指向プログラミングを実践できるRubyによってオブジェクト指向という概念がより理解しやすくなったのではないかと自負しています。 しかし,その過程で,私自身の未熟さもあり,オブジェクト指向プ

    まつもと直伝 プログラミングのオキテ 第12回 多重継承再び
  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • Web Services Made Easy with Ruby | Microservices Expo

    saitoudaitoku
    saitoudaitoku 2007/09/10
    広告はうざいが…
  • Djangoへの片思い日記 - ■Struts脳の恐怖とRails

    Strutsは良いフレームワークであった。 登場時のStrutsは MVCを体現しWebフレームワークとしてプログラマ達に夢を見せた。 今見てしまえば冗長で可読性の低い設定ファイルに 糞のようなtaglibとゲロのようなjspであるが それでも当時はセンセーショナルだった。 しかし、その後、Strutsには悲劇が起きる。 あまりにもセンセーショナルなデビューのおかげで それを金に換えようとしている奴らに目を付けられてしまった。 人月計算とExcelスーツで出来ている奴らだ。 奴らは Strutsをいかに簡単であるか宣伝し 役に立たない講習会で金を取り sessionが何なのかすら知らない人間を大量に生み出した。 そうやって生み出されたStruts脳人間は 「動くコードが正義」の負の面を体現し スパゲティを更に絡ませたActionFormを書き 解読不能なActionを書いた。 勉強など一

    Djangoへの片思い日記 - ■Struts脳の恐怖とRails
  • まつもと直伝 プログラミングのオキテ 第5回(1)

    今回はRubyの特徴的な機能である「ブロック」という構文について解説しましょう。Rubyでいうブロックとは「メソッド呼び出し時に追加できるコードの塊」を意味します。 例えば,配列の各要素に対する繰り返し処理を進める次のコードを見てください。 ary.each {|x| puts x} この例ではかっこ(ブレース)に囲まれた領域{|x| puts x}がブロックに相当します。これだけで,「各要素を変数xに代入した上で,putsを実行する」という意味になります。 Rubyにあるブロックは,Rubyオリジナルの機能ではありません。他の言語に古くから存在していたものを文法的にアレンジしたものです。ブロック機能の発想の基になった他言語の機能も含めて解説しましょう。 関数を引数に取る高階関数 Rubyのブロック機能は原理的には「高階関数」と呼ばれるものと同じです。高階関数とは「関数を引数に取る関数」を

    まつもと直伝 プログラミングのオキテ 第5回(1)
    saitoudaitoku
    saitoudaitoku 2007/08/06
    「ブロックが単なる命令列としてのコードだけでなく,外側の「環境」も「閉じ込めている」からです」
  • まつもと直伝 プログラミングのオキテ 第4回(3)

    図7 明示的な型チェックを実行した例<BR>Stringクラス以外を受け取った場合,例外を発生させている。 動的型のメリット では,もう一方の動的型についてはどうでしょう。動的型を採用したプログラミング言語の最大の利点は,ソース・コードが簡潔になることです。プログラミング言語はより簡潔により多くのことをコンピュータに伝えるために進化してきました。きちんと動き,エラーも検出できるのであれば,プログラムの動きの質とは関係のない型指定などない方が良い,というのも一つの考え方です。 プログラムが簡潔に記述できれば,プログラムを書くときに,型のような処理の質に関係ない部分のことを考えなくても済みます。質に集中した簡潔な記述ができれば,生産性も向上することでしょう。 一方,いくら簡潔に記述できてプログラムが書きやすくなっても,型情報がなければ,プログラムを読解しにくくなるのではないか,という懸念

    まつもと直伝 プログラミングのオキテ 第4回(3)
    saitoudaitoku
    saitoudaitoku 2007/08/06
    「コンピュータの性能がこれだけ向上している昨今,ほとんどのケースで実行効率よりも柔軟性や生産性の方が重要です。」
  • まつもと直伝 プログラミングのオキテ 第4回(2)

    オブジェクト指向で開花した動的型 プログラミング言語におけるデータ型は,FORTRANに起源がある変数や式に型を指定する静的型と,Lispを起源とし,データそのものに型情報を付加する動的型の2つの方法に分かれました。静的型はFORTRANからCOBOL,ALGOLを経由して多くのプログラミング言語に引き継がれました。 Cはデータ型を持たないBCPLを祖先としますが,ALGOLなどの影響を受けて静的型を導入しています。 一方の動的型は,長らくLispとその影響を受けた言語(例えばLOGO)でのみ採用されてきましたが,あることをきっかけに広く受け入れられるようになります。 その「あること」とは,オブジェクト指向プログラミングです。最初のオブジェクト指向言語であるSimulaはALGOLの影響を強く受けた言語なので,整数などの基的なデータ型については静的型を採用していました。しかし,新たに導入

    まつもと直伝 プログラミングのオキテ 第4回(2)
    saitoudaitoku
    saitoudaitoku 2007/08/06
    「まとめると,静的型はプログラムを書く人間が型宣言という形で積極的に情報を与えることによって,コンパイラや将来そのプログラムを読む人間が楽をしようというアプローチである」
  • Web Developers Moving Past Java

    Buy this domain. webservicessummit.com 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • Javaの時代は終わった?(読書感想文):テクノロジー解放日記:オルタナティブ・ブログ

    最近読んだの中で衝撃を受けたのひとつが、「Beyond Java」。 正直なところ、私の中では、自分なりの意見を述べられるところまで消化できていない。が、ネットを検索しても、あまり日語のレビューが出て来ないので、内容に言及しておくだけでも意味があるかと思い、軽くレビューだけしてみようと思う(単なる読書感想文ご容赦ください)。 このは、一言で言うと、「Javaの時代は終わった」というRuby賛辞のなのだが、非常に説得力に富んでいる。その一番の理由は、著者のBruce A. Tate氏が、非常に優れたJava wizardであることだろう。私は残念ながらBruce A. Tate氏の著書を他に読んだことが無いのだが、ちょこっと検索してみた限りでは、「軽快なJava」というが有名なようで、Amazonでもわりかし良い評価を受けているようだ。 Bruce A. Tate氏は、書の中で

    Javaの時代は終わった?(読書感想文):テクノロジー解放日記:オルタナティブ・ブログ
    saitoudaitoku
    saitoudaitoku 2006/11/22
    次はrubyですか
  • 「美しいコードを書けるからRubyを選んだ」---Ruby on Rails作者 David Heinemeier Hansson氏

    現在最も注目されているWebアプリケーション・フレームワークRuby on Rails。その作者であるDavid Heinemeier Hansson氏(通称DHH氏)が日Rubyカンファレンス2006(関連記事)のために来日した。「JavaPHPでは書けなかった美しいコードが書けるから」---Hansson氏はRubyを開発言語として選んだ理由をこう語る(聞き手はITpro編集 高橋信頼) ---なぜRubyを選んだのですか。 以前,JavaPHPでコードを書いていました。しかし,JavaPHPでは美しい(Beautiful)コードを書くことができず,不満を感じていました。そんな時に(リファクタリングなどで知られる)達人プログラマMartin Fowler氏がRubyを紹介した記事を読み,自分で使ってみて,Rubyは美しいコードを書くことができる,プログラマをハッピーにする言語だ

    「美しいコードを書けるからRubyを選んだ」---Ruby on Rails作者 David Heinemeier Hansson氏