Programming

関数型Scala(7):ラムダとその他のショートカット - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第7回「Functional Scala: Lambdas and other shortcuts | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年12月5日) 前回は、関数型プログラミ…

関数型Scala(6):高階関数 - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第6回「Functional Scala: High, Higher, Higher Order Functions | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年11月28日) 関数型Scalaの第…

関数型Scala(5):内包を理解する - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第5回「Functional Scala: Comprehending Comprehensions | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年11月21日) 関数型Scalaの第5話によ…

関数型Scala(4):クロージャ - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第4回「Functional Scala: Closures | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年11月15日) 関数型Scalaの第4話にようこそ! 今回はあち…

関数型Scala(3):関数としてのオブジェクトとしての関数 - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第3回「Functional Scala: Functions as Objects as Functions | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年11月8日) 関数型Scalaの第3話…

関数型Scala(2):関数 - Mario Gleichmann

この記事はMario Gleichmann氏による、「Functional Scala」シリーズの第2回「Functional Scala: Functions | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年10月31日) 関数型Scalaの第2話へようこそ!前回は、コ…

関数型Scala(1):導入 - Mario Gleichmann

この記事はMario Gleichmann氏のブログエントリ「Functional Scala: Introduction | brain driven development」を、氏の許可を得て翻訳したものです。(原文公開日:2010年10月28日) また、当記事の翻訳許可を求めてメールした際、その返信として氏から暖…

内部DSL:ノイズとの戦い

ファウラーのDSL本から、ノイズを除去して自然言語にできる限り近づけるための内部DSLのパターンを示す。 導入 あらためて、DSLとは"Domain Specific Language"、すなわち「ドメイン固有言語」あるいは「ドメイン特化言語」です。したがって、ポイントは対象…

内部DSLの表現力

FolwerのDSL Bookを参照しつつ、クロージャを利用したサンプルを用いて内部DSLの表現力について考察する。 導入 - クロージャについて 前回までのエントリでは、内部DSLの実装パターンとしてObject ScopingとMethod Chainingを利用しました。これらのパター…

抽象モデルと意味モデル

Martin FowlerのDSL Bookにおける意味モデル("Semantic Model")について、サンプルを示しつつ解説する。 意味モデルとは 意味モデル("Semantic Model")について、Fowlerは次のように解説しています。 A Semantic Model is realy just a Domain Model tha…

言葉とコード

システム開発における言語的要素の重要性について、書籍を参照しつつ私見を整理する。 導入 世の中には「文系プログラマ」という表現がありますが、私もそのカテゴリに入る人間です。それも文系度はかなり高く、文学部でいわゆる思想史的なことを勉強してい…

ライク・ア・サブマシンガン

スピードのあるコーディングについて、Travis Dunn氏の記事を引用しつつ、私見を整理する。 導入 「コーディングの生産性は人によって大きな開きがある」ということが色々なところで言われています。処理の難易度やバグの量、可読性や拡張性の高さなども考え…