Programming

久し振りにプログラミングをしてみた。結構疲れた。やっぱり設計は大事。

カテゴリー: Java

Roller Template

Apache Roller が4.0になっているので、ちょっと使ってみたりしているのですが、あいかわらずテンプレートについては謎の部分というか、使いにくい部分というか、そういうのがあります。まだまだノウハウが蓄積できていないということなのでしょう。

JDK Download

おぉー、JDKのダウンロード画面が変わったぁー。JREのインストーラも何だかいつもと違う雰囲気でOpenOfficeの宣伝をしている…

カテゴリー: Java

VM

Perl で 8ビット CPU を作る – naoyaのはてなダイアリー
http://d.hatena.ne.jp/naoya/20080104/1199428155

昔、「CPUの創り方」という本を購入したときに、仮想マシンで用意してあげると面白そうだなぁと思ったことがあったのですが、そのままになっていました。CPUを構成する部品を全部ソフトウェアで実装するということを想像していたのですが、面倒になってやめてしまったのです。教材として使うことを想定していたので、あまり難しいことはしないで実装するにはどうすればいいのか、とか余計なことを考えていたのがいけなかったかもしれません。octopusでは、もっと単純に実現しているような感じなので、JavaとかRubyで結構簡単に実装できてしまうような気がします。どうなんでしょう。

Generics

InfoQ: クロージャとJavaらしさの維持
http://www.infoq.com/jp/news/2007/12/closures-preserving-feel-of-java

クロージャについても興味深いですが、Genericsの導入は失敗だったという主張の方がもっと気になります。シンプルな文法だというのが大きなメリットであったJavaですが、Genericsの導入によって、複雑で覚えにくい言語になったといえば、それは確かにそうです。クラス、オブジェクトだけを使ったプログラムで説明ができるのですが、実用的なプログラムを作成しようとすると、プリミティブ型を使いたくなってしまう場面がでてきます。速度を考えなければ、ある程度はかまわないのですが、明示的にプリミティブ型をつかっておいた方が良い場合がやはりあります。もちろん、コンパイラがどの程度最適化をしてくれるのかにもよりますが、確認するためにはコンパイラが生成するJavaVMのコードがわからないといけません。それはもうワンランク上の話になります。

ただ、Javaプログラムを作成するにあたって、定型的なキャスト操作をしなくて済むという意味ではGenericsは役に立つし生産性を高めていると思うので、失敗といっていいのかは疑問です。Javaの不思議はひとつ増えてしまっていますが、利点の方が大きいように個人的には思っています。どれだけ弊害があるのかをきちんと検討していないからかもしれませんが、Genericsが導入されたおかげで、型について安全性を保てるようになったのは、やはり便利だと感覚的に感じているからです。

カテゴリー: Java

PDF Renderer for Java

InfoQ: SunがオープンソースPDF Rendererをリリース
http://www.infoq.com/jp/news/2007/12/sun-releases-lgpl-pdf-renderer

PDFのレンダラはあるといろいろと便利そうです。ps2pdfコマンドとPHPを組み合わせれば、簡単なPDF出力環境は用意できるのですが、Javaで記述しておくと、WindowsでもMacでもLinuxでも動作できるので、そういった点がポイントになってきます。OOoとかでも結局これを使っているんでしょうか。ネイティブのライブラリを使っているのでしょうか。気になります。

カテゴリー: Java