よく他人から「なんでASP使ってるの?」という質問(詰問?)をよく受けます。
もちろん、昔からセキュリティ面を中心に色々と問題や不具合が多いという指摘は、私もよく知っています。
では、なぜ使うのか。理由は2つあります。
顧客が ASP ベースのアプリケーションを既に導入し、それが顧客のシステム部門で「板」についている
今さら「Linix に替えろ」とか、「Perl とか PHP にしろ」なんて、所詮部外者が言える立場にありません。
当然、顧客の会社内部では現時点までにかけた費用もあるし、顧客のシステム部門には ASP に特化した技術者を抱えている場合も多いと思います。
それらを全部ではないにしろ、かなりの部分を放棄する可能性のあるような判断はそうそう下せるものではありません。
もちろんセキュリティ面でのリスクがあると思いますが、会社というのはセキュリティ面だけの理由で新しいシステムに入れ替えるのは、利にかなう部分がかなり少ない以上、非常に難しいのです。
じゃあ、「今後入れるシステムから別のシステムにする」という考え方もありますが、これだってかなり難しいです。
要するに既存のシステムとは別のシステムを面倒を見なくてはならないわけですから、維持・保守に費用がかかります。
こんなジレンマに陥っている会社は「ざら」です。
もちろんそんな中で働く我々、外注システム屋は、顧客に対し助言や提案はします。
でも結局のところ、顧客のニーズに合った形で製品やサービスを提供していくのが我々の職分だと思いますし、その限られた領域の中で色々なものを提供するのが、よいシステム屋だと思います。
Windows に搭載されている標準 Web サービススクリプトだから
もちろんASP(つか VBScript)は非常に手間のかかる言語であるのは解っていますが、DB などへの接続まわりや、BASP など手間のかかる部分に対して補完してくれるようなコンポーネントがあります。
特性さえ理解していれば、不自由を感じることはあるかもしれませんが不可能な場面はそうそう出くわすことはないと思っています。(いざとなれば、Perl 呼べばいいんですしね。)
それに Perl と同じで、比較的敷居が低い言語であれば、OS つまり Windows に近い言語を選ぶのは、極めて理にかなった話ではないでしょうか。
もちろん、セキュリティ面で問題を抱えることが多い言語はありますが、セキュリティ面をよく考えてプログラミングをしなくてはならないのは、他の言語だって同じだと思います。
Micorosot も、Session の利用非推奨など当初から方針を変えた箇所については提示していますし、セキュリティ対策も進んでいます。そんなに悪いサポートはしていないと思います。
そんな中、個人的には ASP の技術系サイトが閉鎖されることが、とても残念です。
確かに内容の陳腐化は避けられないかもしれませんが、別に間違った事を書いているわけではなかったと思うので、残しておいてもらっても良いのではないかと思ったりします。
巷では ASP.NET が出始めています。ただ個人的には ASP はまだまだ使われると思います。
ASP.NET には、開発パッケージの問題(効率的な開発には開発パッケージの製品購入が必要不可欠)と Windows Server 2003 の購入(ASP.NET を動かすには必要不可欠)が要求されます。
そして何より ASP.NET そのものが、言語としての敷居が高いです。
非常にスクリプトライクな ASP が Windows Server 2003 で動く以上、変更する理由がまったくないのも事実ですし。
…なんだか非常に ASP を擁護するような書き方になってしまいましたが、別に Perl よりも勝っているとかそういう話ではありませんので。私だって Perl は使いますし。
あくまで「いち技術者」として ASP の個人的な感想ですよ。