オブジェクト指向言語論 第ニ回 知能情報学部 新田直也 プログラムの処理方式 プログラムはテキストファイルで書く(ソースコード). ソースコードを処理する方式には以下のものがある. テキストエディタで書いてもよいが,専用のエディタの方が便利. コンパイラ方式: ソースコードを機械語に変換.(高速) インタプリタ方式: ソースコードを解釈しながら実行.(低速) 中間コード方式: コンパイラとインタプリタの中間.Javaなどで採用.(中速) 処理方式がわからないとプログラミング言語は使えない!! コンパイラとインタプリタ コンパイラはソースコードから機械語への変換プログラム. コンパイラ & リンカ ソースコードA 実行プログラムA 出力 入力 実行プログラムA 実行 プログラム実行 のための準備 インタプリタはソースコードの解釈と実行を同時に行うプログ ラム. ソースコードB インタプリタ 解釈&実行 中間コード方式 機械語は,機種に依存する.(Windowsのプログラ ムは,Macでは動かない) いっぽう,インタプリタ方式は実行速度が遅い. 機種に依存しない部分だけを先にコンパイルする. ソースコードA 入力 中間コードA コンパイラ 出力 中間コードA インタプリタ 解釈&実行 機種が違っても良い プログラミング言語に関する チューリング賞 1966年 1971年 1972年 1983年 1984年 1991年 2001年 A. J. Perlis コンパイラ John McCarthy Lisp Edsger W. Dijkstra ALGOL Dennis M. Ritchie C Niklaus Wirth Pascal Robin Milner ML Ole-Johan Dahl / Kristen Nygaard Simula 2003年 Alan Kay Smalltalk 構造化プログラミング以前 構造化していないプログラム(フロチャート)の弊害. 構造化プログラミング 構造化定理(1966年: コラド・ベーム,ジュゼッペ・ ヤコピーニ) 任意のフロチャートは,順次,反復(while文), 分岐(if文) を組み合わせて記述することができる. int s = 0; start: s++; if (s > 100) goto fin; goto start; fin:; goto文を 取ると… int s = 0; while (s <= 100) { s++; } goto文有害論(1968年: ダイクストラ). 一連の処理を手続きまたは関数として抽象化する.
© Copyright 2024 ExpyDoc