ものすごく初歩的な質問かもしれないのですが、「プログラミング言語」と「スクリプト言語」と「マークアップ言語」の違いについて教えて下さい。
プログラミング初心者なので、なるべく分かり易くお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

「プログラミング言語」


 コンパイルというコンピュータが理解できる形の
 プログラムに変更してからでないと使えないタイプの
 言語です。パソコンソフトはこれで作られます。
 C/C++、Javaなどがこれに相当。
 …高速です。

「スクリプト言語」
 コンパイルの必要が無い、そのたびにコンピュータに
 翻訳してもらいながら実行するタイプの言語。
 JavaScript、Perlなどがこれに相当。
 遅いですが、お手軽です。

「マークアップ言語」
 これはプログラムとは関係ありません。
 単純になにかを装飾する時に使うもので、
 たとえばホームページを作るときに使う、HTMLであれば、
 太字にするために
 <B>太字</B>などという具合に使います。
 HTML、XHTML、XMLなどがこれに相当。
    • good
    • 0
この回答へのお礼

大変よく分かりました。本当にありがとうございます。

お礼日時:2001/06/06 15:11

■プログラムを作ることができれば、それは全て「プログラミング言語」です。


 プログラミング言語は人間に理解できるように英語などを元に作られているため、コンピュータが実行できる機械語(マシン語とも呼ばれる)に変換(翻訳)しなければなりません。(変換したものをネイティブコードと言います。)
 この変換・実行方法には、コンパイル・アセンブルという処理によって全体を変換し、ネイティブコードを実行するタイプと、インタプリタと呼ばれるソフトで、逐次変換しながら実行するタイプがあります。
 前者は変換作業に手間を取られるものの、高速で、単体での実行が可能です。代表的な言語にCがあります。
 後者は書いたプログラムがすぐにテストできる反面、遅く、インタプリタなしには実行できません。代表的な言語にBASICがあります。
※BASICにもVisualBasicのようにコンパイルできるものがあり、またC言語用のインタプリタも存在します。
【補足】Javaで記述されたプログラムはJavaバイトコードと呼ばれる中間形式にいったん変換され、この状態で配布されます。
 実行時にはJava仮想マシン(JVM)と呼ばれるソフトによって、そのコンピュータ用のネイティブコードに変換され、実行されます。この変換にかかるオーバヘッドのため、通常のプログラミング言語で開発されたソフトウェアよりも動作が遅くなります。
 また実行前にまとめて変換することで実行時のオーバヘッドをなくし、実行速度を向上させたJITコンパイラというものもあります。

■スクリプト言語とは、機械語への変換作業を省略して簡単に実行できるようにした簡易プログラムを記述するためのプログラミング言語です。スクリプト言語で作られたプログラムはスクリプトと呼ばれます。代表的なものにPerlやJavaScript、VBScriptなどがあります。
 また、ワープロソフトや表計算ソフトなどのマクロ言語もスクリプト言語の一種です。
 スクリプトは、自動変換された後実行されるものや、インタプリタによって実行されるものなど様々です。もともと小規模なプログラムをすばやく作成することが主な目的で、処理速度は一般的に遅いです。
 インタプリタや表計算ソフト、ブラウザなど、実行するためのソフトも様々です。

■マークアップ言語とは、文書の論理構造、意味構造などを記述するための言語で、プログラミング言語ではありません。
 代表的なものにHTML、XML、SGMLなどがあります。(末尾のMLがMarkupLanguageです。)
 あるマークアップ言語で書かれた文書を、その論理構造などを視覚的に表示するためのソフトがあるものもあります。HTMLとWebブラウザがもっとも有名ですね。
    • good
    • 0
この回答へのお礼

詳しく教えてくださって、ありがとうございます。
とても参考になりました。

お礼日時:2001/06/07 09:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qスクリプト型言語とコンパイル型言語

参考書を読んでると、スクリプト型言語とコンパイル型言語がよく出てくるのですが、どう違うのか教えて下さい。
よろしくお願いします。

Aベストアンサー

すでに皆さんが説明されている通りですので、別のたとえを使って見ましょう。

アメリカ人が英語で書いた原稿を日本人の聴衆に聞かせるとします。
一つの方法は、前もって日本語に翻訳しておきこれを読むことにします。スムーズでいいですね。
もう一つの方法は、アメリカ人が1行づつ英語を読んで、通訳がぶっつけ本番でそれを日本語に直してしゃべることにします。まどろっこしいですね。

コンピュータの世界でも人間にわかる言葉で書いたソースプログラムを事前に一括して機械語に翻訳しておく方法(コンパイラー型)と実行時に逐次通訳で機械語に直しながら実行する方法(スクリプト型)が有ります。翻訳なのか通訳なのかがその違いです。

スクリプト型は通訳としてインタプリタというソフトを使いますので従来はインタプリタ型と呼ばれていました。

QC言語より後に開発されたプログラミング言語は

C言語を基にして開発されたのでしょうか?

C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

Aベストアンサー

ちょっと面白いものがあります
http://gigazine.net/news/20070126_computer_languages_history/

影響は受けるでしょうが、「C言語を基に」というのはちょっと違うと思います。


ただ、関数名だけに注目した場合は別の理由もあります。

関数名は、その関数の機能を表わすような名前を付けるのが普通です。
その際、英単語がよく使われます。数学関数だと、数学用語がそのまま使われます。
そのため、同様の機能の関数は、同じ英単語/数学用語が元になることが多く、結果、同じ関数名になることが多いです。

例えば、sin関数なら、数学のsinから来たもので、特定プログラミング言語の影響とは考えにくいです。

Qプログラミング言語(主に通信中心に使うなら)何の言語がいいですか?

タイトルどおりなんですが、通信中心に使うとなれば、なんのプログラム言語が一番なんですかね?
Winnyとかは、BorlandC++とからしいですが。

Aベストアンサー

通信中心とのことですので、重いのはやめたほうが良いと思います。メモリ消費が激しいものも適さないでしょう。
となると C/C++あたりになりませんかね。
Java,VB,Delphi,Kylix,PHP等ソケットはほとんどのメジャーな言語で使えますが、直接OSのAPIを利用できる言語が良いと思います。

Qコンピュータ言語とプログラミング言語の違い

履歴書のようなものに自分のスキルを登録する際に、
「使用したことのあるプログラミング言語を記入してください」とあったので、
C、C++、アセンブラ、Perl、HTML、
としました。
その後、「使うことの出来るコンピュータ言語を記入してください」とありました。

この、「プログラミング言語」と「コンピュータ言語」という定義には何か違いがあるのでしょうか?また、C、C++、アセンブラは間違いないと思うのですが、残りの2つはプログラミング言語に含めてもいいのでしょうか?

よろしくお願いいたします。

Aベストアンサー

まず、皆さんも書いてるように、プログラミング/コンピュータ言語の違いはないと思います。

しかし、HTMLはプログラミング/コンピュータ言語ではないと思います(^^;

HTMLは「書式(フォーマット)付きテキスト」です。いわゆる「リッチテキスト」ってやつです。
リッチテキストには、HTMLの他に、RTF形式や、MS-Wordのファイルなどが含まれます。
プログラミング/コンピュータ言語にHTMLを入れるとすると、その欄にRTFやWordなども入れなきゃならないでしょうねぇ・・・

Qゲームを作る過程を教えてください。プログラミング言語を勉強したいのですがその後そのプログラミング言

ゲームを作る過程を教えてください。
プログラミング言語を勉強したいのですがその後そのプログラミング言語をどう使えば良いのか分かりません。

Aベストアンサー

本気でやりたいなら、教えてくれる学校・会社に入って勉強しましょう。
参考 > http://www.hallab.co.jp/recruit/new/job/game_flow.html


人気Q&Aランキング

おすすめ情報