自称週末ファーマーの国家試験受験記

自己啓発の延長なのか、自己実現の手段なのか、はたまた意地の張り合いか。生きているうちに“何か”を成し遂げたいから走り続けているような感じがする

第129話 経営情報システム21 言語プロセッサ

情報も21回目でございますね。なんとも長くなりそうな気配がします。それでも診断士試験に興味のある、日本全国8億2500万人の人のために著者はがんばります。今回はプログラム言語の続きで、マークアップ言語から始めたいと思います。

1.マークアップ言語
 データの構造を記述する言語、と定義される。文書の一部を<タグ>と呼ばれる記号で囲むことで、文章構造や修飾文字を記述する。なお、マークアップ言語はテキストファイルである。

 マークアップ言語 → テキストファイ

SGML(Standard Generalized Markup Language)
 HTMLやXMLの元になった言語。ISOの国際規格に制定された文章の構造を記述する言語。

 SGML → HTMLやXMLの元になった

HTML(HyperText Markup Language)
 Webページを記述するためのマークアップ言語。wwwで使用されるハイパーテキストを記述するために用いられる。タグ(アンカー)を利用することでWebページから別のページに移動することが可能になり、ハイパーリンクが実現する。HTMLはテキストファイル。

 ●HTML → wwwのハイパーテキスト。タグも用いてハイパーリンク

XML(eXtensible Markup Language)
 ユーザが独自のタグを指定できるメタ言語の一種であり、テキストファイルを使用している。

 XML → 利用者が独自にタグを定義できる

ebXML(electronic business XML
 企業間電子商取引に使われる技術標準を目的として、アメリカの業界団体と国連の機関によって策定された規格。似たような技術仕様にSOAP/UDDI/WSDLがあり、将来的には両者の競合や統合が予想される。ふーん。

DHTML(Dynamic HTML)
 DHTMLとは、Webページに容易に対話性を持たせることができるHTMLの拡張仕様。HTML文書の中にJavaScriptVBScriptスクリプトを埋め込むことにより、プラグインActiveXコントロール、Javaアプレットなどの、容量が大きく処理が重い技術を使うことなく、動きがあって対話性を持ったWebページを作成することができる。HTML、CSSJavaスクリプトあるいはVBスクリプトの3つの要素から成り立っている

VRML(Virtual Reality Modeling Language)
 VRMLとは、Web上で3次元グラフィックス(3DCG)を表現するためのマークアップ言語およびファイル形式。最近は見かけなくなったようだ。

マークアップ言語ではないが、CSS(Cascading Style Sheet)について説明しておく。CSSとは、Webページのレイアウトを定義する規格。これまで、WebページのレイアウトはHTMLを用いて記述され、HTMLにはレイアウトに関する仕様が大量に取り込まれたが、これは、文書の論理構造を記述するという本来のHTMLの目的に反するため、文書の視覚的構造を規定する枠組みとしてCSSが新たに策定された。CSSを使うと、フォントや文字の大きさ、文字飾り、行間などの見栄えに関する情報を文書本体(及び文書の論理構造を記述したHTML)から切り離すことができ、ユーザが複数のレイアウトから適当なものを選択することができるようになる。WWWに関する標準化団体W3Cで標準化されている。

2.言語プロセッサ
 言語プロセッサは、低水準言語や高水準言語で記述されたプログラムを機械語に変換するソフトウエアである。機械語以外のプログラム言語で記述されたプログラムは、そのままでは実行することが出来ない。そこで、コンピュータ上で実行できるように、言語プロセッサを利用して機械語に変換する必要がある。機械語に変換される前のプログラムを原始プログラム(ソースプログラム)、変換されたプログラムを目的プログラム(オブジェクトプログラム)という。

 ●ソースプログラム → 機械語に変換前
 ●オブジェクトプログラム → 機械語に変換後

①低水準言語のプロセッサ
 低水準言語を機械語に変換する言語プロセッサは、アセンブラアセンブラ言語で記述されたプログラムを機械語に変換するソフトウエア。これはたまたまアセンブラという言語と機械語に変換するプロセッサ名が一致している。

 ●低水準言語プロセッサ → アセンブラ

②高水準言語のプロセッサ
 高水準言語を機械語の変換するプロセッサは2種類ある。
インタプリタ
 命令を1つずつ機械語に変換しながら実行するソフトウエア。実行の都度変換処理を行うため、実行速度は遅いが、プログラムが完成していなくても実行可能であり、修正作業が容易に出来るという利点がある。対象となる言語は、BASICPerlなど。

 インタプリタ → 高水準言語プロセッサ。BASICPerlなどに採用

コンパイラ
 主に手続き型言語で記述されたプログラムを機械語に変換するソフトウエアFORTRANCOBOL、Cなどに採用されている。コンパイラプログラミング言語で書かれたソースコードを読み込んで解析し、コンピュータが直に実行可能な機械語や、それに相当する中間言語などで記述されたオブジェクトコードに変換する。この変換工程のことをコンパイル(comple)という。コンパイラが生成したオブジェクトコードはそのままでは実行可能でない場合が多く、リンカなど別のソフトウェアによりライブラリなどと結合されたり、起動に必要なプログラムを追加したりして、OS上で実行可能な形式のプログラムファイルとなる。

 コンパイラ → 手続き型言語のプロセッサ

3.プログラムの実行
 COBOLFORTRANなどの高水準言語で記述された原始プログラム(ソースプログラム)は、次の手順で実行される。

テキストエディタなどを使用して、プログラム言語でプログラムを作成する。このプログラムがソースプログラム。

コンパイラがソースプログラムを変換する。ソースプログラムを機械語に変換したものが目的プログラム(オブジェクトプログラム)。

リンカと呼ばれる連係編集プログラムが、オブジェクトプログラムを実行プログラム(ロードモジュール)を作成する。

④ローダが、ロードモジュールを主記憶装置に読み込んで、プログラムは実行される。


ここまでで情報技術に関する基礎知識が概観できた。
いや~、長かったですな。スピテキそのものは3分の2が消化できたことになる。

次はソフトウエア開発についてだ。
初めて学習したときも、過去問をやっているときも、現在も、このソフトウエア関連はとっつきにくいんだ。

続く。