タグ

progに関するNOV1975のブックマーク (129)

  • オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup

    オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説

    オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup
    NOV1975
    NOV1975 2006/11/16
    オブジェクトって「もの」とマッピングしていいのかなあ。
  • 更新履歴兼雑記 - Perl記号ゴルフとAcme::EyeDrops

    ここからが題です。 Perl は頭がおかしいです。すごすぎる。この感動を伝えたいと思います。まず Perl の基からです。 Hello world! を書きましょう。 ''=~('(?{'.('[[).[|`%,,/`[/[@$'^'+)@@/^(@@@@@,@),@').'! "})')えーと。このくらいわかりますよね。これは Hello world という一番簡単なプログラムなのでわからない人はちょっとプログラムの才能が無いです。嘘ですが。 Perl では記号だけでは出力もできないかな、というような話をしていたところ、 Acme::EyeDrops の出力は記号だけで出力してるぞ、ということでした。これは見たことがあったのですが、確かに今見ると記号だけです。で、これの出力の意味を理解してたんですが、なんともすごいものでした。書いてから後で Perl ヤロウどものことだから既に常識だ

    更新履歴兼雑記 - Perl記号ゴルフとAcme::EyeDrops
    NOV1975
    NOV1975 2006/11/07
    これは通報しないと。
  • 型凝り : 404 Blog Not Found

    2006年11月01日16:55 カテゴリLogos 型凝り そうだろうか。 Types and Programming Languages Benjamin C. Pierce finalventの日記 - 夢みたいな夢じゃないような以前もちょろっと書いたが変数は型(タイプ)なんてないほうがいいというか、型を意識して物を考えさせられるのは苦痛だ。人間は物に対して型なんて考えない。それが自然だ、と。 怠惰(laziness)を追求すれば、自然と型を使ってしまうのが人間、いや生物だと思うのだが。 別にプログラムの世界に限った話ではない。「メタルカラーの時代5」において、三井ハイテックの三井孝昭氏は、「人間と動物の違いは金型を使うか使わないかだ」という名言を残しているが、動物どころか地球上の生物は金型はとにかく一つの細胞の例外も残さず型を使う。DNA → mRNA → tRNA+アミノ酸 →

    型凝り : 404 Blog Not Found
    NOV1975
    NOV1975 2006/11/02
    Sexyだよね。Sexyでいるにはどういう努力がいるんだろう。
  • Java Programming Tipsクラスローダーを自作する方法

    【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu

    Java Programming Tipsクラスローダーを自作する方法
  • DHTMLで作られたプレイ可能な「レミングス」 - GIGAZINE

    91年にAmiga用で発売されて以来、PC-9801、X68000、FM-TOWNS、スーパーファミコン、メガドライブ、プレイステーション、セガサターンなどなどに移植された往年の名作ゲーム「レミングス」をブラウザ上で遊ぶことができます。最新作は確かPSP向けに発売されたはず。 放っておくと次々と歩いてくたばっていくレミングたちに命令して、ゴールまでたどり着かせるというタダそれだけなのですが、ちまちまと歩く様子がおもしろげ。これをFlashではなくDHTMLとして再現したあたりにこだわりを感じる。 プレイは以下から。 DHTML Lemmings by crisp - Menu (リンクが切れていたので修正しました) 4つレベルがあるので、とりあえず初心者は「FUN」を選んでおきましょう 「Play!」をクリック 1面はこんな感じ わらわらとレミングが出てきます。このまま放置すると永遠に歩き

    DHTMLで作られたプレイ可能な「レミングス」 - GIGAZINE
    NOV1975
    NOV1975 2006/10/30
    無駄に頑張りすぎ。
  • プログラマーキテクト(※老害注意) (ZEROBASE BLOG)

    低レベル(低レイヤー)の技術力が高いと、いざというときに重宝します。与えられたリソースでは不可能と思われていたことを実現する技術。安易に「それはできません」と言わないための技術者のプライドとして。「できますよ、高いけど」といいたいじゃないですか(笑 知人の高林さんから「Binary Hacks ―ハッカー秘伝のテクニック100選」を書いたという連絡を受けました。 下記の文章は「生涯現役プログラマ」でやっていこうと思う人たちへのエールです。 「生涯現役プログラマ」でやっていこうと思うなら、何日でも徹夜できる安月給の若者に対して、体力の落ちた50代で高給取りのあなたが勝ち続ける方法を考えないといけません。あるいはインドをはじめとする低賃金、高アウトプット海外のオフショアリング業者、はたまた日へ出稼ぎに来る優秀な頭脳。彼らとの競争に勝っていかないと、仕事を奪われます。 どうやって競争するか。

    NOV1975
    NOV1975 2006/10/30
    でもその技術が突然ご破算になるというリスクは考えといた方がよいと思うが。まあ、プログラマーキテクトと呼べちゃうような人は対応できるんだろうけれども。
  • Rogue Engineer's Diary / やさぐれ日記(2005-11-13) / 「アルゴリズム+データ構造=プログラム」? 本当に?

    NOV1975
    NOV1975 2006/10/27
    本質+接着剤って感じか。インターフェースって「プログラム」に必要なものではなくて、「プログラミング」に必要なもののような気がする。※内部I/Fね
  • プログラマによくあるスペルミス:アルファルファモザイク

    バカ上司のスペルミス(ごく一部) range -> renge threshold -> threshldo entity -> enty pointer -> pontar cycle -> cicel length -> lenght variable -> varibul 彼の名言集 「映画は字幕見ないでも意味がわかる」 「今どき英語ができなくてどうする」 映像見れば、誰でも映画の内容くらい分かるさ。 英単語読めてないから、ありえねースペルミスするんだろ? 早く転職しないと… print → plint 中学校の時に BASIC プログラムを書くときに print を書き間違えて、 何が間違っているか分からずに小一時間ほど悩んだことがあります。 ちなみに、私が通っていた中学校では、授業(技術家庭)でプログラミングを少しだけやりました。 コマンドは全

    NOV1975
    NOV1975 2006/10/17
    ねーよww typoではありえない奴はいくらなんでもあんまりだ。といいつつ実は見たことあるもの複数…
  • IBM Java開発者のためのAjax: Google Web Toolkitを探る : Java : dW - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Java開発者のためのAjax: Google Web Toolkitを探る : Java : dW - Japan