以前のリビジョンの文書です
どのようなコンセプトで記事を書いたのかこちらを読んでください。
参考[1]
UNIXのシェル・MS-DOSのCOMMAND.COM・AppleScript
etc
マクロ言語
etc
Emacs Lisp
etc
JavaScript・VBScript・MozillaプロジェクトのXUL・XSLT・Ajax
etc
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]
1960年代に、最初の対話型シェルが生まれ、タイムシェアリングシステム[5]のリモート操作を可能にするために開発されました。このシェルスクリプトは、実行中のコンピュータプログラムを制御するプログラムでした。
TRAC言語のCalvin Mooersは、”command substitution”を発明しました。”command substitution”はスクリプト内にコマンドを埋め込む機能です。[6]
MIT[10]のStuart Madnick[11]は、1966年にIBMのCP/CMS[12]用にスクリプト言語を書きました。 彼はこの1連の処理をCOMMANDと呼び、後にEXEC[13]と名付けました。[14]
Multics[15]ではTRAC言語を由来として、スクリプト内にコマンドを埋め込む機能を”active function“と呼びました。[16]
TclやLuaなどの言語は、あらゆるアプリケーションに組み込むことができる汎用スクリプト言語として設計されました。
Visual Basic for Applications(VBA)などの他の言語は、システムの自動化機能との強力な統合を実現しました。
アプリケーションごとに新しい言語を開発する代わりにこのような汎用スクリプト言語を組み込むことで、アプリケーション開発者は言語翻訳プログラムをゼロからコーディングする必要なく、学んだスキルを活用できます。
Swiftというマルチパラダイムの言語を触っていて、1月からの案件でpythonとjavascriptを書くことになりました。どちらの言語も短い時間ですが書いたことがあり、スクリプト言語と呼ばれていることがたまにありました。自分の中で明確には分けられていなかったので、今回調べました。
調べてみての感覚として、スクリプト言語というのは、ソフトウェアとセットで設計されていると思いました。
開発インフラ限らずバッチ処理やシェルを使用することが多いかと思います。そのシェル等の記述の発展にpythonの使用やjavaScriptがあると思うと考え深いです。
プログラムを書くということ、マウスやキーボードで操作をするということ、自分には同じことのようにも思えてきました。
コンパイラ言語やインタプリタ言語などを引き続き調べることでさらにわかることもあると思いました。最終的にはマルチパラダイムまで到達したいです。
今回はかなりコンピュータさんに近づいてしまって、機械的で、専門用語しかない文章になってしまったので、絵を加えるなどしていきたいとも考えています。
※この記事は今後も加筆する可能性が高いです。