言語、データベース、インターネット

共通科目情報処理(講義)、社会学類対象、1997年05月16日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/shakai-kougi-1997//1997-05-16
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/

■復習

■コンピュータ言語

コンピュータと人間の両方が「理解」できる「人工言語」。 普通の人間が理解できるのは、普通は自然言語(日本語、英語、・・・)。 「人工言語」には、次のようなものがある。

コンピュータのハードウェア(CPU)が本当に「理解」できるのは、機械語 だけ。コンピュータが「理解」できるために、コンピュータ言語では、 「構文」と「意味」が厳密に決まっている。

コンピュータ言語の種類

コンピュータ言語を学ぶことの意義

■プログラミング言語

プログラミング言語とは、プログラムを書くための人工言語である。人間の思 考の速度ととコンピュータの速度の差を埋めるもの。

2つの実行方式

インタプリタも、またプログラムの一種。普通は、コンパイラ方式の言語で書 かれていて、機械語になっている。インタプリタもまた別のインタプリタで動 いていることもある。

メタレベル・プログラミング。インタプリタの動きを制御する。

C言語は、コンパイラ言語。C言語のコンパイラは、C言語で書かれている。

CPUは、機械語のインタプリタ。

Javaは、中間。Javaコンパイラは、Javaのソース・プログラムを、Java仮想計 算機(Java Virtual Machine)の機械語に変換する。実行させるには、Java仮想 計算機のインタプリタのプログラムを動かすか、Java仮想計算機のプログラム を本当の計算機(CPU)の機械語に変換して動かす。WWWブラウザには、JavaVM のインタプリタが組み込まれている。

種類

分類

■プログラム言語で考えるとコンピュータはどう見えるか

いろいろな抽象化。

変数。
メモリを抽象化したもの。
代入
メモリ間のコピーを抽象化したもの。
関数(+,−,*,/,<,>,<>,=など)
CPUの計算機能を抽象化したもの。
サブルーチン
よく使われる小さなプログラムの断片。名前がある。 大きなプログラムを小さなサブルーチンの集合として作る。 分担作業をする。再利用。手抜き。
if, for, WHILE WEND
プログラム・カウンタの制御を抽象化したもの。
ファイルの扱い
ファイル操作、永続的なメモリの利用。

データ型(符号)

普通のプログラミング言語では、そのままでは音や絵の符号は扱えない。

■Basic

いろいろな抽象化。昔のBasicは、抽象化の度合が低く、コンピュータの仕組 みが見える場所が多かった。Visual Basic は、名前こそ Basic だが、別の言 語と思った方がいい。

古いBasicの抽象。

変数。
メモリを抽象化したもの。
行番号、ラベル。
プログラムが保存されている番地を抽象化したもの。
関数(+,−,*,/,<,>,<>,=など)
CPUの計算機能を抽象化したもの。
IF, GOTO, FOR NEXT, WHILE WEND
プログラム・カウンタの制御を抽象化したもの。
INPUT, PRINT
入出力を抽象化したもの。
LOAD, SAVE
プログラムの主記憶と二次記憶の間のコピーを抽象化したもの。
代入
メモリ間のコピーを抽象化したもの。

データ型(符号)

音や絵の符号は扱えない。

◆BASIC 言語の中で木構造

構文木。 解析木。

■emacs(ng)のバッファ

emacs のバッファ(buffer)。メモリを抽象化したもの。 メモリに、ファイルのように名前を付けることができる。 名前空間は、線形。数が少ないので、木構造になっていない。

■データベース

蓄積されたデータと、それを管理するプログラムを合わせてデータベースと呼 ぶ。単純なファイルではない。保存されているデータ(レコード)の間には、 ある種の「一貫性(consistency)」がある。

データベースを使う理由

■トランザクション

データベースのデータを一貫性を保ったまま更新するための仕組み。最終的に には、全ての更新を完全に行うか、まったく更新を行わないかのどちらかにす る。中途半端な更新を存りえないようにする。 All or nothing。

簡単なトランザクション。エディタでファイルの更新する。 完全に更新できたら、保存する。そうでなければ、保存しない。

トランザクションで使う考え方

■図書館の文献検索の機能を使う

http://www.tulips.tsukuba.ac.jp/ 筑波大学図書館蔵書検索 (OPAC)

大事な考え方。

■WWWで検索機能を使う

■インターネット

インターネット ( internet )とは、もともとネットワークのネットワークと いう意味です。インターネットとは、いくつかのネットワークが相互接続され たものです。類似の言葉に、インターナショナル(international)というもの があります。ここで、 ネットワークとは、それぞれ独立した方針で運営され ている計算機ネットワークです。LANやパソコン通信などは、インターネッ トではないネットワークに分類されます。

世界最大のインターネットは、インターネットと呼ばれています。これは、英 語で書くと、固有名詞のということで頭を大文字にして the Internetと綴ら れます。この章で説明するものは、この固有名詞としてのインターネットです。

固有名詞としてのインターネットは、次のような意味を含んでいます。

よくインターネットのことを「世界最大のコンピュータ・ネットワーク」と紹 介されることがあります。これは、(1)に関する側面しか語っていません。そ れ以外にも、(2), (3)の意味合いもあります。

現在のインターネットは、 ARPANETという、1960年代の終りにアメリカ国防省 の資金による研究プロジェクトの結果作られたネットワークが元になっていま す。ARPANETの研究成果の1つとして、TCP/IP (Transmission Control Protocol/Internet Protocol)という通信プロトコル(通信の約束)がありま す。TCP/IPは、プログラムとプログラムが会話をするための仕掛けです。イン ターネットという言葉は、the Internetに電子メールを交換できる範囲を意味 することもあります。

インターネットの哲学は、「つながるものはなんでもつなげる」ということです。そう いう意味では、現在使われている技術は、しばらくたつと限界に達するでしょう。しか し、「つながるものはなんでもつなげる」という考え方は、ずっと生き残るでしょう。 そういう意味でインターネットは、ブームで終ることは決しあり得ないと言えます。


↑[もどる] ←[5月2日] ・[5月9日] →[5月16日] [ファイルと木構造] [木構造探索ツール]
Last updated: 1997/05/22 21:26:28
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>