内容へ移動
HoNoBoNoWiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
サイトマップ
ログイン
>
最近の変更
サイトマップ
トレース:
· 最終更新: 2020/03/28 19:11 by
koki
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
<refnotes> refnote-id : 1 reference-format : [] note-id-format : [] </refnotes> ======📃スクリプト言語📝====== =====前書き===== どのようなコンセプトで記事を書いたのか[[local:koki:research:2020:information_technology|こちら]]を読んでください。 =====種類===== 参考[([[https://ja.wikipedia.org/wiki/スクリプト言語|スクリプト言語 出典: フリー百科事典『ウィキペディア(Wikipedia)』 Retrieved Feb 9, 2020.]])] ===ジョブ制御言語とシェル=== UNIXのシェル・MS-DOSのCOMMAND.COM・AppleScript\\ etc ===GUIスクリプト=== マクロ言語\\ etc ===アプリケーション専用用途の言語=== Emacs Lisp\\ etc ===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 =====歴史===== 参考[([[https://en.wikipedia.org/wiki/Scripting_language#History|Scripting language From Wikipedia, the free encyclopedia Retrieved Feb 9, 2020.]])] <figure> 1950年代、初期のメインフレームコンピューターは、非対話型だったので、バッチ処理が用いられました。 {{:local:classroom:2018:kouki:development:program_language:scripting_language:univac-i-brl61-0977.jpg?500|}} <caption> 1950年のUNIVAC Iという商用メインフレームコンピュータ[([[https://en.wikipedia.org/wiki/UNIVAC_I|UNIVAC I From Wikipedia, the free encyclopedia Retrieved Feb 9, 2020.]])]</caption> </figure> \\ <figure> またIBMのメインフレーム用のジョブ制御言語(JCL)は、バッチ処理の制御に使われる言語の原型です。 {{:local:classroom:2018:kouki:development:program_language:scripting_language:141511_large.jpg?500|}} <caption> IBM 701というメインフレームコンピュータ[([[https://www.ibm.com/ibm/history/exhibits/701/701_intro.html|IBM 701 Electronic analytical control unit : IBM Archives Retrieved Feb 9, 2020.]])] </caption> </figure> \\ 1960年代に、最初の対話型シェルが生まれ、タイムシェアリングシステム[([[https://ja.m.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%B7%E3%82%A7%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0| タイムシェアリングシステム (Time Sharing System, TSS : ウィキペディア(Wikipedia) Retrieved Feb 9, 2020.]])]のリモート操作を可能にするために開発されました。このシェルスクリプトは、実行中のコンピュータプログラムを制御するプログラムでした。 TRAC言語のCalvin Mooersは、「command substitution」を発明しました。「command substitution」はスクリプト内にコマンドを埋め込む機能です。[([[https://web.archive.org/web/20010425014914/http://tracfoundation.org/trac64/procedure.htm | Mooers, Calvin. "TRAC, A Procedure-Describing Language for the Reactive Typewriter". Archived from the original on 2001-04-25. Retrieved Feb 9, 2020.]])] <figure> Louis Pouzin [([[https://ja.m.wikipedia.org/wiki/%E3%83%AB%E3%82%A4%E3%83%BB%E3%83%97%E3%82%B6%E3%83%B3| ルイ・プザン : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]は、1964年頃にCTSS[([[https://ja.m.wikipedia.org/wiki/CTSS|CTSS : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]用のRUNCOMと呼ばれるコマンドスクリプトの原型を作成しました。\\ {{:local:classroom:2018:kouki:development:program_language:scripting_language:75cb1b14-1660-488f-95fc-48d1641306f1.gif?200|}}\\ <caption>IBM 7094[([[https://multicians.org/thvv/7094.html|The IBM 7094 and CTSS by Tom Van Vleck Retrieved Feb 9, 2020.]])] </caption> </figure> \\ MIT[([[https://ja.m.wikipedia.org/wiki/%E3%83%9E%E3%82%B5%E3%83%81%E3%83%A5%E3%83%BC%E3%82%BB%E3%83%83%E3%83%84%E5%B7%A5%E7%A7%91%E5%A4%A7%E5%AD%A6|マサチューセッツ工科大学 : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]のStuart Madnick[([[https://en.m.wikipedia.org/wiki/Stuart_Madnick|Stuart Madnick : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]は、1966年にIBMのCP/CMS[([[https://en.m.wikipedia.org/wiki/CP/CMS| CP/CMS : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]用にスクリプト言語を書きました。 彼はこの1連の処理をCOMMANDと呼び、後にEXEC[([[https://en.m.wikipedia.org/wiki/CMS_EXEC|CMS EXEC : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]と名付けました。[([[http://www.leeandmelindavarian.com/Melinda/neuvm.pdf| Varian, Melinda. "VM AND THE VM COMMUNITY: Past, Present, and Future" (PDF). Retrieved Feb 9, 2020.]])] Multics[([[https://ja.m.wikipedia.org/wiki/Multics|Multics : ウィキペディア(Wikipedia)Retrieved Feb 9, 2020.]])]ではTRAC言語を由来として、スクリプト内にコマンドを埋め込む機能を「active function」と呼びました。[([[https://www.multicians.org/mga.html| Van Vleck, Thomas (ed.). "Multics Glossary – A — (active function)". Retrieved Feb 9, 2020.]])] TclやLuaなどの言語は、あらゆるアプリケーションに組み込むことができる汎用スクリプト言語として設計されました。\\ Visual Basic for Applications(VBA)などの他の言語は、システムの自動化機能との強力な統合を実現しました。\\ アプリケーションごとに新しい言語を開発する代わりに、このような汎用スクリプト言語を組み込むことで、アプリケーション開発者は言語翻訳プログラムをゼロからコーディングする必要なく、学んだスキルを活用できます。 =====調査後の所感===== Swiftというマルチパラダイムの言語を触っていて、1月からの案件でpythonとjavascriptを書くことになりました。どちらの言語も短い時間ですが書いたことがあり、スクリプト言語と呼ばれていることがたまにありました。自分の中で明確には分けられていなかったので、今回調べました。 調べてみての感覚として、スクリプト言語というのは、ソフトウェアとセットで設計されていると思いました。 開発インフラ限らずバッチ処理やシェルを使用することが多いかと思います。そのシェル等の記述の発展にpythonの使用やjavaScriptがあると思うと考え深いです。 プログラムを書くということ、マウスやキーボードで操作をするということ、自分には同じことのようにも思えてきました。 コンパイラ言語やインタプリタ言語などを引き続き調べることでさらにわかることもあると思いました。最終的にはマルチパラダイムまで到達したいです。 今回はかなりコンピュータさんに近づいてしまって、機械的で、専門用語しかない文章になってしまったので、絵を加えるなどしていきたいとも考えています。 ※この記事は今後も加筆する可能性が高いです。 \\ \\ **//Thank you for reading!!!!//** <WRAP left safety round box 87px> **[[local:koki:research:2020:information_technology|previous]]** </WRAP> <WRAP center safety round box 66px> **[[local:classroom:2018:kouki|home]]** </WRAP> =====参考文献=====
· 最終更新: 2020/03/28 19:11 by
koki
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ