PL/SQLの開発環境

次の仕事がPL/SQLだもんで,どんな開発環境があるか調べてみたよ。
当たり前な話なんだが,慣れた環境が最もパフォーマンスが良いので,不慣れな分だけ生産性は劣化する。アタシの場合だと「IDEAでJava」が慣れた環境なワケで,これ以上にパフォーマンスが上がることは望むべくもない。んで何が言いたいかと言えば,やっぱり普段使いが一番で,それが自分の最大効率だったと改めて思い知ったのであった。


そんなわけでダ。普段使いの生産性を基準にすると,それ以外はどうやっても落ち目になるんで,普段使いよりちょっと落ち目の条件を基準にしといたほうが,人から誤解されなくていいかなと思ってみた。
たとえば「IDEAでJava」を基準にしないで,「vimJava」あたりを基準にしとくとか。:-P


不慣れな条件だとしても,言語の習得しやすさやら開発環境のデキの良さで,ある程度こなれれば生産性もそこそこ上がるものもあるだろうけど,PL/SQLはどーだろなー。「JavaからC#」とかだったら,そのうち慣れるって言えそうだけど,PL/SQLはどうガンバッテも「IDEAでJava」並にはならなそうな悪寒。


個人的事情はこんくらいにして,開発環境の評価を...

  1. PL/SQL Developer
    • ○ コードアシストが優秀
    • コンパイルエラーの行をハイライトする
    • ○ デバッガが使える
    • ◎ テスト支援がそれなりに充実(唯一カバレッジ取得できる)
    • プラグインで拡張可能(pldocプラグインとか使える)
    • ○ プロジェクトの概念があり,ローカルファイルにスクリプトを置いておける
    • ○ ツールが日本語にローカライズしてある
    • × 商用(25,000円)
    • × UIがちょっと使いづらいし,古くさい。
    • × コードのバージョン管理はできない
  2. OraDeveloper
    • ◎ コードアシストがかなり優秀
    • コンパイルエラーの行をハイライトする
    • ○ デバッガが使える
    • ○ プロジェクトの概念があり,ローカルファイルにスクリプトを置いておける
    • ◎ UIが今風
    • × 商用($99.95)
    • × 英語版しかない
    • × コードのバージョン管理はできない
  3. Oracle JDeveloper
    • ○ コードアシストは並
    • コンパイルエラーの行をハイライトする
    • ○ デバッガが使える
    • ○ プロジェクトの概念があり,ローカルファイルにスクリプトを置いておける(Offline Database Sourcesとのリンクがちょっと手間)
    • ○ コードのバージョン管理ができる(CVSとも連携可能)
    • ○ フリー
    • × DB内のプロシージャを直接編集しないとコードアシストが効かない
    • × PL/SQLの開発だけに使うには,ちょっと大げさ
  4. Oracle SQL Developer
    • △ コードアシストはおまけ程度
    • コンパイルエラーの行をハイライトする
    • ○ デバッガが使える
    • ○ フリー
    • × プロジェクトの概念がない
    • × 直接DBを編集するので,ローカルファイルを必要としない。
  5. SI ObjectBrowser
    • コンパイルエラーを報告する
    • ○ デバッガが使える
    • × コードアシストは無い
    • × 商用(ウチの会社の場合,これはデメリットにならん)
    • × UIがかなり古くさい
    • × 直接DBを編集するので,ローカルファイルを必要としない。

PL/SQL DeveloperとOraDeveloperが接戦だったんだけど,テスト支援があるのでPL/SQL Developerを一押しにしてみた。なによりカバレッジ取れるのがイイ。
でも,どっちも使い込んでないんで,あくまでファーストインプレッションって話。


コストパフォーマンスを考えれば,OraDeveloperもそう悪くないと思ってる。バージョニング(SCMとの連携)は何もIDEで出来なくてもやりようがあるんで,それほど重要視はしていない。
テストに関しては,テストドライバは他にアテもあるんだけど,証跡残すとなるとカバレッジとか取れないと,ちょと困るなぁって。一応,DBMS_PROFILERってのを見つけたんだけど,これがどんなもんかは確認するに至ってない。


開発環境にまったく金をかけないのであれば,JDeveloperが落としどころだろうな。SQL DeveloperとかObjectBrowserは開発ツールちゅうよりは管理ツールって色合いが強い(特に後者)。


なんにしろ,勝手の分からぬ言語や環境っちゅうのは,慣れるまでストレスがかかるのう。:-(