regsvr32 openvbs.dll して @language="openvbs" 、今風な VBScript 「OpenVBS」

元祖「ASP」が登場して四半世紀、今ではすっかり枯れた技術の仲間入り。ASPでは自由に言語を選ぶことができましたが、大方は VBScript が使われたことでしょう。

そのVBScript、

  • 整数値が16bit
  • 場面によって call 命令が必要
  • オブジェクトの概念が重め

などなど、今となっては流石に古臭さが目立ちます。

そこで作っているのが OpenVBS 、今風な VBS を目指して誠意実装中。

<%@ language="openvbs" %>
<%
option explicit:

dim sTitle = "こんにちは from OpenVBS":
dim nBig   = 9223372036854775807:
dim fCalc  = function(a, b) return a*b end function:
dim oObj   = { "foo": "ふー" }:
%>
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
</head>

<body>
    <h1><%= sTitle %></h1>
    <dl>
    <dt>nBig</dt>
        <dd><%= nBig %></dd>
    <dt>fCalc(2, 4)</dt>
        <dd><%= fCalc(2, 4) %></dd>
    <dt>do while i--</dt>
        <dd>
            <% dim i=10 %>
            <% do while i-- %>
                <%= i %>,
            <% loop %>
        </dd>
    <dt>oObj()</dt>
        <dd><%= oObj() %></dd>
    <dt>oObj.foo</dt>
        <dd><%= oObj.foo %></dd>
    </dl>
</body>

</html>

regsvr32 openvbs.dll して <%@ language="openvbs" %> すれば、そこはもう現代版VBScript、

こんな具合、まだまだα板ですが、Classic-ASPをお持ちの方にお役に立ちましたら幸い。

エンジン自体は mac や linux でも動くように作ってあるので、今後は httpサーバー や router機能 なんかも周辺に増やせたら。