2007/03/20

JBuilder2007 Free Edition!!

CodeGear | Trial and Free Versions - Borland
EclipseベースのJavaIDE、JBuilder2007の無償版、Turbo JBuilder 2007が出ました!
日本語へのローカライズも行われてます。やるねぇBorland。いや、CodeGearか。
ライセンスに関しては、特に制限はない模様。Turbo版に特別なライセンスは記述されていないので、Developer版等と同様に使えそう。インストール後のレジストレーションも必要ありません。但しWindows版のみ。

入ってる内容は以下の通り。
Subclipse:
・SVNチームプロバイダCore

FindBugs:
・FindBug Plug-in

Spring IDE for Eclipse:
・Spring IDE

Mylar Technology Project:
・Mylar Plug-in

JBuilder:
・JBuilderプロジェクトのインポート
・Maven2.0インテグレーション拡張機能
・RDB InterBaseプラグイン
・XPlanner用Mylarコネクター

Borland(TM) CaliberRM Eclipse Client 2006:
・CaliberRM Eclipse Client

Web Standard Tools:
・Dali Java Persistence API(JPA) Tools
・J2EE Standard Tools(JST)
・Web Standard Tools(WST)

BIRT Example:
・Apache Commons Codes
・BIRT Chart Context-sensitive Help
・BIRT Chart Framework
・BIRT Chart Runtime
・BIRT Context-sensitive Help
・BIRT Example
・BIRT Report Designer
・BIRT Report Runtime
・Business Intelligence and Reporting Tools
・Lowagie Itext
・Mozilla Rhino
・W3C Sac

Eclipse Data Tools Platform Model Base
・Eclipse Data Tools Platform
・(Data Tools Platform関連他5個)
・Eclipse Java Devlepment Tools

TPTP Platform Samples
・TPTPに加え、EMFやGEF、Visual Editorなど

よく使われるフリーのプラグインに加え、CaliberRMのクライアントやInterBaseやMaven対応ってとこ。
まぁ、EclipseのCodeGearセレクションプラグイン集って感じで、独自機能は少しです。
ただ僕が常用してるうち、AJDTとPropedit以外のプラグインはほぼそろってるので、なかなか快適。

2007/03/12

Project DarkstarがGPLに

MMORG用のフレームワーク、Project DarkstarがGPLでリリースされることが発表されました。
Sunのニュースリリース
Project Darkstar

('L'の付かない)GPLだと当然これを使って作ったアプリケーションにも影響が及びます。なのでこういう基盤もののライセンスにGPLってのはかなりきつい制限を設けることになるんだけど、Sunもそれを認識してて、GNU classpathみたいな例外を検討中みたいです。
http://www.javagaming.org/forums/index.php?topic=16173.msg128008#msg128008

ところで、基盤部分にはApache MINAを使ってるっぽいです。Grizzlyじゃないのね。こちらも要注目かな。

2007/03/10

AOP関連の研究プロジェクト

http://aosd.net/wiki/index.php?title=Research_Projects"
アスペクト指向関連の研究プロジェクトのリスト。研究プロジェクトといっても、既にプロダクトがリリースされてるものがたくさんあります。
Supported Systemsの章には様々な言語用のAOP処理系がリストアップされてて、PHPRubyperlPythonXMLまであります。
知らないうちに、いろんな言語でAOPが利用できるようになってるんですね。

2007/03/04

プロパティを巡る議論

Why Java Properties are BAD, ugly and uncomfortable
何故Javaのプロパティはだめで醜くて不自由なのか。
この人の主張は、
・"->"が醜い
・セッタメソッドでパラメータオーバーロードが使われたら、同じメソッド名にも関わらず一つはプロパティ用で一つは単独のメソッドになる。この状態も醜い。
・なのでプロパティサポートは良いことではないけど、getXXX、setXXXを自動で生成するだけならありかも。
ってなところ。

プロパティを巡る議論はいろいろあって、様々な人から提案が行われてる。もっとも代表的な議論はおそらくこれ。Property Support in Java, the Java Way™

コードはこんな感じ。

class Test{
public property String name;
public static void main(String[] args){
Test t = new Test();
t.setName("Joe");
System.out.println(t.getName());
t->name = "Joe";
System.out.println(t->name);
}
}

propertyを使って宣言すると、getXXX/setXXXが自動的にされること、及びpropertyに対して短縮構文でgetXXX/setXXXにアクセスできることが主要な特徴。ここから派生してもっと過激なこともたくさん書いてあるけれども、基本はそんな感じ。

で、これには様々な人から賛否両論があって、というか否定的な意見の方がよく目にするんだけど、批判は短縮構文"->"に集中してる。確かにこれは醜いと思う。
ただし、重要な意見として、プロパティはシンタックスシュガーではなく、コントラクトだというものがある。これは核心を突いていると思う。つまりは単に記述を楽にするものではなくて、プロパティであること自体が意味を持ち固有の機能を持つってこと。固有の機能として、JavaDocやリフレクション等に情報が反映されて、値の検証が行えたり、正しい値がどのようなものか明示できるようになることが挙げられている。

僕も"->"は醜いと感じるし、プロパティ自体好きではないんだけど、プロパティとしてデフォルト値や検証情報(0以上の数値とか2000年以降とか20文字以内とか)が記述できて、Hibernate等のO/Rマッピングは基本的にプロパティを対象とする、なんて使われ方であれば、利点の方が遙かに大きいので導入して欲しい。

System TrayのOS対応

Java6から利用できるようになったシステムトレイAPI。
Windowsだともちろんシステムトレイ、LinuxのGnomeも画面下のトレイ部分、そしてMacOS Xではメニューバーの右にアイコンが出るらしい。

WindowsとGnomeの例:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/systemtray/

Mac OS X:
http://d.hatena.ne.jp/tarchan/20061217

2007/02/22

[aspectj-users] AspectJコードをJavaコードに変換する

[aspectj-users] Covert AspectJ Code to Equivalent Java Code
AspectJ 1.0まではJavaコードを吐くオプションがあったけど、最新版ではどうしたらいいの?って話。
AspectBench Compilerを使えばできるらしい。Load Time Weavingとか、サポートしていない仕様(リスト)も結構あるんだけど、ほとんどのAspectJのコードを解釈できて、-davaオプションをつければクラスファイルの代わりにJavaコードを生成するらしい。
さらに自由にいろんな機能を実装してテスト出来るように、拡張性の高いフレームワークが使われてるらしい。すご。

2007/02/18

Grizzly

http://journal.mycom.co.jp/articles/2007/02/07/grizzly/
https://grizzly.dev.java.net/
http://weblogs.java.net/blog/jfarcand/

NIOベースの通信フレームワーク。スケーラブルなサーバ用に開発されてるらしい。
もともとGlassFishの通信フレームワークとして開発されたものが、独立したプロジェクトとしてスピンアウト。
HTTPD相当の機能も実装されてて、Cometdにも対応してます。

JBuilder2007 Released

JBuilderの最新版がリリースされてます。
http://www.borland.com/jp/company/news/press_releases/2007/20070214_jbuilder2007.html
http://www.borland.com/resources/jp/pdf/products/jbuilder/jbuilder_2007_datasheet.pdf
http://www.borland.com/resources/jp/pdf/products/jbuilder/jbuilder_2007_feature_matrix_ja.pdf

Eclipseベースになって最初のリリースです。
確かにTogether(UML)とプロファイラが使えるのはうれしい。でも高い。
あと、フリー版が無いのが残念。

2007/02/17

スパムブログ解除

リクエストしたら半日でレスポンスが返ってきた。
一回目は何故か解除されてなかったんだけど、二回目で無事解除。
よかったよかった。

Java7 Roundup

http://tech.puredanger.com/java7/
Java7に入るかもしれない仕様のまとめ(非公式)。
Javaの初期サイズを小さくするJava Kernelとか、スクリプトエンジンの追加(Jython, JRuby)とか、 NIO2とか。
DateTimeAPIやクロージャも挙げられてます。