読者です 読者をやめる 読者になる 読者になる

MUNOの頭の中

プログラミングとか読書とかその他もろもろ

「API」をどう説明するか

今度からITに関する知識がほとんどない後輩の面倒を見ることになったのだが、自分が新人の頃は、プロキシだとかHTTPだとかCPUだとか分からない用語ばかりだったなと少々感慨に耽っている。

 

APIApplication Programming Interface)」も分かるようでよく分からない単語の一つだったのだが、なぜ分かりにくく感じだのかというと、プログラムについての素養がほとんど無い状態にもかかわらず、プログラムという文脈の中でこの用語を説明されたからだと思う。

『IT用語辞典』では次のように記述されている。

 

APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと」

(引用:http://e-words.jp/w/API.html

 

普段からプログラムに触れている人ならまだしも、全くの初心者にこんな説明をしても何を言っているのかイメージできないだろう。

そこで、自分が新人の頃を思い出しながら、どのような説明であればIT初心者にも理解できるか考えてみた。

 

-------------------------------------------------

例えば、今の時間を知りたいと思った時、私たちはどのような手段を用いるでしょうか。真っ先に思い浮かべるのは“時計”ですね。腕時計、掛け時計、スマホの時刻表示など、時間を正確に計る術を私たちは常に有しています。

では、これらの時計を私たちは自分で作れるでしょうか?否、職人さんの技術を身に付けでもしない限り、まず無理でしょう。自分で一から時計の部品を製作し組み立てるのは非常に手間が掛かるので、一般的に私たちは時計メーカーが製作した“時計”という便利な機械を利用し時間を確認しています。

このように、「各自で準備する労力を節約し、(ある目的を実現するために)予め用意された機能」をAPIと言います。したがって、“時計”は「時間を正確に把握する機械を作る」という手間を省くために用意された機械(機能)と言えます(Javaで言うと例えば「Date」)。

プログラミングでも同様に、「こういう機能が欲しい」と思った時、その機能を実現するために一からプログラムを組んでいては時間が掛かり過ぎてしまうため、上で例に挙げた時計のような機能がプログラミング言語には備わっています。こうした機能を総じて「API」と呼びます。

-------------------------------------------------

 

…と、こんな説明を考えたのだが、これで伝わるだろうか。

もちろん、APIそのものの説明としてはこれだけでは不十分なのだが、具体的な説明が書かれたサイトは沢山あるし、何より初心者に微細な事項まで最初から教えるのは親切ではないと思ったため、この程度に留めておいた。