国際規格ISOとプログラミング言語の共通点 - ISOを理解するためのヒント

ちょっと不思議な共通点にもわけがある?

スポンサードリンク

一見、何の関連性も共通点もないように見える “国際規格ISO” と “PCの世界でプログラミングに使う言語(特に高級言語と呼ばれる)” - この2つには共通点が1つあります。

そしてその共通点は、文書や文書の集まり - 別の言い方をすると、情報 -を管理するためのシステム、SGMLとかXMLという仕組みにも通じるものがあります。
… と聞いて、3つのものの間の共通点が想像できるでしょうか?

そうですね。

  • どれも欧米生まれだということ、そして
  • ある目的を達成するためのツールとして機能するということ
    さらには
  • 不特定多数の人たちの誰が使っても、同じ目的(方向性)を達成できるようにできている

それが共通点です。

ISO9000(品質マネジメントシステム)

は、製品を作る活動 - たとえば、「注文を取る」、「材料を調達する」、「資材を整える」など - を、メーカーのような会社組織にあてはめて分解し、

  • 適用範囲、関連規格、用語と定義
  • 品質マネジメントシステム
  • 経営者の責任
  • 資源の運用管理
  • 製品実現
  • 分析及び改善

という言わば管理グループを定め、それぞれのグループが

  • 何を目指して
  • 何を(どのように)行うのか

を明らかにしなさい、
そして、それぞれのグループの相互関係、言わばつながりを明らかにしなさいと求めてきます。

think-hard
(c) Can Stock Photo / Cebas
高級言語(プログラミング言語)、たとえばC、あるいはC++

PCの操作エレメント - たとえば、「キーボードからの入力」、「ファイルからの読出し&ファイルへの書き出し(保存)」、「ディスプレイへの表示や消去」を、それぞれ目的ごとの機能のパッケージ(関数)として部品化しておき、

  1. 何を操作するかの目的を明確(事前に宣言)にしてから
  2. step by stepの処理結果を的確に(矛盾がないように)つないで

ソフトウェアとして、完成された動きができるように仕上げます(コンパイルする)。

このプログラミング言語の原理がイメージできると、SGMLとかXMLと言った文書管理のツールの原理がとてもよく似ていることが分かると思います。

SGMLとXML

つまり、

  1. どんな書き方をして
  2. どんな情報を
  3. どんな順序、まとまりとして利用するのか を利用可能な記述の構造として(事前に宣言)決めておき
  4. 記述する文書の内容に合わせて、その構造を選択しながらつなぎながら利用する

のがこのマークアップ言語と呼ばれるシステムの特徴です。

欧米型の発想方法 & 手順

ひと言で言ってしまえば、「目的、部品(エレメント)、つなぎ方」で出来上がっているのがこの3つのシステムの特徴なのです。
これは最初に言ったように、考案した欧米の人たちの発想方法、思考方法の現れかも知れませんね。

今では、特にビジネスの世界では市民権を確立しているという3つのシステム、あるいはツールは、思い切った言い方をすると、

目的が違っても、アプローチはよく似ている。
しかし、たとえて言うと、
・国際規格ISOはフランス語、
・高級プログラミング言語はドイツ語、
・SGML/XMLはイタリア語
で書かれているようなもので、互いに直接話しをしようと思っても通じることはない。

ただ、同じヨーロッパ言語だけに、文法にそって分解してみるとそれぞれの構造がほとんど同じ…

スポンサードリンク

そんなことが言えそうです。

もう少し別の言い方をするなら、もしISO9000の理解に困ったなら、文学的にアプローチする読み書きを得意とする人と、プログラミング言語のベテランとで協力してみてはどうでしょう - そんな提案もできそうに思うのです。

A little thought, it seems that there are no relevance and commonality in “international standard ISO” and “language used for programming in the PC world (especially called high-level language)”, furthermore, a system for managing information like SGML or XML. Can you imagine that they have in common?

スポンサードリンク

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です