ユーザ用ツール

サイト用ツール


.gz · 最終更新: 2020/03/09 00:45 by kokiu

以前のリビジョンの文書です


📃スクリプト言語📝

前書き

どのようなコンセプトで記事を書いたのかこちらを読んでください。

種類

参考1)

ジョブ制御言語とシェル

UNIXのシェル・MS-DOSのCOMMAND.COM・AppleScript
etc

GUIスクリプト

マクロ言語
etc

アプリケーション専用用途の言語

Emacs Lisp
etc1)

Webブラウザ用途

JavaScript・VBScript・MozillaプロジェクトのXUL・XSLT・Ajax
etc

Webサーバ

PHP・JSP・ASP・Ruby on Rails
etc

テキスト処理用途の言語

Perl
etc

拡張/埋め込み型用途の言語

ECMAScript・SpiderMonkey・ActionScript(Adobe Flash用)・PDFファイルのスクリプティング用(Adobe Acrobat用)
’Tcl・MEL(3DオーサリングツールMaya)・Python・Lua・AngelScript・Squirrel

歴史

参考2)

1950年代、初期のメインフレームコンピューターは、非対話型だったので、バッチ処理が用いられました。
Figure 1: 1950年のUNIVAC Iという商用メインフレームコンピュータ3)


またIBMのメインフレーム用のジョブ制御言語(JCL)は、バッチ処理の制御に使われる言語の原型です。
Figure 2: IBM 701というメインフレームコンピュータ4)


1960年代に、最初の対話型シェルが生まれ、タイムシェアリングシステム5)のリモート操作を可能にするために開発されました。このシェルスクリプトは、実行中のコンピュータプログラムを制御するプログラムでした。

TRAC言語のCalvin Mooersは、”command substitution”を発明しました。”command substitution”はスクリプト内にコマンドを埋め込む機能です。6)

Louis Pouzin 7)は、1964年頃にCTSS8)用のRUNCOMと呼ばれるコマンドスクリプトの原型を作成しました。

Figure 3: IBM 70949)


MIT10)のStuart Madnick11)は、1966年にIBMのCP/CMS12)用にスクリプト言語を書きました。 彼はこの1連の処理をCOMMANDと呼び、後にEXEC13)と名付けました。14)

Multics15)ではTRAC言語を由来として、スクリプト内にコマンドを埋め込む機能を”active function“と呼びました。16)

TclやLuaなどの言語は、あらゆるアプリケーションに組み込むことができる汎用スクリプト言語として設計されました。
Visual Basic for Applications(VBA)などの他の言語は、システムの自動化機能との強力な統合を実現しました。
アプリケーションごとに新しい言語を開発する代わりにこのような汎用スクリプト言語を組み込むことで、アプリケーション開発者は言語翻訳プログラムをゼロからコーディングする必要なく、学んだスキルを活用できます。

調査後の所感

Swiftというマルチパラダイムの言語を触っていて、1月からの案件でpythonとjavascriptを書くことになりました。どちらの言語も短い時間ですが書いたことがあり、スクリプト言語と呼ばれていることがたまにありました。自分の中で明確には分けられていなかったので、今回調べました。

調べてみての感覚として、スクリプト言語というのは、ソフトウェアとセットで設計されていると思いました。

開発インフラ限らずバッチ処理やシェルを使用することが多いかと思います。そのシェル等の記述の発展にpythonの使用やjavaScriptがあると思うと考え深いです。

プログラムを書くということ、マウスやキーボードで操作をするということ、自分には同じことのようにも思えてきました。

コンパイラ言語やインタプリタ言語などを引き続き調べることでさらにわかることもあると思いました。最終的にはマルチパラダイムまで到達したいです。

今回はかなりコンピュータさんに近づいてしまって、機械的で、専門用語しかない文章になってしまったので、絵を加えるなどしていきたいとも考えています。

※この記事は今後も加筆する可能性が高いです。




1) This is a note.
.gz · 最終更新: 2020/03/09 00:45 by kokiu