概述
編輯程式讓電腦執行的過程就叫編程。
BASIC是Beginner's All-purpose symbolic instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種
計算機高級語言。BASIC簡單、易學,曾經是計算機入門的主要學習語言之一,但目前基本上已經很少有人使用。
發展歷程
第一階段:(1964年~70年代初) 1964年BASIC語言問世。
第二階段:(1975年~80年代中) 微機上固化的BASIC
第三階段:(80年代中~90年代初) 結構化BASIC語言。
第四階段:(1991年以來) Visual BASIC
BASIC是種易學易用的
高級語言,非常適合初學者學習運用。常用的編譯軟體有True BASIC,Turbo BASIC Quick BASIC,Visual BASIC,CAREALIZER,GFA BASIC,POWER BASIC,等等......
1991年,微軟推出了Visual Basic1.0版。這在當時引起了很大的轟動。許多專家把VB的出現當做是軟體開發史上的一個具有劃時代意義的事件。其實,以我們現在的目光來看,VB10的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟體。這使得程式設計師欣喜之極,都嘗試在VB的平台上進行軟體創作。微軟也不失時機地在四年內接連推出VB20,VB30,40三個版本。並且從VB3開始,微軟將ACCESS的資料庫驅動集成到了VB中,這使得VB的資料庫編程能力大大提高。從VB4開始,VB也引入了
面向對象的程式設計思想。VB功能強大,學習簡單。而且,VB還引入了“控制項:的概念,使得大量已經編好的VB程式可以被我們直接拿來使用,如今,VB已經有了6.0版。
通過幾年的發展,它已成為一種專業化的開發語言和環境。用戶認為可用Visual Basic快速創建Windows程式,在現在還可以編寫企業水平的客戶/伺服器程式及強大的資料庫應用程式,Visual Basic新版中還有更多可用功能。
另外,最流行和實用的C語言,C++等都有發展的前景,而且也是最近幾年人們探索的領域。
Visual Basic編程基礎
什麼是程式
首先需要知道下面這個問題的答案:“程式到底是什麼?”電腦程式是
指令集,它告訴計算機如何執行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執行預期的任務。
計算機也是一樣,只是它們需要為執行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在螢幕上放一個字母,怎樣在磁碟中保存訊息。 幸運的是,許多這樣的指令包含在處理器晶片中或內置於作業系統中,因此用戶不必擔心它們。
相反,應集中於為任務提供指令,如計算雇員工資,創建鄰居郵件列表,或設定格式化文本以顯示最近的年度報表信息。 雖然我們用自然語言讀這些指令,但
計算機指令必須是
二進制代碼,即一系列在計算機記憶體和處理器中的開或關的狀態。有些語言,如
彙編程式,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此Visual Basic和其他程式語言使程式設計師可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,並要遵循高度定義的結構。
事件驅動編程
Visual Basic允許創建反映用戶動作和系統事件的程式。這種編程叫
事件驅動編程。要了解事件
驅動程式是怎樣工作的,先要了解過去的程式怎樣運行及在Windows環境中有何不同。 在Windows之前(回到往日的DOS和“史前時代”PC之前),程式以順序方式運行。也就是說,一旦程式啟動,它就一條指令一條指令的向前執行,直到程式結束或出現致命錯誤。
面向對象編程
使創建Windows程式較為容易的關鍵技術是
面向對象編程,或OOP。這種技術可以創建可重用組建,它是程式的組成模組。
幾個定義
在討論Visual Basic時,經常可以聽到這些術語,因此對這些術語的基本理解十分有幫助。
控制項提供程式可見界面的可重用對象。控制項的示例有文本框、標籤和
命令按鈕。
事件由用戶或作業系統引發的動作。事件的示例有擊鍵、單擊滑鼠、一段時間的限制,或從連線埠接收數據。
方法嵌入在對象定義中的程式代碼,它定義對象怎樣
處理信息並回響某事件。例如,
資料庫對象有打開紀錄集並從一個記錄移動到另一個記錄的方法。
對象程式的基本元素,它含有定義其特徵的屬性,定義其任務和識別它可以回響的事件的方法。控制項和
窗體是Visual Basic中所有對象的示例。
過程為完成任務而編寫的
代碼段。過程通常用於回響特定的事件。
屬性對象的特徵,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用於為對象提供數據和從對象取回信息。
其他程式語言
開發Windows程式有很多得力的工具,比如著名的Visual Studio就是其中一個大型IDE,其中不僅包含VB,還包含VC++、VC#、VF#等子環境。
另外
彙編語言也經常用於Windows程式設計,比較出名的就是RadASM集成IDE。
其他作業系統下的編程
當然電腦編程並不是指在特定作業系統下的編程。只要是為計算機設計一個指令序列,就應當算是電腦編程。
任務並行編程模型
並行編程模型是底層體系結構與上層應用程式之間的橋樑,向上隱藏並行處理器的細節,提供給程式設計師並行表達的方法;向下充分利用硬體資源、高效且正確地完成套用需求.任務劃分、任務映射、數據分布、通信和同步是設計並行編程模型時需要考慮的 5 個關鍵要素.任務並行編程模型主要關注共享存儲的平台,數據分為共享和私有兩種存儲屬性,通過共享數據進行通信.因此,該編程模型的研究重點是任務劃分、任務映射和同步這個關鍵要素.任務並行編程模型把任務作為並行的基本單位,提供任務劃分和同步的編程接口,把任務劃分和同步工作交給程式設計師完成,用戶可以把應用程式劃分出大量細粒度任務.然而,具體到每個任務到底是並行執行還是串列執行、在哪個物理核上執行以及如何實現任務之間的同步則由運行時系統完成.任務並行編程模型提倡嵌套的遞歸任務,並引入以任務竊取為核心的用戶級執行緒調度,實現程式的高性能和動態的負載平衡.
任務並行編程模型提供顯式的任務劃分和同步編程接口以及隱式的任務映射機制.前者關注可程式性,後者關注執行效率.目前,任務並行編程模型支持非規則應用程式,把邏輯任務與物理執行緒分離,從而獨立於處理器核數.但多核時代需要的是面向更廣闊套用領域的、易編程、高產能的並行編程工具,該模型的編程接口(並行性表達和數據管理)和運行時支持(任務調度)面臨如下挑戰:
(1) 該模型的編程接口能支持的並行模式有限,需要豐富編程接口,表達多種多樣的並行性.例如,spawnsync 能夠實現嵌套並行控制結構,但不能高效實現循環級並行,於是,程式設計師需要把數據並行的應用程式轉換成嵌套並行,才能用該模型編寫並行程式.另外,無條件原子塊結構和有條件原子塊結構是重要的並行任務結構,如何表達以及如何高效支持都需要深入研究;
(2) 該模型把數據分為共享和私有兩種,通過共享數據進行通信.但有些數據是部分任務共享,或者一個執行緒內執行的所有任務共享,因此需要對數據進一步區分共享範圍,需要研究如何高效實現不同級別的共享數據;
(3) 該模型的運行時系統負責把邏輯任務映射到物理執行緒上去執行,其核心任務是提高執行效率.存在的問題有:(a) 運行時系統是一個軟體層,與應用程式連結在一起,運行在用戶空間上.用軟體實現任務竊取是有代價的,問題是能否進一步降低運行時系統開銷;(b) 任務竊取採用最早任務優先竊取策略,該策略的“深度優先執行”能夠提高 cache 的利用率.但隨機選擇執行緒進行任務竊取,而沒有考慮多核處理器的存儲層次和處理器架構特點,對於局部性敏感的套用會產生影響.因此,任務調度時需要根據存儲部件的層次、容量、訪問延遲以及數據的訪問局部性、重用度和層次性等因素進行局部性敏感的調度;(c) 集群系統和眾核處理器都遠比多核處理器要複雜,擁有更大量的計算資源,如何管理和使用硬體資源,充分利用體系結構的並行性和局部性來提高性能,也需要深入加以研究.