Java屋Java信者とスクリプト言語屋の間には、「めんどくさい」と感じるセンスについて超えられない壁が存在している。 本質的でない事柄に関する記述があったときに、スクリプト言語屋は「めんどくさい」と感じ、Java屋Java信者はそれを感じないか、または「これは必要な冗長性だ」と本気で思い込んでいる。 前にとり上げたけど、アクセッサの記述がその典型例。本質的でない記述がずらっと並んでいることに、Java屋Java信者はホントに何も感じないのだそうだ。あれがどれだけ readability を下げているか、まったく分かっていない。 また System.out.print() もそう。たかが print 文のくせして、なんで System.out.print() と書かないといけないのか。本来であれば、Java1.5 のタイミングで package java.util; public clas
晴天の価値 2月中旬に出張で千葉へ行った。5日間の滞在中はずっと快晴で、気温は20℃に迫る春のような暖かさだった。仕事は朝から晩まで現場を走り回る過酷なもので、身体的にも精神的にも追い込まれた。毎朝、京葉線から見える美しい景色を眺めて正気を保っていた。太平洋へ燦々と…
「計算機プログラムの構造と解釈-Structure and Interpretation of Computer Programs(以下SICP)」という本を読み始めました。 なぜ読み始めたかを書いておくと後から読み返して初心を思い出すことができると思うので書いておきます。 世の中ではにわかに関数型言語(特にHaskell)がブームです。 もちろんそのブームにのっかったってのもありますが、d:id:higepon:20051214:1134573806にもあるようにそれ以前にSchemeを勉強しようとして挫折したことがあります。 僕がSICPを読もう・関数型言語を学習しようと思ったの理由は以下の通り。 ときどき「関数型言語はすごいらしい」と聞こえてくる。でも何がすごいのか理解できない自分がいた。 自分が尊敬するプログラマの多くがSICPを読んでいたり関数型言語を理解している。そして勉強する
Javaのfinalというのは、その変数の参照先が変わらない(参照先が別のオブジェクトに切り替わらない)というだけで、参照先に存在するオブジェクト自体のステート不変は保証されていない。 final FooBean bar = new FooBean(); bar.setBuz("hoge"); // エラーは起こらない /* bar = new FooBean(); */ // エラー しかし、ステートが不変である事も明示的に保証したい場合がある。 参照するオブジェクトの中身も不変であることを保証するsuper-finalも欲しいと思った時期もあったが、仕様がむずかしそーw と思って主張を諦めた。 都元ダイスケ🍅 on Twitter: "ついでに、参照するオブジェクトの中身も不変であることを保証するsuper-finalも欲しいと思った時期もあったが、仕様がむずかしそーw と思って主張
(Javaには限らないけど) http://d.hatena.ne.jp/lethevert/20080305/p2 http://cappuccino.jp/keisuken/logbook/20080307.html#p03 http://d.hatena.ne.jp/odz/20080307/1204898914 http://cappuccino.jp/keisuken/logbook/20080308.html#p02 前の話をもうちょっとよく考えてみると、もうちょっと一般的な原則に還元することができます。 まず、前提として、「アップキャストは無条件に成立するが、ダウンキャストは失敗する可能性がある。そのため、できる限りダウンキャストの発生を少なくしたい。また、同じ効果をもつコードなら、できるだけコードの再利用性が高い方が望ましい。」という判断基準は共有されているものとします。
「Eclipseが手軽」と言っている時点で卒倒もの。起動に何分もかかる開発環境が重荷というのは初心者だけではありません。 404 Blog Not Found:私がJavaScriptを初心者用の言語として選んだわけ 発言力のある人がこんな嘘を垂れ流してしまっては あまりにもあれなので書いておくと 「何分も」は言い過ぎ いったい何年前のマシンで開発しているのかと疑いたくなる. ちなみに俺の環境だと4秒くらいで起動する. vim とかに比べたら確かに遅いかもしれないけど 「何分も」は待たない. ちなみによく「Java の起動は遅い」とか言われる yoshiori@yoshiori-ubuntu $ time java -version java version "1.6.0_03" Java(TM) SE Runtime Environment (build 1.6.0_03-b05) Ja
2008年02月20日16:00 カテゴリLightweight Languagesアマグラマーのすすめ 私がJavaScriptを初心者用の言語として選んだわけ アマグラマーのすすめが止まっていて一部の読者を絶望させて申し訳ありません。他の本を先に出さないといけないというのがその理由なのだけど、いい機会なので、 2008-02-20 - きしだのはてな デブサミでid:amachangが、初心者がプログラムを勉強するための言語としてJavaScriptがいいと言っていて、ぼくも同じような理由でいいと思って初心者の勉強にJavaScriptを使ってみたことがあるのだけど、実際にやってみるとかなり難しいと思ったので、そのことをまとめておきます。 への返答の形で、なぜ私がJavaScriptを選んだのかをまとめておくことにします。 まず比較的明らかな理由。 インストール不要の開発環境 ブラウザ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
<< 2008/02/ 1 1. [言語] 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル 2. 「セキュリティ、なめんなよ!」 なめねこも一緒に情報セキュリティ強化宣言 | ネット | マイコミジャーナル 3. 「サイオステクノロジーはグルージェントの未来技術に期待し子会社化」:ITpro 2 1. [Ruby] Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling 2. [言語] LuaJIT roadmap 2008 3. [Ruby] What will Matz do? 4. [Ruby] EURUKO 2008 − European Ruby
目次 はじめに Abstract Classパターン Abstract ClassパターンRuby版 (by 助田雅紀さん) Balkingパターン Before/Afterパターン Futureパターン FutureパターンRuby版 (by 助田雅紀さん) Generation Gapパターン Hook Operationパターン Hook OperationパターンRuby版 (by 助田雅紀さん) Immutableパターン Marker Interfaceパターン Monostateパターン MonostateパターンRuby版 (by 助田雅紀さん) MonostateパターンPerl版 (by 宮川さん) Null Objectパターン Null ObjectパターンとSingletonパターン Producer-Consumerパターン Sharableパターン Singl
少々前の本家/.の記事より。ニューヨーク大学(NYU)の名誉教授で、GNU Ada95コンパイラ(GNAT)の開発者として知られるEdmond Schonberg氏とRobert B.K. Dewar氏が、NYUを始めとする最近のアメリカの大学におけるプログラミングの授業のあり方に苦言を呈して話題になっている。「計算機科学教育: 明日のソフトウェアエンジニアはどこに?」と題した彼らの論説では、最近の大学の授業ではCやC++、Lisp、(そしてもちろん)Adaと言った本格的な言語、数学やアルゴリズム、ハードウェアとの密接な関わり方といった難解なテーマを教えず、Javaのような簡単で人気が高く、近年減少気味の受講者数を増やせそうなお手軽な言語とカリキュラムしか教えなくなっていると主張。このままでは海外の安価なアウトソース先にたやすく置き換えられてしまう程度の能力しかない「プロフェッショナル」し
本演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講
Ajax/JavaScriptライブラリをまとめておきます。(順不同) | 基本 | 統合 | 表示系 | GUI部品 | イメージ | PGM連携 | ブラウザ | Flash | その他 | | 部品集 | リンク | 編集履歴 | ・基本ライブラリ ・・・Ajax開発のベースになるもの ↑TOP prototype.js 超メジャーなAjaxライブラリ prototype.js の開発者向けメモ prototype.jsリファレンス prototype.jsリファレンス(JavaScriptist) prototype.js逆引きサンプル集 Prototype 1.5.0 Cheat Sheet Prototype 1.5 PDF - API/サンプル/解説 Prototype.js Documentation - まとめサイト Prototype 1.6.0へのアップグレード実例紹
id:nicht-seinさんからコメントがあったので書いてみます。 まず、コメントにも書いてくださったようによく見かけるこれ (僅かに手を加えました) class CHoge { private: CHoge() : value_(100) {}; ~CHoge(){}; int value_; public: void setHoge(int value) { value_ = value; } int getHoge() const { return value_; } static CHoge& getInstance() { static CHoge instance_; return instance_; } }; 他からnewされないようにコンストラクタがprivateになってます。 勿論、スタックに置くためにCHoge hoge;もできません。 でも、実はこれはインスタンス
社内の精鋭エンジニアを中心に定期的に勉強会をすることになった。んで、 JavaScript の講義は僕がやることになった。 資料を社内だけでとどめておくのはもったいないので、ここに公開していきます。社内の人も社外の人も読んでください。 講義の内容は基本的にソース嫁。ソースレビュー形式。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 Section 00 Prototype.js の前に JavaScript のオブジェクトの概要・・・ オブジェクトを作ってみる。 var object = {};オブジェクトにメソッドとかプロパティを追加してみる。 var object = { field: 'IT戦士', method: function() { alert('hello ' + this.field); } }; object.method()
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く