2013-01-01から1年間の記事一覧

new T()したいケースへの対処法

Javaのジェネリクスの話題のひとつにnew T()したいができないので困る、というテーマがある。 先日のセッションではこの対策についても簡単に述べたが今日はそのまとめ。まず第一に疑うべきは本当にnew T()する必然性があるか?というのが持論だが、ある種の…

Semicolonless Java8

JJUG CCC 2013 Fallの懇親会のLT(ライトニングトーク)でSemicolonless Java8について発表しました。Semicolonless Java とはエクストリームプログラミング(要するにプログラミングの縛りプレイ)でルールは以下のとおりです。 セミコロンを用いてはいけない …

JJUG CCC 2013 Fall でジェネリクスのセッションやりました

資料はslideshareに上げました。ジェネリクスの基礎と クラス設計への応用 ジェネリクスの基礎と クラス設計への応用 from nagise 内容はジェネリクスの基礎的なところから、話題を網羅する感じでかいつまんで紹介といったところです。 セッションの元ネタは…

Javaのジェネリクスとリフレクション応用編

前回から随分と間が開いてしまった。Javaのジェネリクスはイレイジャ方式だけどもクラスにバインドした型の情報が残る場合があるんだよシリーズの第2弾である。具体的にどういう場合にバインドした型が残るのかという話だが、端的に列挙すると以下のものであ…

高階型変数のパラダイム分析

前稿 ジェネリクスのカリー化 - プログラマーの脳みそ では、Javaの内部クラスを利用して複数の型変数をもつジェネリックなクラスをカリー化することができるという話をした。では以前のJavaによる高階型変数の実装 - プログラマーの脳みそで用いた手法はカ…

ジェネリクスのカリー化

関数を扱えるだけでは、モナドを表現するには不十分過ぎる - xuwei-k's blogを見て、言語の型システムの表現力とその限界とはなんなんだろうということをモヤモヤと考えていた。ここで話題になっているのは型変数を持つ型変数という話題である。これを便宜的…

コードクローンと品質

コードクローンと品質について話題になっている。元ネタはこちら。 ソースコードの品質についても、みずほ証券は問題を指摘している。今回のバグがあったプログラム全体について、「ソースコードの著しい重複が見られるなど、エラーの潜在する率が極めて高い…

言語機能としての型、概念としての型

某エントリが型について再考するきっかけになったのは事実だが、個々人の思想の成否を問う気がないのでとくにリンクはしない。ここでは型とは何かという点について僕なりの思想を記しておきたい。 データ型を区別しない世界 ごくシンプルなチューリングマシ…

【告知】JavaOne 2012 San Francisco 報告会 in 富山

1/26 (土) JavaOne 2012 San Francisco 報告会 in 富山寺田さん、櫻庭さん、太一さんの豪華キャストでお送りします。今回はサンフランシスコのJavaOneの報告会です。2012年のJavaの技術動向について理解を深めることができる会にしたいと思います。