ソフトウェアがすこし設計できたかな

 おはようございます。だんだん暑さが増してきましたね。スーツを着るのがつらいです。エアコン付スーツって誰か安くで作ってくれないですかね。

 昨日はソフトウェアの設計をしていましたが、かなりイメージすることができました。しばらくソフト開発から離れていたのでカンを取り戻すのに時間がかかりますね。オブジェクト指向設計なども勉強していましたが、いまいち実際の開発では使えませんでした。
 しかし何がしたいのか、どういう機能を実装するのかを明確にしてくると意外に全体像が見えてきました。今週はメソッドやデータ構造を詳細化していくつもりです。

 とりあえずTomcat+Tapestry+Hibernateという組み合わせで作るつもりです。しかしJavaはツールが色々あって覚えることが多すぎです。もはやJavaで作るときはツールなしでは作れなくなっています。それにコードを自動生成するタイプのものが増えているので中身がよくわからなくなってますよね。
 こういう方向性はどうかなと考えてしまいます。まー機械語でソフトを組んでいた人はコンパイラーが出てきたときは同じように思ったのかもしれません。

 私は言語としてはJavaはあまり好きではありません。何層にもディレクトリを作ることといい、バイトコードコンパイルという中途半端な構造といいプログラマーとしてはぐっときません。しかしユーザー数が多いから新しいツールが色々開発されています。ライブラリも豊富だし、何よりJavaエンジニアが多いのがいいですね。開発を外に出しやすくなります。(ちゃんとした外注先があればいいんですが、なかなかいないんですよね。これが。)
 これらのトレードオフを考えるとWeb系の開発ではJavaがいいのではないかと思っています。自分の好みでいうとRubyで作りたいところですが、ライブラリの充実度はJavaに劣りますからね。