teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2015/09/10 19:11

投稿

pi-chan
pi-chan

スコア5936

answer CHANGED
@@ -6,4 +6,39 @@
6
6
 
7
7
  スクリプト言語の一番の**特徴**は、何と言っても実行したいコマンドを**テキストファイルに記載**したら**そのまま**実行できるという**手軽さ**です。
8
8
  文字列処理やちょっとした集計処理などを、ちゃっちゃと手早く片付けたいという要請から、awk や perl 、さらにはオブジェクト指向を取り入れた Ruby や Python など、実に様々な言語が次々と生み出されて来ました。
9
- 今では、テキストファイルに記載して**手軽に**実行できる**軽量言語**全般を**スクリプト言語**と呼んでいるようです。[(参考)](http://e-words.jp/w/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E.html)
9
+ 今では、テキストファイルに記載して**手軽に**実行できる**軽量言語**全般を**スクリプト言語**と呼んでいるようです。[(参考)](http://e-words.jp/w/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E.html)
10
+
11
+ ---
12
+ <2015/09/11 03:40 追記>
13
+
14
+ 既に皆様がご回答くださっていますが、スクリプト言語という**ジャンル**に何が含まれるか、という分類はとても**曖昧**です。
15
+
16
+ 良く、**インタープリタ**と**コンパイラ**(**アセンブラ**というのもある)で言えば、「**インタープリタ言語=スクリプト言語**でそれ以外が…」みたいな説明をされることもありますが、
17
+ 0. インタープリタとコンパイラの分類自体も結構「曖昧」です。
18
+ 0. スクリプト言語か否か、という切り分け方と、インタープリタ型かコンパイラ型か、という切り分け方は「次元」が異なります。
19
+
20
+
21
+ 1. インタープリタとコンパイラの分類については、[こちら](http://www.geocities.jp/naosacra/mops/forbeginner/2.html) をご一読ください。
22
+ > インタープリタ方式、コンパイラ方式、中間方式、どれもプログラムの実行方式です。ときどき、インタープリタ言語、コンパイラ言語、などという分類がありますが、インタープリタでするかコンパイラでするかは、厳密にはプログラミング言語の属性ではありません。
23
+ これは元々プログラム言語そのものではなく、その言語の**実行方式**の違いを示す言葉でしたが、技術の進歩とともに明確な区別が難しくなって来ました。
24
+
25
+
26
+ 2. **次元**が異なるというのは、分類する際の __着眼点__ というか、基準となる属性が異なるということです。
27
+
28
+
29
+ この例えが分かりやすいかどうか自信がないですが…
30
+
31
+ **生き物**の**分類の仕方**にも色々なものがありますが、
32
+
33
+ **動物** or **植物** :
34
+ **体の特徴**を元に分類する仕方で学術的なものですが、[ミドリムシ](https://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%89%E3%83%AA%E3%83%A0%E3%82%B7) という**両方の性質**を合わせ持つものも存在します。
35
+
36
+ **愛玩動物** かどうか:
37
+ いわゆる**ペット**という、人と動物の**関わり方**の違いによる分類の仕方ですが、そもそも愛玩動物という**表現自体が曖昧**ですし、何をペットとするかも**人それぞれ**ですし __お国柄__ にもよるものなので、『(その地域では)一般にペットとして飼われることが多い』というザックリとした分類でしかありません。
38
+
39
+ 「愛玩動物」という表現は、確かに国語辞典に載っていますし、日常的に使用するかどうかは疑問ですが全くの「死語」という訳でもありませんけれども、動物の分類の仕方としては極めて曖昧(学術的な分類法としては使えない)ですし、言葉の意味を厳密に定義しようとしても意味のないことです。
40
+
41
+ ですから、結論としては、
42
+ - 一般に「スクリプト言語」に含められるものにはどのような言語があるか(シェルスクリプト、Ruby、Perl、etc.)
43
+ - それら言語にはどんな「共通する特徴」があるか
44
+ などを大まかに知っておけば良く、それを突き詰めようとしてもあまり意味がないということです。