2011-03-01から1ヶ月間の記事一覧

Java言語のClassクラスが持つちょっと不思議な性質について

前回のエントリーJava5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指してで、Javaの型システムが総称型の導入によりJava5から大きく拡張されたということを説明しました。ポイントは 総称型により…

Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる

Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解す…

Java総称型のワイルドカードを上手に使いこなすための勘所

Java5以降では総称型(generics)がJava言語に導入されています。総称型自体は、最近の静的な型付けのプログラミング言語で珍しいことではなく、現在の最新版では.NETのC#やVisual Basicにも導入されています。一般的には総称型をサポートするクラスライブラ…

普通の(業務)Javaアプリケーションでは配列をなるべく使用しない方がよい

以前、業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指してにて、Java言語の配列はListなど他のコレクションとの不統一が顕著であるという点を説明しました。Java言語の配列は 要素に[ ]演算子を使って簡単に…

ドラゴンボールで学ぶオブジェクト指向 改(第弐話)

ドラゴンボールでオブジェクト指向の学習という元ネタのアイデアがうけたのか、ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指しての記事がかなり大きな反響がありました。前回の記事では、クラス図とデザインパターンを使った設計によ…

ドラゴンボールで学ぶオブジェクト指向 改

ドラゴンボールといえば、大変に人気の高い国民的、いや世界的な漫画、アニメですが、昨日匿名ダイアリーでドラゴンボールをネタにしたオブジェクト指向の解説がホッテントリに入っていました。 ドラゴンボールで学ぶオブジェクト指向 多くの人に親しみやす…

まだそれを考える段階でないかもしれないが、巨大地震に遭ってSI業界は今後どうなるのだろうか?

日本列島を突然東北地方太平洋沖地震(東日本巨大地震、東北関東大震災)が襲いました。このような時期に、今回の地震に関してブログエントリを書くことは畏れ多いこと、不謹慎なことと感じられるかたもいらっしゃる思いますし、しばらくブログを書くのもお…

Groovyのオーバーロードメソッドの解決はユニークなところがある

Java、C#、C++などを含めて現代のほとんどの静的な型付けのプログラミング言語では、異なる型を取る複数のメソッドを同じクラス中に多重定義することができます。これはメソッドのオーバーロード(overload)*1として知られています。たとえば、以下のように同…

よりGroovyらしいプログラムへのリファクタリングに挑戦してみました

先日認定試験問題のリファクタリング結果をGroovyにとりあえず移植してみました - 達人プログラマーを目指してにてJavaプログラミング認定試験のサンプルプログラムのGroovy化について紹介しました。その記事を書いた時点では、とにかくGroovyとJavaとの親和…

SI業界の改革には責任者に対するショック療法が有効かもしれない

私の直属の上司ではないのですが、会社の大先輩がインドに1ヶ月程滞在し、現地のSIerの開発現場を視察してきました。現地での研修を提供している会社は、あのデータさんの子会社になっているみたいです。 http://www.vertexsoft.co.jp/services/learning-in-…

クラウドが昔ながらのSIerの仕事を奪うようになってきてはいるけれど

Salesforceといえば、ちょうど最近行われたSalesforce Developers | Developer Eventsというイベントに参加された方もSI業界では多くいらっしゃるのではないかと思います。私はそのイベントには参加していませんでしたが、先日会社でSalesforceのSE*1の方か…

認定試験問題のリファクタリング結果をGroovyにとりあえず移植してみました

最近Groovyから遠ざかっていたため、勘を取り戻す練習も兼ねて、先日Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その3) - 達人プログラマーを目指してでご報告したサーティファイJavaプログラミング認定試験のリファクタリ…