面向問題是一種全新的編程思想,建立在面向過程之上,可以簡單的理解成高度集成的面向過程。
基本介紹
- 中文名:面向問題
- 簡介:建立在面向過程之上
- 定義:一種全新的編程思想
- 作用:可以簡單的理解成高度集成
基本信息,其他信息,
基本信息
什麼是問題呢?需要解決的事情就是問題。一個問題可以由幾個較小的問題組成,一個較小的問題也可以由更小的問題組成,直到那個小問題可以一步解決。
傳統的面向過程編程要完成一項功能(大的問題)需要大量的代碼,但是許多代碼並不是直接和這項功能有關,而是用於完成細微的工作 (較小的問題)。以面向過程語言(如:C語言)編寫“郵件傳送程式”為例子,編程者需要檢查網路情況、連線伺服器;又要編寫界面,處理 用戶動作,因此需要大量的代碼。而用面向問題語言(如:Angela語言),只要用到一個“黑箱”:SENDEM,以及相關的參數(發件人賬戶用戶名、發件人賬戶密碼、收件人賬戶用戶名、郵件標題、郵件正文、郵件附屬檔案),用三行代碼就可以了:
Program SENDEMTEST
SENDEM:[發件人賬戶用戶名],[發件人賬戶密碼],[收件人賬戶用戶名],[郵件標題],[郵件正文],[郵件附屬檔案]
END
其他信息
再舉一個例子,比如說載入文本檔案。在所有的語言中,VB代碼是最簡單的,但也要三行(程式頭尾不計),而且用到了三個函式(StrConv、InputB、LOF)和一種語句(OPEN FOR BINRAY):
Open FILENAME For Binary As #1
TEXT = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
而用面向問題語言(如:Angela語言),只要一行,至於中間過程,全部都由Angela包辦了。
GETFILE:TEXT,FILENAME,'0'
因此說,面向問題編程是一種具有極高效率的編程方式,但是也有缺點,就是無法進行細微操作和執行速度較慢。對於第一種缺陷,可以用內嵌另一種語言進行解決(Angela語言已經內嵌VBS,並準備內嵌C和ASM);但是對於第二種缺陷,尚未有良策解決。魚與熊掌不可兼得,是否採用這種全新的編程方式,要具體情況具體分析。