電腦編程
編輯程序讓電腦執行的過程
電腦編程,是指編輯程序讓電腦執行的過程,很多軟體都可以編程。具有代表性的計算機語言主要有:BASIC C,C++,VB,VF,SQL等等,網頁編程要利用JSP,ASP,PHP,主要使用軟體Microsoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server等等。
編輯程序讓電腦執行的過程就叫編程。
很多軟體都可以編程。具有代表性的計算機語言有Java,BASIC,C,C++,VB,VF,SQL,網頁編程有JSP,ASP,PHP,軟體是Eclipse,Microsoft Visual Studio,Microsoft SQL Server,等等。
BASIC是Beginner's All-purpose symbolic instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。BASIC簡單、易學,曾經是計算機入門的主要學習語言之一,但基本上已經很少有人使用。
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允許創建反映用戶動作和系統事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在Windows環境中有何不同。在Windows之前(回到往日的DOS和“史前時代”PC之前),程序以順序方式運行。也就是說,一旦程序啟動,它就一條指令一條指令的向前執行,直到程序結束或出現致命錯誤。
使創建Windows程序較為容易的關鍵技術是面向對象編程,或OOP。這種技
電腦編程
幾個定義
在討論Visual Basic時,經常可以聽到這些術語,因此對這些術語的基本理解十分有幫助。
控制項提供程序可見界面的可重用對象。控制項的示例有文本框、標籤和命令按鈕。
事件由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊滑鼠、一段時間的限制,或從埠接收數據。
方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息並響應某事件。例如,資料庫對象有打開紀錄集並從一個記錄移動到另一個記錄的方法。
對象程序的基本元素,它含有定義其特徵的屬性,定義其任務和識別它可以響應的事件的方法。控制項和窗體是Visual Basic中所有對象的示例。
過程為完成任務而編寫的代碼段。過程通常用於響應特定的事件。
屬性對象的特徵,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用於為對象提供數據和從對象取回信息。
開發Windows程序有很多得力的工具,比如著名的Visual Studio就是其中一個大型IDE,其中不僅包含VB,還包含VC++、VC#、VF#等子環境。
當然電腦編程並不是指在特定操作系統下的編程。只要是為計算機設計一個指令序列,就應當算是電腦編程。
并行編程模型是底層體系結構與上層應用程序之間的橋樑,向上隱藏并行處理器的細節,提供給程序員并行表達的方法;向下充分利用硬體資源、高效且正確地完成應用需求。任務劃分、任務映射、數據分佈、通信和同步是設計并行編程模型時需要考慮的 5 個關鍵要素。任務并行編程模型主要關注共享存儲的平台,數據分為共享和私有兩種存儲屬性,通過共享數據進行通信。因此,該編程模型的研究重點是任務劃分、任務映射和同步這個關鍵要素。任務并行編程模型把任務作為并行的基本單位,提供任務劃分和同步的編程介面,把任務劃分和同步工作交給程序員完成,用戶可以把應用程序劃分出大量細粒度任務。然而,具體到每個任務到底是并行執行還是串列執行、在哪個物理核上執行以及如何實現任務之間的同步則由運行時系統完成。任務并行編程模型提倡嵌套的遞歸任務,並引入以任務竊取為核心的用戶級線程調度,實現程序的高性能和動態的負載平衡。
任務并行編程模型提供顯式的任務劃分和同步編程介面以及隱式的任務映射機制。前者關注可編程性,後者關注執行效率。任務并行編程模型支持非規則應用程序,把邏輯任務與物理線程分離,從而獨立於處理器核數。但多核時代需要的是面向更廣闊應用領域的、易編程、高產能的并行編程工具,該模型的編程介面(并行性表達和數據管理)和運行時支持(任務調度)面臨如下挑戰:
(1) 該模型的編程介面能支持的并行模式有限,需要豐富編程介面,表達多種多樣的并行性。例如,spawnsync 能夠實現嵌套并行控制結構,但不能高效實現循環級并行,於是,程序員需要把數據并行的應用程序轉換成嵌套并行,才能用該模型編寫并行程序。另外,無條件原子塊結構和有條件原子塊結構是重要的并行任務結構,如何表達以及如何高效支持都需要深入研究;
(2) 該模型把數據分為共享和私有兩種,通過共享數據進行通信。但有些數據是部分任務共享,或者一個線程內執行的所有任務共享,因此需要對數據進一步區分共享範圍,需要研究如何高效實現不同級別的共享數據;
(3) 該模型的運行時系統負責把邏輯任務映射到物理線程上去執行,其核心任務是提高執行效率。存在的問題有:(a) 運行時系統是一個軟體層,與應用程序鏈接在一起,運行在用戶空間上。用軟體實現任務竊取是有代價的,問題是能否進一步降低運行時系統開銷;(b) 任務竊取採用最早任務優先竊取策略,該策略的“深度優先執行”能夠提高 cache 的利用率。但隨機選擇線程進行任務竊取,而沒有考慮多核處理器的存儲層次和處理器架構特點,對於局部性敏感的應用會產生影響。因此,任務調度時需要根據存儲部件的層次、容量、訪問延遲以及數據的訪問局部性、重用度和層次性等因素進行局部性敏感的調度;(c) 集群系統和眾核處理器都遠比多核處理器要複雜,擁有更大量的計算資源,如何管理和使用硬體資源,充分利用體系結構的并行性和局部性來提高性能,也需要深入加以研究。
用人類的語言給電腦編程:美國“沃爾夫拉姆研究會”CEO斯蒂芬・沃爾夫拉姆預言,隨著電腦軟體技術的發展,未來的電腦將不再需要用專業的計算機語言來編程,人們使用人類自己的語言就可以來“編寫”電腦能夠理解的程序。