VisualStudio 2008の起動自体も遅いが、デバッガはもっと遅い。
基本的に、VisualStudio 2008を終了する時には、
・Start画面を閉じる。
・ブレークポイントを全部削除する。
の2つは必ず守らないといけない。
そうしないと、起動やデバッグ開始の度に、10分くらい、デスクトップを人質に取られるからだ。
要は、ネットワークのコネクションやレスポンスの遅さ(タイムアウトまたはレスポンス1秒 × 1000カ所≒16分)を甘く見るからこうなるので、某社の開発支援ツールでも同様な目にあっている。
要は、使い込まない奴が作った開発環境やツール類は、全て同様の問題を内包している。
とは云え、それで開発しなければいけないなら、
別の場所で頑張る方法もある。
それがSQL Serverのストアードプロシージャだ!
マネージャの画面では、ずばり「プログラム」に分類されている。
と云うのも、その場でパラメータを打ち込んで実行することも可能。
この辺はIISでWEBサービスをデバッグするのと雰囲気が似ている。面々と続く、N88-BASICっぽい仕組みである。
この辺は単に実行するにも単にデバッグにも単にテストするにも、延々と事前作業が必要なEclipse系Java開発環境とは全くの別系統だ。
こんなに手軽に実行できるなら、VisualStudio2008から逃げ出して、延々とストアードプロシージャのデバッグに勤しむのも、理解できると云うものだ。
勿論、他人のN88-BASICコードは、難解です。
@A int AS DECLARE @AP1 INT(3) , @AP2 INT(3) , @AP3 INT(3) SET @AP1(1)=1, @AP2(1)=2, @AP3(1)=3, @AP1(2)=10, @AP2(2)=20, @AP3(2)=30, @AP1(3)=100, @AP2(3)=200, @AP3(3)=300 EXEC PROCEDURE_1 @AP1(@A), @AP2(@A), @AP3(@A)
と、分岐が大っ嫌いなコンパイラーが出力しそうな結果をイメージしたソースコードが書かれていたら、どうします?
(@@/ と・・・すがすがしく感じていただけるだろうか?(大笑
もしかしたら
@A int AS DECLARE @P1 int, @P2 int, @P3 int IF @A = 1 THEN SET @P1=1, @P2=2, @P3=3 IF @A = 2 THEN SET @P1=10, @P2=20, @P3=30 IF @A = 3 THEN SET @P1=100, @P2=200, @P3=300 EXEC PROCEDURE_1 @P1, @P2, @P3
と、あるべきなのでしょうか?
ぼくは
@A int AS IF @A = 1 THEN EXEC PROCEDURE_1 1, 2, 3 IF @A = 2 THEN EXEC PROCEDURE_1 10, 20, 30 IF @A = 3 THEN EXEC PROCEDURE_1 100, 200, 300
で十分じゃないかと思います。
今思えばOS/2のVisual-Ageがリリースされた後に、インタープリターみたいなモノを作る仕事が多かったのは、やはり『開発環境が重かったせい』だったのかな?
※上記のコードは雰囲気を表現したもので、文法的に正しいかどうかはチェックしていません。