SML# - Tutorial Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

[ トップ | [[ 目次|Tutorial/000]] | 前ページ | [[ 次ページ |Tutorial/001]] ]
----
CとMLは互いに計算に関する考え方の異なるプログラミング言語である.
* Cは計算機のメモリー構造へのアクセスと変更を基本とし,
* MLは関数を定義し関数を組み合わせ値の計算をすることを基本とする.
これらは,どちらが基本的とかより優れているといったものではなく,相補的
な概念である.
Cのプログラムでも多数の関数が利用され,また、MLの実用的なプログラムで
もメモリー構造へのアクセスや更新が必用になる場合がある.

さらにこれら二つの言語は,プログラムの典型的な二つの側面を代表している.
プログラミング言語は,計算機が実行する計算を記述するための言語である.
現在のデジタル計算機は,メモリーの変更を繰り返すことによって計算を行う.
Cは,この計算機上で行う計算に忠実なモデルをプログラマに提供する.
プログラマは,C言語を通じて,実際に行われるメモリーへの変更を制御する
ことができる.
これは,システムプログラミングや最高度の効率が要求されるシステムにとっ
て欠かせない機能である.
プログラミング言語はまた,ソフトウエアの記述システムでもある.
プログラミング言語は,複雑で大規模なソフトウエアを効率よく開発するため
の種々の抽象化の概念や構造化の機構を提供する必用がある.
MLは,この点で最も進んだ言語の一つである.
MLが提供する高階の関数や,型推論,データ型とパターンマッチング,モジュー
ルシステムなどの機能を使えば,複雑なソフトウエアを効率よくしかも信頼性
をもって構築することができる.

これら二つの言語を同時に学べば,それぞれの言語の特徴をより良く理解し,
それらを通じてプログラミングの基本をより深く理解することができる.
さらに,SML#のCとの連携機能を使えば,これらの2つの言語を同時に使って,
それらの利点を生かしたプログラミングが可能である.

本チュートリアルでは,Windows上でのプログラミング環境の整備から,SML#
とCとが連携する高度なプログラムの作成まで種々の情報を提供していく予定
である.(東北大学 電気通信研究所 大堀 淳)

!!さらに本格的に学ぶには...
Cに関しては多数の書籍が出版されているのでそれら紹介ページなど参照され
たい.
学習書ではないが、本チュートリアルなどでCの基本を理解したものには、''
平林雅秀、ANSI C言語辞典、技術評論社''をお勧めする.
Standard MLに関しては、
[[「プログラミング言語Standard ML入門(大堀 淳、共立出版、2001年)」|http://www.pllab.riec.tohoku.ac.jp/~ohori/texts/mltext.html]]や
その他本webページの
[[SML言語に関する情報|http://www.pllab.riec.tohoku.ac.jp/smlsharp/mlinfo.html]]を参照

(最終更新2007年8月5日、「SML#からCの関数を呼ぶ」を追加.)
----
[ トップ | [[ 目次|Tutorial/000]] | 前ページ | [[ 次ページ |Tutorial/001]] ]