コア・プログラミング

 最近、アジャイル開発だの、IDEツールだの、プログラマの負担を軽減する話題に事欠かない。それはそれでいい事と思う。しかし、はたと気がつくと「できてあたりまえ」とすら思っていることでもちょっと戸惑ってしまいそうなことになっていたりする。たとえば、最近のトレンドでWebアプリケーションばかり作っているJavaプログラマの中には以下のようなことで戸惑ってしまうことも多いのではないだろうか?

  • javacでのコンパイル
  • javaコマンドでのjavaアプリケーションの起動
  • antによるビルド
  • ファイル入出力
  • マルチスレッドプログラミングと同期処理
  • ソケットプログラミング
  • jarファイルに一緒に固められたpropertiesファイルからの値の取得
  • クラスの動的(クラス名からの)ロード

今、私は、アプリケーションよりも少し下層のプログラムを作っているのだが、それまでWebアプリケーションを中心に作り続けていたために感覚が戻るまでひどく苦労している。