フォンノイマン型コンピュータ(今日広く使われているコンピュータはすべてこのタイプ)は命令やデータを記憶するメイン・メモリをもっていますが、メイン・メモリのすべてのバイトは先頭から数えて何番目というアドレスが与えられています。CPUはこのアドレスを用いて、ダイレクトに命令やデータをアクセスします。このアクセスのことをアドレッシングと呼んでいます。
プログラミング言語でプログラムを書いたとき、アドレスは表(おもて)には現れません。データや関数の名前がアドレスの代わりになっているからです。これらの名前とアドレスを対応付けているのはコンパイラやインタープリターです。利用者はメモリ・アドレスを意識することはありませんが、背後ではメモリ・アドレスが使われています。
利用者はプログラムが配置されたコンピュータ上のデータや関数だけでなく、インターネットに繋がる異なるコンピュータ上のデータや関数をアクセスすることができます。このような離れたコンピュータ上のデータや関数などの情報資源をポイントするためにハイパーリンクというアドレス機構(URL:Uniform Resource Locator)を使用します。URLは、たとえば次の形式で表します。
http://host.domain/path/file
インターネット上のドメイン(domain)に存在するサーバ(host:目的のコンピュータ)内の、あればフォルダー(path)内のファイル(file)をhttpという方式でアクセスするという意味です。このファイルをGET(受信)したり、POST(送信)することができます。
このようにして、私たちはもう1つのアドレッシング方式を手に入れました。
私たちは、プログラムの中からハイパーリンクを使ってインターネット上の情報資源を手に入れ、操作することができます。プログラムで扱うことができる情報資源が飛躍的に拡がったということです。
URLを使う良い例は、皆さんが毎日使用しているブラウザですが、ブラウザは1つのアプリケーションであり、プログラムの中から利用することはできません。プログラムの中からインターネットに繋がるコンピュータの情報資源をアクセスする良い例はGoogle Mapsです。GoogleMapを操作するAPI(Application Programming Interface)が公開されていますので、プログラム内から呼び出して地図の操作ができます。
Google Maps以外の例を上げれば、機械学習用のTensorFlowがあります。今後これら以外に、ハイパーリンクを用いたAPIが多数用意されることが期待されます。