Edited at

UML(Unified Modeling Language)のどこが言語(Language)なのか?

More than 1 year has passed since last update.


UMLは、日本人から見ると「図」

UMLって、言語だって知っていますか?

Unified Modeling Language で、ラングエッジ 、つまり言語です。

でも日本人からみると、言語じゃなくてですよね。

image.png

まあ、どう見たって、

これでも、日本人から見たら、やっぱりですよね。

image.png

「図書館は、蔵書を所蔵する。」


UMLは、英語圏の人から見ると「言語」

でも、これを英語にしてみましょう。

image.png

「A Library houses bibliothecas.」

※house:所蔵する、bibliotheca:蔵書、owner:所有者

image.png

なんか、UMLのクラス図の並びって、英語の SVO(主語・述語・目的語) と同じじゃないですか?

はい。

UMLのクラス図って、英語の SVO を絵で描いたものになってます。

つまり、英語圏の人は、普段使う言語を図に置き換えてモデリングできるんです。

英語圏の人から見たら、そのまま言語でしょ。

Modeling Language、モデリング言語


「言語」でプログラミングしたら、、、

普通の感覚で言語ならば、

クラス図描いたら、

それをクラスとして実装して、


book.cs

class book

{
public string Name:
}


library.cs

class library

{
// (日本人向けの説明)蔵書は、bookのリスト
List<book> Bibliothecas = new List<book>():

// (日本人向けの説明)蔵書を追加する
public void AddBibliotheca(book newBook)
{
Bibliothecas.Add(newBook);
}

// (日本人向けの説明)蔵書検索
public book SearchBook(string targetBookName)
{
// (日本人向けの説明)蔵書に検索している名前の本があれば、returnする
foreach( book bibliothea in this.Bibliothecas ){
if( bibliothea.Name.Equals(targetBookName){
return bibliothea;
}
}
return null: // null返すのが良いかどうかはさておき
}
}


みたいに、日常の言語的な感覚で、実装することができる。

日本人向けにコメント入れたけれど、英語圏の人ならコメントいらない。

これならば、不具合が少なくなるよね。

どうして、不具合が少なくなるのか?

さぁ、考えてみよう!