複製鏈接
請複製以下鏈接發送給好友

電腦編程

鎖定
編輯程序讓電腦執行的過程就叫編程, 很多軟件都可以編程。 具有代表性計算機語言JavaBASIC C,C++,VB,VF,SQL,網頁編程JSP,ASP,PHP,軟件是eclipseMicrosoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server等等。Java是應用最廣泛的編程語言之一,大學中則常常以C語言作為編程的入門語言, BASIC是Beginner's All-purpose symbolic instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言
中文名
電腦編程
軟    件
Microsoft Visual Studio
發展歷程
1964年BASIC語言問世
1991年
微軟推出了Visual Basic1.0版
釋    義
編輯程序讓電腦執行的過程
常用語言
java,BASIC C,C++,VB,VF等

電腦編程定義

編輯程序讓電腦執行的過程就叫編程。
很多軟件都可以實現編程。具有代表性計算機語言JavaBASIC,C,C++,VBVFSQL,網頁編程有JSPASPPHP,軟件是Eclipse,Microsoft Visual StudioMicrosoft 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啓動界面 Visual BASIC啓動界面
通過幾年的發展,它已成為一種專業化的開發語言和環境。用户認為可用Visual Basic快速創建Windows程序,在還可以編寫企業水平的客户/服務器程序及強大的數據庫應用程序,Visual Basic新版中還有更多可用功能。
另外,最流行和實用的C語言,C++等都有發展的前景,而且也是最近幾年人們探索的領域。

電腦編程編程基礎

什麼是程序
首先需要知道下面這個問題的答案:“程序到底是什麼?”計算機程序是指令集,它告訴計算機如何執行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執行預期的任務。
計算機也是一樣,只是它們需要為執行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁盤中保存訊息。 幸運的是,許多這樣的指令包含在處理器芯片中或內置於操作系統中,因此用户不必擔心它們。
相反,應集中於為任務提供指令,如計算僱員工資,創建鄰居郵件列表,或設置格式化文本以顯示最近的年度報表信息。 雖然我們用自然語言讀這些指令,但計算機指令必須是二進制代碼,即一系列在計算機內存和處理器中的開或關的狀態。有些語言,如彙編程序,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此Visual Basic和其他編程語言使程序員可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,並要遵循高度定義的結構。
VS2010下VB10項目種類 VS2010下VB10項目種類
Visual Basic允許創建反映用户動作和系統事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在Windows環境中有何不同。 在Windows之前(回到往日的DOS和“史前時代”PC之前),程序以順序方式運行。也就是説,一旦程序啓動,它就一條指令一條指令的向前執行,直到程序結束或出現致命錯誤。
使創建Windows程序較為容易的關鍵技術面向對象編程,或OOP。這種技術可以創建可重用組建,它是程序的組成模塊。
幾個定義
在討論Visual Basic時,經常可以聽到這些術語,因此對這些術語的基本理解十分有幫助。
控件提供程序可見界面的可重用對象。控件的示例有文本框、標籤和命令按鈕
事件由用户或操作系統引發的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數據
方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息並響應某事件。例如,數據庫對象有打開紀錄集並從一個記錄移動到另一個記錄的方法。
對象程序的基本元素,它含有定義其特徵的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是Visual Basic中所有對象的示例。
過程為完成任務而編寫的代碼段。過程通常用於響應特定的事件。
Windows編程利器VS Windows編程利器VS
屬性對象的特徵,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用於為對象提供數據和從對象取回信息。
其他編程語言
開發Windows程序有很多得力的工具,比如著名的Visual Studio就是其中一個大型IDE,其中不僅包含VB,還包含VC++、VC#、VF#等子環境。
用Win32彙編進行電腦編程 用Win32彙編進行電腦編程
另外彙編語言也經常用於Windows程序設計,比較出名的就是RadASM集成IDE。
其他操作系統下的編程
當然電腦編程並不是指在特定操作系統下的編程。只要是為計算機設計一個指令序列,就應當算是電腦編程。

電腦編程任務並行

並行編程模型是底層體系結構與上層應用程序之間的橋樑,向上隱藏並行處理器的細節,提供給程序員並行表達的方法;向下充分利用硬件資源、高效且正確地完成應用需求。任務劃分、任務映射、數據分佈、通信和同步是設計並行編程模型時需要考慮的 5 個關鍵要素。任務並行編程模型主要關注共享存儲的平台,數據分為共享和私有兩種存儲屬性,通過共享數據進行通信。因此,該編程模型的研究重點是任務劃分、任務映射和同步這個關鍵要素。任務並行編程模型把任務作為並行的基本單位,提供任務劃分和同步的編程接口,把任務劃分和同步工作交給程序員完成,用户可以把應用程序劃分出大量細粒度任務。然而,具體到每個任務到底是並行執行還是串行執行、在哪個物理核上執行以及如何實現任務之間的同步則由運行時系統完成。任務並行編程模型提倡嵌套的遞歸任務,並引入以任務竊取為核心的用户級線程調度,實現程序的高性能和動態的負載平衡 [1] 
任務並行編程模型提供顯式的任務劃分和同步編程接口以及隱式的任務映射機制。前者關注可編程性,後者關注執行效率。任務並行編程模型支持非規則應用程序,把邏輯任務與物理線程分離,從而獨立於處理器核數。但多核時代需要的是面向更廣闊應用領域的、易編程、高產能的並行編程工具,該模型的編程接口(並行性表達和數據管理)和運行時支持(任務調度) [1]  面臨如下挑戰:
(1) 該模型的編程接口能支持的並行模式有限,需要豐富編程接口,表達多種多樣的並行性。例如,spawnsync 能夠實現嵌套並行控制結構,但不能高效實現循環級並行,於是,程序員需要把數據並行的應用程序轉換成嵌套並行,才能用該模型編寫並行程序。另外,無條件原子塊結構和有條件原子塊結構是重要的並行任務結構,如何表達以及如何高效支持都需要深入研究; [1] 
(2) 該模型把數據分為共享和私有兩種,通過共享數據進行通信。但有些數據是部分任務共享,或者一個線程內執行的所有任務共享,因此需要對數據進一步區分共享範圍,需要研究如何高效實現不同級別的共享數據 [1] 
(3) 該模型的運行時系統負責把邏輯任務映射到物理線程上去執行,其核心任務是提高執行效率.存在的問題有:(a) 運行時系統是一個軟件層,與應用程序鏈接在一起,運行在用户空間上。用軟件實現任務竊取是有代價的,問題是能否進一步降低運行時系統開銷;(b) 任務竊取採用最早任務優先竊取策略,該策略的“深度優先執行”能夠提高 cache 的利用率。但隨機選擇線程進行任務竊取,而沒有考慮多核處理器存儲層次處理器架構特點,對於局部性敏感的應用會產生影響。因此,任務調度時需要根據存儲部件的層次、容量、訪問延遲以及數據的訪問局部性、重用度和層次性等因素進行局部性敏感的調度;(c) 集羣系統眾核處理器都遠比多核處理器要複雜,擁有更大量的計算資源,如何管理和使用硬件資源,充分利用體系結構的並行性和局部性來提高性能,也需要深入加以研究 [1] 
參考資料
  • 1.    王蕾, 崔慧敏, 陳莉, 等. .任務並行編程模型研究與進展:Journal of Software,2013