核心概念之二---編程語言(Programming Language)

編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員可以準確地定義計算機所須要使用的數據,並精確地定義在不一樣狀況下所應當採起的行動。[1] javascript

最先的編程語言是在電腦發明以後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動做。在電腦領域已發明了上千不一樣的編程語言,並且每一年仍有新的編程語言誕生。不少編程語言須要用指令方式說明計算的程序,而有些編程語言則屬於聲明式編程,說明須要的結果,而不說明如何計算。[1] html

編程語言的描述通常能夠分爲語法及語義語法是說明編程語言中,哪些符號或文字的組合方式是正確的語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本爲ISO/IEC 9899:2011,而其餘語言(像Perl)有一份主要的編程語言實現文件,視爲是參考實現。[1] 前端

編程語言俗稱「計算機語言」,種類很是的多,總的來講能夠分紅機器語言、彙編語言、高級語言三大類。電腦每作的一次動做,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序所有都是用咱們所掌握的語言來編寫的。因此人們要控制計算機必定要經過計算機語言向計算機發出命令。 目前通用的編程語言有兩種形式:彙編語言高級語言[1] java

  • 中文名c++

  • 編程語言程序員

  • 外文名web

  • programming language算法

  • 俗    稱數據庫

  • 計算機語言編程

  • 分    成

  • 機器語言、彙編語言、高級語言

  • 形    式

  • 彙編語言和高級語言

概論

編程語言本來是被設計成專門使用在計算機上的,但它們也能夠用來定義算法或者數據結構。正是由於如此,程序員纔會試圖使程序代碼更容易閱讀。[1] 

編程語言每每使程序員可以比使用機器語言更準確地表達他們所想表達的目的。對那些從事計算機科學的人來講,懂得程序設計語言是十分重要的,由於在當今全部的計算都須要程序設計語言才能完成。[1] 

在過去的幾十年間,大量的編程語言被髮明、被取代、被修改或組合在一塊兒。儘管人們屢次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之因此有那麼多種不一樣的編程語言存在的緣由是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距很是大,並且有許多語言對新手來講太難學;還有,不一樣程序之間的運行成本(runtime cost)各不相同。[1] 

有許多用於特殊用途的語言,只在特殊狀況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被普遍用於操做系統和編譯器的開發(所謂的系統編程)。[1] 

高級語言的出現使得計算機程序設計語言再也不過分地依賴某種特定的機器或環境。這是由於高級語言在不一樣的平臺上會被編譯成不一樣的機器語言,而不是直接被機器執行。最先出現的編程語言之一FORTRAN的一個主要目標,就是實現平臺獨立。[1] 

雖然大多數的語言能夠既可被編譯又可被解譯,但大多數僅在一種狀況下可以良好運行。在一些編程系統中,程序要通過幾個階段的編譯,通常而言,後階段的編譯每每更接近機器語言。這種經常使用的使用技巧最先在1960年代末用於BCPL,編譯程序先編譯一個叫作「0代碼」的轉換程序(representation),而後再使用虛擬器轉換到能夠運行於機器上的真實代碼。這種成功的技巧以後又用於Pascal和P-code,以及Smalltalk和二進制碼,在不少時候,中間過渡的代碼每每是解譯,而不是編譯的。[1] 

若是所使用的翻譯的機制是將所要翻譯的程序代碼做爲一個總體翻譯,並以後運行內部格式,那麼這個翻譯過程就被成爲編譯。所以,一個編譯器是一個將人可閱讀的程序文本(叫作源代碼)做爲輸入的數據,而後輸出可執行文件(object code)。所輸出的可執行文件能夠是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。[1] 

若是程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱做直譯。經直譯的程序運行速度每每比編譯的程序慢,但每每更具靈活性,由於它們可以與執行環境互相做用。[1]

語言種類

彙編語言

彙編語言的實質和機器語言是相同的,都是直接對硬件操做,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它一樣須要編程者將每一步具體的操做用命令的形式寫出來。彙編程序一般由三部分組成:指令僞指令宏指令彙編程序的每一句指令只能對應實際操做過程當中的一個很細微的動做。例如移動、自增,所以彙編源程序通常比較冗長、複雜、容易出錯,並且使用匯編語言編程須要有更多的計算機專業知識,但彙編語言的優勢也是顯而易見的,用匯編語言所能完成的操做不是通常高級語言所可以實現的,並且源程序經彙編生成的可執行文件不只比較小,並且執行速度很快。

腳本語言

腳本語言(Script language,scripting language,scripting programming language)是爲了縮短傳統的編寫-編譯-連接-運行(edit-compile-link-run)過程而建立的計算機編程語言。此命名起源於一個腳本「screenplay」,每次運行都會使對話框逐字重複。[1] 

早期的腳本語言常常被稱爲批量處理語言或工做控制語言。一個腳本一般是解釋運行而非編譯。

雖然許多腳本語言都超越了計算機簡單任務自動化的領域,成熟到能夠編寫精巧的程序,但仍然仍是被稱爲腳本。幾乎全部計算機系統的各個層次都有一種腳本語言。包括操做系統層,如計算機遊戲,網絡應用程序,字處理文檔,網絡軟件等。在許多方面,高級編程語言和腳本語言之間互相交叉,兩者之間沒有明確的界限。

腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。這種靈活性是以執行效率爲代價的。腳本一般是解釋執行的,速度可能很慢,且運行時更耗內存。在不少案例中,如編寫一些數十行的小腳本,它所帶來的編寫優點就遠遠超過了運行時的劣勢,尤爲是在當前程序員工資趨高和硬件成本趨低時。

腳本語言是一種解釋性的語言,例如Python[2] 、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等能夠編譯二進制代碼,以可執行文件的形式存在.[3] 

機器語言

因爲計算機內部只能接受二進制代碼,所以,用二進制代碼0和1描述的指令稱爲機器指令,所有機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱爲目標程序。只有目標程序才能被計算機直接識別和執行。可是機器語言編寫的程序無明顯特徵,難以記憶,不便閱讀和書寫,且依賴於具體機種,侷限性很大,機器語言屬於低級語言。

高級語言

高級語言是大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,而且去掉了與具體操做有關但與完成工做無關的細節,例如使用堆棧寄存器等,這樣就大大簡化了程序中的指令。同時,因爲省略了不少細節,編程者也就不須要有太多的專業知識。

高級語言主要是相對於彙編語言而言,它並非特指某一種具體的語言,而是包括了不少編程語言,像最簡單的編程語言PASCAL語言也屬於高級語言。

高級語言所編制的程序不能直接被計算機識別,必須通過轉換才能被執行,按轉換方式可將它們分爲兩類:

解釋類:執行方式相似於咱們平常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,所以效率比較低,並且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,能夠動態地調整、修改應用程序。如較早時期的Qbasic語言。

編譯類:編譯是指在應用源程序執行以前,就將程序源代碼「翻譯」成目標代碼(機器語言),所以其目標程序能夠脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦須要修改,必須先修改源代碼,再從新編譯生成新的目標文件(* .obj,也就是OBJ文件)才能執行,只有目標文件而沒有源代碼,修改很不方便。

常見語言

C#

C#是微軟公司發佈的一種面向對象的、運行於.NET Framework之上的高級程序設計語言。C#是微軟公司研究員Anders Hejlsberg的最新成果。Csharp(音標 [∫a:p])(又被簡稱爲"C#")是微軟公司在2000年6月發佈的一種新的編程語言,並定於在微軟職業開發者論壇(PDC)上登臺亮相。C#看起來與Java有着驚人的類似;它包括了諸如單一繼承、界面、與Java幾乎一樣的語法,和編譯成中間代碼再運行的過程。可是C#與Java有着明顯的不一樣,它借鑑了Delphi的一個特色,與COM(組件對象模型)是直接集成的,並且它是微軟公司.NET windows網絡框架的主角。 在本文中,我將考察建立一種新計算機語言的通常動機,並將特別指明是什麼緣由致使了C#的出現,而後我將介紹C#和它與JavaCC++的類似之處。其次我將討論一些存在於Java和C#之間的高層次的、和基礎的差異。我將以衡量在用多種語言開發大型應用程序的時候所需的知識(或者對這種知識的缺少程度)來結束本文,而這正是.NET和C#的一個主要戰略.以及Windows 2000的一個"d預覽版本",還有MSDN上迅速增多的文檔集子的形式得到(尚未最終定型)。

Basic

BASIC(Beginners' All-purpose Symbolic Instruction Code,又譯培基),意思就是「初學者的全方位符式指令代碼」,是一種設計給初學者使用的程序設計語言。BASIC是一種直譯式的編程語言,在完成編寫後不須經由編譯及連結等手續便可執行,但若是須要單獨執行時仍然須要將其創建成執行檔。

Pascal

Pascal是一種計算機通用的高級程序設計語言。Pascal的取名是爲了記念十七世紀法國著名哲學家和數學家Blaise Pascal。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。Pascal語言語法嚴謹,井井有條,程序易寫,具備很強的可讀性,是第一個結構化的編程語言。

C語言

C語言是一種計算機程序設計語言,它既具備高級語言的特色,又具備彙編語言的特色。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已前後被移植到大、中、小及微型機上,它能夠做爲工做系統設計語言,編寫系統應用程序,也能夠做爲應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用範圍普遍,具有很強的數據處理能力,不只僅是在軟件開發上,並且各種科研都須要用到C語言,適於編寫系統軟件,三維,二維圖形和動畫,具體應用好比單片機以及嵌入式系統開發

C++

C++這個詞在中國大陸程序員圈子中一般被讀作「C加加」,而西方的程序員一般讀作「C plus plus」,「CPP」。 它是一種使用很是普遍的計算機編程語言。C++是一種靜態數據類型檢查的、支持多重編程範式的通用程序設計語言。它支持過程化程序設計數據抽象面向對象程序設計泛型程序設計等多種程序設計風格

JAVA

Java是一種能夠撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具備卓越的通用性、高效性、平臺移植性和安全性,普遍應用於我的PC、數據中心、遊戲控制檯、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社羣。在全球雲計算和移動互聯網的產業環境下,Java更具有了顯著優點和廣闊前景。

AAuto

AAuto是專用於桌面軟件快速開發的新一代混合型編程語言 - 具備動態語言輕便、靈活、快速開發的特性,並且又能夠同時支持靜態類型開發,象靜態語言那樣使用。AAuto能夠直接支持原生DLL,即便是外部EXE進程中的函數,也可使用一句代碼聲明爲普通的AAuto函數對象(原生call支持),AAuto支持很是多的標準調用約定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等調用約定均可以支持。AAuto雖然小,但支持的接口很豐富、能夠支持com靜態動態雙接口,象VBS同樣原生支持com對象。

用一個簡單的代碼演示一下,下面的AAuto代碼定義了一個結構體:

1
2
3
4
5
6
7
//定義類 
classPOINT{  //類點
intx;inty; //「整數」類型x;「整數」類型y
func= function (){  //函數=函數()
//動態類型 
} 
}

這種全新的混合編程語言開創了一種全新的編程方式,也由於這種語言特性,AAuto能夠很是方便的嵌入各類第三方語言,AAuto能夠嵌入彙編機器碼,C語言,Java,PHP,C#,Python,Javascript,VBScript......等等數量衆多的第三方編程語言,方便的互調函數,而且這些調用第三方語言的功能模塊都是使用AAuto實現( 開放源碼 )。混合型語言讓咱們能夠體驗到激動人心的全新編程方式。

AAuto能夠將硬盤目錄,硬盤文件一鍵嵌入EXE文件,將所有程序包含全部資源生成獨立的綠色EXE文件,全部文件讀寫的相關函數自動支持,無需更改代碼,AAuto製做的程序不須要安裝程序,也不須要釋放DLL運行庫,AAuto製做的程序都是免安裝綠色軟件。

AAuto屬於類C系語言、而且能夠自定義一套本身的語法。AAuto在語法風格接近流行類C系語言。有其餘語言基礎的能夠輕鬆上手,學習AAuto之後學習其餘編程語言更可事半功倍。

AAuto支持多線程開發,複雜的多線程開發在AAuto中變得很是簡單,標準庫也提供大量簡化多線程開發的輔助支持庫,爲多線程軟件開發帶來很大的方便(請參考快手範例 -> 多線程 )。

AAuto的標準庫基本使用純AAuto源碼實現,而且所有開源,標準庫提供了大量的簡化編程的經常使用函數,涉及到軟件開發的方方面面,極大的簡化了桌面軟件開發過程。

AAuto提供web.form支持庫( 開源 ),能夠建立web窗體加載網頁建立web風格的軟件界面,網頁與本機代碼能夠直接交互,在快手工程嚮導裏,就提供了 WEB UI 的模板。在使用web窗體時,你能感覺到AAuto這種混合語言帶來的巨大方便,較之傳統編程語言,AAuto 能夠更快更加方便的建立 WEB UI 程序,在AAuto自帶的範例中,就有一個多窗口瀏覽器的範例,僅僅使用了一頁300行源碼就實現了一個功能較完整的多窗口網頁瀏覽器,能夠看出使用AAuto極大的簡化了Web相關開發技術。 另外,AAuto提供了web.layout支持庫,封裝了輕量快速的界面引擎HTMLayout,可使用傳統的HTML,CSS技術,更加方便的實現漂亮的界面,並且運行,響應速度極快,官方也提供了大量HTMLayout的範例,教程。 使用AAuto開發傳統界面也很是的方便,AAuto提供可視化開發工具,能夠象VB同樣(實際上比VB更簡單)的經過拖拉控件建立程序。

易語言

[4] 易語言是一門計算機程序語言。以「易」著稱,以中文做爲程序代碼表達的語言形式。易語言的創始人是吳濤。早期版本的名字爲E語言。易語言最先的版本的發佈可追溯至2000年9月11日。能夠說,創造易語言的初衷是進行用中文來編寫程序的實踐。從2000年至今,易語言已經發展到必定的規模:功能上、用戶數量上都十分可觀。

建立者:大連吳濤易語言(吳濤)

易語言簡稱:e、VE、E語言

最新版本:易語言5.3 (201401107) (支持靜態編譯)

特點:

1.以簡體中文做爲程序代碼進行編程操做。

2.全中文支持,無需跨越英語門檻。

3.全可視化編程,支持所見即所得程序界面設計和程序流程編碼。

4.中文語句快速錄入。提供多種內嵌專用輸入法,完全解決中文語句輸入速度慢的問題。

5.代碼即文檔。自動規範強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。

6.加入了png支持,所涉及到組件: 標籤, 按鈕, 選擇框, 圖片框, 圖形按鈕, 畫板, 窗體, 表格。

SQL

結構化查詢語言(Structured Query Language)簡稱SQL,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,容許用戶在高層數據結構上工做。它不要求用戶指定對數據的存放方法,也不須要用戶瞭解具體的數據存放方式,因此具備徹底不一樣底層結構的不一樣數據庫系統可使用相同的結構化查詢語言語言做爲數據輸入與管理的接口。結構化查詢語言語句能夠嵌套,這使他具備極大的靈活性和強大的功能。

SQL語言結構簡潔,功能強大,簡單易學,因此自從IBM公司1981年推出以來,SQL語言,獲得了普遍的應用。現在不管是像Oracle,Sybase,Informix,SQL server這些大型的數據庫管理系統,仍是像Visual FoxproPowerBuilder這些微機上經常使用的數據庫開發系統,都支持SQL語言做爲查詢語言。

其餘語言

習語言

即中文版的C語言[5] 

O語言

O語言是一款中文計算機語言(或稱套裝:O彙編語言、O中間語言、O高級語言)[6] 

AWK

二十世紀70年代Bells Labs創立了Awk語言,它是一種用於處理大數據量強大的命令行語言。

BASH

Bash(Bourne-Again Shell)是一種專門爲GNU操做系統服務的命令行語言。

Common Lisp

Common Lisp,即爲你們所熟知的CL,一種遵循ANSI-standard規範高效運行的編程語言.使用Common Lisp最好的地方是用戶能夠根據應用領域選擇合適方法和範例。

Eiffel

Eiffel是一種面向對象的語言。它演變自1985年,是世界上衆多最成熟的編程語言中的一種.在解決計算問題中,Eiffel代碼是可讀的和可重用的。

Emacs Lisp

一種計算機編程語言的變體,Emacs Lisp能夠被任何其餘的編程語言所使用。

Erlang

Erlang是另一種編程語言,一般分佈在網絡環境中,被用於構建強大的系統程序,Erlang和Java相似。

Forth

Forth是一種基於堆棧概念的高層次編程語言.它不依賴於變量的使用。這種語言幫助解決了一些編程中的老問題。

Icon

Icon是另一種具備處理數據結構和字符串特徵的高層次編程語言。Icon的運行速度比C語言還要快。它在程序員嘗試新想法,快速編程,文本處理,圖像編程,處理大的數據類型方面頗有做用。

Lisp

在處理大數據演算,解決方案,動態變化的問題,以及多種混雜數據的問題上,Lisp是一種理想的編程語言。它適合定位最具備挑戰性的問題。

Lua

Lua是一種強大快速的腳本語言

Mercury

它是一種將邏輯編程方式和功能編程方式聯合在一塊兒的編程語言。Mercury在複雜的,嚴格類型風格的系統上運行。

PHP

PHP是一種普遍使用的編程語言.由於它所編寫的代碼量小,愈來愈多的公司轉向PHP編程。

Perl

由Larry Wall設計,Perl是最爲普遍使用的編程語言中的一種,Perl第一次被應用在文本編輯器上使用了。

Pike

Pike和C語言以及Java相似。它是一種易學的語言,由於它不牽涉複雜的函數功能。

Python

Python是一種面向對象、直譯式計算機程序設計語言。


C#

介紹

C#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的複雜特性(例如沒有以及不容許多重繼承)。C#綜合了VB簡單的可視化操做和C++的高運行效率,以其強大的操做能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成爲.NET開發的首選語言。

C#是面向對象的編程語言。它使得程序員能夠快速地編寫各類基於MICROSOFT .NET平臺的應用程序,MICROSOFT .NET提供了一系列的工具和服務來最大程度地開發利用計算與通信領域。

優勢

C#是多種語言的混合體,所以它像Java同樣語法簡潔,像VB6同樣使用簡單,像C++同樣功能強大和靈活(C#沒有像C++那樣麻煩的位操做)。如下是C#核心特徵的一部分,其中大部分特色也是其餘支持.NET的程序語言所共有的特徵。

不須要指針!C#程序一般不須要直接對指針進行操做(儘管在絕對必要時也能自由地進行底層操做)。

垃圾收集器可以自動管理內存。所以,C#不支持delete關鍵字。

類、接口枚舉、結構和委託都有正式的語法結構。

具備與C++相似的功能,能夠簡單地重載運算符爲自定義類型(例如,不須要操心確保"返回*this以可以連接")。

支持基於特性的編程。這種方式的開發容許咱們註釋類型及其成員來進一步限定其行爲。

構建泛型類型和泛型成員的能力。使用泛型,咱們能夠構建很是高效的而且類型安全的代碼,在和泛型項交互的時候能夠定義不少"佔位符"。

支持匿名方法,它容許咱們在任何須要委託類型的地方提供內聯函數。

不少委託/事件模型的簡化,包括協變、逆變以及方法組轉換。

使用partial關鍵字跨多個代碼文件定義單個類型的能力(或者若是有必要的話,能夠做爲內存中的表示)。

支持強類型的查詢(就像LINQ,即集成查詢語言),可用於和各類形式的數據進行交互。

支持匿名類型,它容許咱們建模一個類型的"形"(shape)而不是其行爲。

使用擴展方法擴展既有類型功能的能力。

包含了Lambda運算符(=>),它能夠進一步簡化.NET委託類型的使用。

新的對象初始化語法,它容許咱們在對象建立時設置屬性的值。

支持動態類型dynamic。

缺點

  1. 該語言不適用於編寫時間緊迫或性能很是高的代碼,例如一個要運行1000或1050次循環,並在不須要這些循環時,當即清理它們所佔用的資源;

  2. 缺少性能極高的應用程序所須要的關鍵功能,包括保證在代碼的特定地方運行的內聯函數和析構函數。

VB

Visual Basic

介紹

Visual Basic是一種由微軟公司開發的包含協助開發環境事件驅動編程語言。從任何標準來講,VB都是世界上使用人數最多的語言——不只是盛讚VB的開發者仍是抱怨VB的開發者的數量。它源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,能夠輕易的使用DAO、RDO、ADO鏈接數據庫,或者輕鬆的建立ActiveX控件程序員能夠輕鬆的使用VB提供的組件快速創建一個應用程序。

優勢

⑴Visual Basic 提供了強大的可視化編程能力,可讓你輕鬆地作出漂亮的程序。

⑵衆多的控件讓編程變得象壘積木同樣簡單。

⑶Visual Basic 所有漢化,對於不會英語的人也能輕鬆使用。

缺點

⑴Visual Basic 不是真正的面向對象的開發工具。

⑵Visual Basic 的數據類型太少,並且不支持指針,這使得它的表達能力頗有限。

⑶Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種僞代碼。它須要一個動態連接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。(Visual Basic 5以及之前的版本產生的代碼是僞代碼,Visual Basic 6 編譯出來的代碼是真正的可執行代碼。)

綜述

Visual Basic對學習者的要求不高,幾乎每一個人均可以在一個比較短的時間裏學會VB編程,並用VB 作出本身的做品。對於那些把編程當作遊戲的朋友來講,VB 是您最佳的選擇。

VC++

Visual C++

MicrosoftVisual C++,(簡稱Visual C++、MSVC、VC++或VC)微軟公司的C++開發工具,具備集成開發環境,可提供編輯C語言,C++以及C++/CLI等編程語言。VC++整合了便利的除錯工具,特別是整合了微軟視窗程式設計(Windows API)、三維動畫DirectX API,Microsoft .NET框架。目前最新的編輯器版本版本是Microsoft Visual C++ 2012。

優勢

⑴C語言靈活性好,效率高,能夠接觸到軟件開發比較底層的東西。

⑵微軟的MFC庫博大精深,學會它可讓爲所欲爲地進行編程。

⑶VC是微軟製做的產品,與操做系統的結合更加緊密。

缺點

⑴對使用者的要求比較高,既要具有豐富的C語言編程經驗,又要具備必定的WINDOWS編程基礎,它的過於專業使得通常的編程愛好者學習起來會有不小的困難。

綜述

VC是程序員用的東西。若是你是一個永不知足的人,並且能夠在編程上投入很大的精力和時間,那麼學習VC你必定不會後悔的。

C++ Builder

c++ Builder是由Borland公司推出的一款可視化集成開發工具。C++ Builder具備快速的可視化開發環境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設置一下它的外觀,就能夠快速地創建應用程序界面;C++ Builder內置了100多個徹底封裝了Windows公用特性且具備徹底可擴展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具備一個專業C++開發環境所能提供的所有功能:快速、高效、靈活的編譯器優化,逐步鏈接,CPU透視,命令行工具等。它實現了可視化的編程環境和功能強大的編程語言(C++)的完美結合。

優勢

⑴繼承了C語言的所有優勢。

⑵徹底的可視化。

⑶極強的兼容性,支持OWL、VCL和MFC三大類庫。

⑷編譯速度很是快。

缺點

⑴因爲離底層較近,開發複雜度較高,對程序員有着較高的要求,且開發效率可能較低。

綜述

C++ Builder 既保持了C語言編程的優勢,又作到了徹底的可視化。

Delphi

Delphi是Windows平臺下著名的快速應用程序開發工具(Rapid Application Development,簡稱RAD)。它的前身,便是DOS時代盛行一時的「BorlandTurbo Pascal」,最先的版本由美國Borland(寶蘭)公司於1995年開發。主創者爲Anders Hejlsberg。通過數年的發展,此產品也轉移至Embarcadero公司旗下。Delphi是一個集成開發環境(IDE),使用的核心是由傳統Pascal語言發展而來的Object Pascal,以圖形用戶界面爲開發環境,透過IDE、VCL工具與編譯器,配合連結數據庫的功能,構成一個以面向對象程序設計爲中心的應用程序開發工具。

優勢

⑴Pascal語言結構嚴謹,能夠很好地培養一我的的編程思想。

⑵Delphi是一個真正的面向對象的開發工具,而且是徹底的可視化。

⑶Delphi使用了真編譯,可讓你的代碼編譯成爲可執行的文件,並且編譯速度很是快。

⑷Delphi具備強大的數據庫開發能力,可讓你輕鬆地開發數據庫。

缺點

⑴Delphi幾乎能夠說是完美的,只是Pascal語言的過於嚴謹讓人感受有點煩。

綜述

Delphi比較適合那些具備必定編程基礎而且學過Pascal語言的朋友。

PB

powerbuilder

對於一些傳統的數據開發人員來講,Foxpro系列也許讓他們感到更加熟悉。可是對於初學者來講,PowerBuilder也許是最好的數據庫開發工具。各類各樣的控件,功能強大的PowerBuilder語言都會幫助你開發出本身的數據庫應用程序。

PowerBuilder開發環境由一系列集成的圖形畫板(Painter)組成,應用開發人員經過簡單的鼠標操做便可設計、創建、交互檢驗和測試客戶/服務器應用程序。

PowerBuilder的產生

PowerBuilder是美國著名的數據庫應用開發工具生產廠商PowerSoft推出的成功產品,其初版於1991年6月正式投入市場。它是徹底按照客戶/服務器體系結構研製設計的,採用面向對象技術,圖形化的應用開發環境,是數據庫的前端開發工具。

PowerBuilder的特色

它支持應用系統同時訪問多種數據庫,其中既包括Oracle,Sybase之類的大型數據庫,又包括FOXPRO之類支持ODBC接口的小型數據庫,PowerBuilder是徹底可視化的數據庫開發工具,它提供了大量的控件,大大加快了項目的開發速度,也使開發者更容易掌握數據庫的開發。

它使用的編程語言叫作工PowerScripr,它也是一種高級的,結構化的編程語言。PowerScript提供了一套完整的嵌入式SQL語句,開發人員能夠像使用其它語句同樣自由地使用SQL語言,這樣就大大加強了程序操縱和訪問數據庫的能力。能夠說PowerBuilder既適合初學者快速學習數據庫的開發,又可讓有經驗的開發人員開發出功能強大的數據庫,是一種適用面很是廣的開發工具。

PowerBuilder是一個用來進行客戶/服務器開發的徹底的可視化開發環境。使用PowerBuilder,你能夠用一種可視的直觀的方式來建立應用程序的用戶界面和數據庫接口。這是一個總的概念,其實是開發人員使用PowerBuilder去開發應用程序,因爲所開發的各類應用程序充分利用了圖形用戶接口(GUI)的優勢,因此PowerBuilder被認爲是一個圖形工具。

在客戶/服務器結構的應用中,PowerBuilder具備描述多個數據庫鏈接與檢索的能力。特別是PowerBuilder能從大多數流行的RDBMS中存取數據,且無論數據存放在什麼地方;另外,各類應用程序又能夠獨立於RDBMS,由於PowerBuilder可使用數據庫的標準操做語言SQL(結構化查詢語言)進行。

使用PowerBuilder,能夠很容易地開發出功能強大的圖形界面的訪問服務器數據庫的應用程序,PowerBuilder提供了創建符合工業標準的應用程序(例如訂單登記、會計及製造系統)所需的全部工具。

PowerBuilder應用程序由窗口組成,這些窗口包含用戶與之交互的控件。開發人員可使用全部標準空間(如按鈕、複選框、下拉式列表框或編輯框)以及PowerBuilder提供的特殊的使應用程序更易於開發和使用的控件。

一般人們把PowerBuilder當作是一種開發工具,實際上它比其餘工具強得多,是一種強有力的開發環境。開發人員不只能用它來開發用戶容易使用的各類應用程序還能夠經過PowerBuilder修改數據庫,利用400多個內部定義函數,能夠開發能和其餘應用程序進行的各類應用程序。

PowerBuilder正在成爲客戶/服務器應用開發的標準。相對於其餘任何客戶/服務器開發環境,PowerBuilder使開發人員的工做更快、成本更低、質量更高、功能更強。

PowerBuilder爲應用開發提供了全面綜合性的支持,能夠分別歸納爲以下幾點:

事件驅動的應用程序

功能強大的編程語言與函數

面向對象的編程

跨平臺開發

開放的數據庫連結系統

ASP

ASP是Active Server Page的縮寫,意爲「動態服務器頁面」。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它能夠與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是 .asp。JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一塊兒創建的一種動態網頁技術標準。JSP技術有點相似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而造成JSP文件(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其餘操做系統上運行。

強勢

⑴一次編寫,處處運行。在這一點上Java比PHP更出色,除了系統以外,代碼不用作任何更改。

⑵系統的多平臺支持。基本上能夠在全部平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的侷限性是顯而易見的。

⑶強大的可伸縮性。從只有一個小的Jar文件就能夠運行Servlet/JSP,到由多臺服務器進行集羣和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。

⑷多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多很是優秀的開發工具,並且許多能夠免費獲得,而且其中許多已經能夠順利的運行於多種平臺之下。

弱勢

⑴ 與ASP同樣,Java的一些優點正是它致命的問題所在。正是因爲爲了跨平臺的功能,爲了極度的伸縮能力,因此極大的增長了產品的複雜性。

⑵ Java的運行速度是用class常駐內存來完成的,因此它在一些狀況下所使用的內存比起用戶數量來講確實是「最低性能價格比」了。從另外一方面,它還須要硬盤空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。

  • 參考資料


備註:轉自http://baike.baidu.com/link?url=KvOpRqsx8y1P2_X66VL7lPJWPjk-NrHJXkYs_5EMiroKDY65B06hLbQNMiPhZ31Ik-lPVjLSY6EmPaieKdrn-aRcND0_FpuqxeG_yydNzF9GSk4Yac62hjcW6Qo3gg2e

相關文章
相關標籤/搜索