3

JScriptでクラシックASPコードを作成することには、多くのメリットがあります。より人道的な構文、適切なオブジェクトシステム、プログラマーの知識、および一般的な煩わしさの欠如です。いくつかの癖に注意すれば、既存のクラシックASPアプリにレガシーVBScriptと新しいJScriptコードを混在させることもできます。

これ以上使わないのには理由があるのではないかと思っていました。それはただの勢いとドキュメントの欠如ですか?または、パフォーマンス、スケーラビリティ、または信頼性の観点から、VBScriptを使用する正当な理由がありますか?

注意:私はVBScriptとJScriptの比較にのみ興味があります。クラシックASPは一般的に山積みであることは知っていますが、ここでは選択の余地がありません。

4

3 に答える 3

4

私はJScriptに賛成票を投じます。私は数年前にいくつかの調査を行いましたが、どちらを使用しても実際のパフォーマンスへの影響は見られませんでした。多くの例とドキュメント(すべて古いものになります)がVBScriptを使用することは事実ですが、JScriptにある程度精通していれば、これらは簡単に翻訳できます。

JScriptは、MicrosoftのECMAScript、つまり「JavaScript」の一種です。

  • JavaScriptは、Windows、Linux、およびMac(および、iPhone、Android、Windows Phone、さらにはコンパイラー/インタープリタープロジェクトを介した.NETおよびJava)で実行されます。VBScriptはWindowsでのみ実行され、それでも私が知っている2つの主要なインタープリターのみがあります。クラシックASPとWindows Scripting Hostであり、どちらも非推奨です。
  • JavaScriptはオープンスタンダードであり、VBScriptはプロプライエタリ言語です( http://en.wikipedia.org/wiki/ECMAScript
  • JavaScriptは、'95以降のすべてのWindowsオペレーティングシステムにデフォルトで含まれています
  • Microsoft、Google、Mozillaなどは、ブラウザなどの他の環境でJavaScriptをより高速に実行する方法を積極的に開発しています。VBScriptにはそのような開発はありませんが、これはほとんど行き止まりです。
  • JavaScriptは、OOP(継承、ポリモーフィズム、クロージャによるカプセル化を含む)をサポートするオブジェクト/プロトタイプ言語です。VBScriptでこれを実行してみてください。

http://javascript.crockford.com/prototypal.html

http://ejohn.org/blog/simple-javascript-inheritance/

http://w3mentor.com/learn/javascript-examples/object-Oriented-javascript/example-of-encapsulation-using-javascript/

  • VBScriptとJScriptはどちらも組み込みツールを使用してXMLを解析できますが、JScriptはJSONで勝ちます
  • WSHのJScriptは、1つまたは2つの非常にまれな例外を除いて、VBScriptが実行できるすべてのことを実行できます。このようなまれなケースでは、スクリプトエンジンActiveXObjectを使用してVBScriptを呼び出すことができます。
  • JScriptには、VB.NETでさえ採用されているはるかに優れた/最新のtry {} catch {}がありますが、VBScriptにはONERRORしかありません。

VBScriptは、特定のAPIまたはインターフェイスを備えたJScriptよりも優れている場合がありますが、これは簡単に修正できます。jQueryがブラウザーのひどいDOMAPIに対して行うのと同じことですが、サーバー側のJScriptは非常に柔軟であるため、これを行うことができます。

適切なWebプログラマーはMicrosoftが採用しているJavaScriptを知る必要があるため(VBScriptではなく)サーバー側のJScriptに保守性の問題はないはずです(Windows 8を参照、テンプレートにjQueryを含むVS2010を参照など)もっと)。

それは観客と無知ともっと関係があると思います。Microsoftは、VB開発者に対応するのが好きです。私は、C#とJavaScriptに目を向ける前は、VB開発者でした。

お願いします!JScriptを使用します。JScriptをプロモートします。先に進み、VBScriptをほこりの中に残しましょう。

于 2012-06-14T14:16:15.903 に答える
2

答えの一番上にこれをまとめさせてください。VBScriptサーバー側を使用します。2つの主な理由があります。

  1. ASPコーディングに関するすべてのサンプル/例/ディスカッションの99.99%がVBScriptで提供されています。
  2. VBScriptは、OLEオートメーションインターフェイスで動作するように設計されています。

JScriptサーバー側の使用に関して、実際のスケーラビリティやパフォーマンスの問題はありません。

信頼性にはさらなる資格が必要です。JScriptエンジンは、VBScriptエンジンと同じくらい実現可能です。ただし、システムの信頼性は開発者によって異なります。

VBScriptとJScriptの両方に精通しているので、前にサーバーでJScriptを提供すると思いました(2つのJavascriptが私の好みの言語であるため)。私が見つけたのは、サーバー側で実行されるコードとクライアント側を実行すると、すべて同じように見えます。したがって、サーバー側のコードをクライアントとはまったく異なる構文にすることは、過小評価されるべきではありません。

JScriptを回避する本当のキラーな理由は、VBScriptがCOM / OLEオートメーションオブジェクトで動作するように設計されているのに対し、COM/OLEオートメーションはJScriptに「シューホーン」する必要があることです。私は常に、オブジェクトにプロパティを追加しようとしているコードを見つけていましたが、実際にはActiveXObject、任意のプロパティの作成を受け入れませんでした。また、JScriptはVBScriptのようにデフォルトのプロパティの概念を理解していないため、VBScript(そう言うとは思わなかったでしょう)がより面倒になる場合は、非常に簡潔なコードになります。

通常、サーバー側のコードはADODBを操作することを意味し、JScriptで見ると少し厄介であることがわかりました。VBScriptは、JScriptよりもはるかに自然なADODBのパートナーです。

また、あなたの後に来るASP保守開発者/請負業者を考慮する必要があります。現代の世界でASPで働くことは十分に悪いことですが、あなたは非常に非標準的な方法でASPで働くことに何の恩恵も与えていません。5年後も、非常に古いが機能しているASPコードを微調整して大金を稼ぐ古い開発者のための作業がまだありますが、VBScriptで記述されていることを期待します。そうでない場合は、すぐに立ち去ります。

于 2012-01-07T20:22:47.560 に答える
1

従来のASPにjScriptを使用する人は多くなく、VBScriptを好む人がほとんどです。私はパフォーマンスの違いに気づいていませんが、一般的に、コードサンプル、「それを実行した」人、およびVBScriptを使用した他の形式のサポートを見つける方が簡単です。

于 2012-01-06T17:05:42.563 に答える