概論
編程語言本來是被設計成專門使用在計算機上的,但它們也能夠用來
定義算法或者數據結構。正是由於如此,
程序員纔會試圖使程序代碼更容易閱讀。
編程語言
每每使程序員可以比使用機器語言更準確地表達他們所想表達的目的。對那些從事計算機科學的人來講,懂得程序設計語言是十分重要的,由於在當今全部的計算都須要程序設計語言才能完成。
在過去的幾十年間,大量的編程語言被髮明、被取代、被修改或組合在一塊兒。儘管人們屢次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之因此有那麼多種不一樣的編程語言存在的緣由是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距很是大,並且有許多語言對新手來講太難學;還有,不一樣程序之間的運行成本(runtime cost)各不相同。
有許多用於特殊用途的語言,只在特殊狀況下使用。例如,
PHP專門用來顯示網頁;Perl更適合文本處理;
C語言被普遍用於操做系統和編譯器的開發(所謂的系統編程)。
高級語言的出現使得計算機程序設計語言
再也不過分地依賴某種特定的機器或環境。這是由於高級語言在不一樣的平臺上會被編譯成不一樣的機器語言,而不是直接被機器執行。最先出現的編程語言之一
FORTRAN的一個主要目標,就是實現平臺獨立。
雖然大多數的語言能夠
既可被編譯又可被解譯,但大多數僅在一種狀況下可以良好運行。在一些編程系統中,程序要通過幾個階段的編譯,通常而言,後階段的編譯每每更接近機器語言。這種經常使用的使用技巧最先在1960年代末用於BCPL,編譯程序先編譯一個叫作「0代碼」的轉換程序(representation),而後再使用虛擬器轉換到能夠運行於機器上的真實代碼。這種成功的技巧以後又用於Pascal和P-code,以及Smalltalk和二進制碼,在不少時候,中間過渡的代碼每每是解譯,而不是編譯的。
若是所使用的翻譯的機制是將所要翻譯的程序代碼做爲一個總體翻譯,並以後運行內部格式,那麼這個翻譯過程就被成爲編譯。所以,
一個編譯器是一個將人可閱讀的程序文本(叫作源代碼)做爲輸入的數據,
而後輸出可執行文件(object code)。所輸出的可執行文件能夠是機器語言,
由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。
若是程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱做
直譯。
經直譯的程序運行速度每每比編譯的程序慢,
但每每更具靈活性,由於它們可以與執行環境互相做用。
語言種類
彙編語言
彙編語言的實質和機器語言是相同的,都是直接對硬件操做,
只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它一樣須要編程者將每一步具體的操做用命令的形式寫出來。彙編程序一般由三部分組成:
指令、僞指令和宏指令。
彙編程序的
每一句指令只能對應實際操做過程當中的
一個很細微的動做。例如移動、自增,所以彙編
源程序通常比較冗長、複雜、容易出錯,並且使用匯編語言編程須要有更多的計算機專業知識,但彙編語言的優勢也是顯而易見的,
用匯編語言所能完成的操做不是通常高級語言所可以實現的,並且源程序經彙編
生成的可執行文件不只比較小,並且執行速度很快。
腳本語言
腳本語言(Script language,scripting language,scripting programming language)
是爲了縮短傳統的
編寫-編譯-連接-運行(edit-compile-link-run)過程而建立的計算機
編程語言。此命名起源於一個
腳本「screenplay」,每次運行都會使對話框逐字重複。
雖然許多
腳本語言都超越了計算機簡單任務自動化的領域,成熟到能夠編寫精巧的程序,但仍然仍是被稱爲腳本。幾乎全部計算機系統的各個層次都有一種
腳本語言。包括操做系統層,如
計算機遊戲,網絡應用程序,字處理文檔,網絡
軟件等。在許多方面,高級編程語言和
腳本語言之間互相交叉,兩者之間沒有明確的界限。
腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。這種靈活性是以執行效率爲代價的。
腳本一般是解釋執行的,速度可能很慢,且運行時更耗內存。在不少案例中,如編寫一些數十行的小
腳本,它所帶來的編寫優點就遠遠超過了運行時的劣勢,
尤爲是在當前程序員工資趨高和硬件成本趨低時。
機器語言
因爲
計算機內部只能接受二進制代碼,所以,用二進制代碼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#和它與
Java、
C、
C++的類似之處。其次我將討論一些存在於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++
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代碼定義了一個結構體:
//定義類
class POINT{ //類點
int x;int y;//「整數」類型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更簡單)的經過拖拉控件建立程序。
易語言
易語言是一門計算機程序語言。以「易」著稱,以中文做爲程序代碼表達的語言形式。易語言的創始人是吳濤。早期版本的名字爲E語言。易語言最先的版本的發佈可追溯至2000年9月11日。能夠說,創造易語言的初衷是進行用中文來編寫程序的實踐。從2000年至今,易語言已經發展到必定的規模:功能上、用戶數量上都十分可觀。
最新版本:易語言5.3 (201401107) (支持靜態編譯)
特點:
1.以簡體中文做爲程序代碼進行編程操做。
2.全中文支持,無需跨越英語門檻。
4.中文語句快速錄入。提供多種內嵌專用輸入法,完全解決中文語句輸入速度慢的問題。
5.代碼即文檔。自動規範強制代碼格式轉換,任何人編寫的任何程序
源代碼格式均統一。
6.加入了png支持,所涉及到組件: 標籤, 按鈕, 選擇框, 圖片框, 圖形按鈕, 畫板, 窗體, 表格。
SQL
結構化查詢語言(Structured Query Language)簡稱
SQL,
是一種數據庫查詢和程序設計語言,
用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是
數據庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,容許用戶在高層
數據結構上工做。它不要求用戶指定對數據的存放方法,也不須要用戶瞭解具體的數據存放方式,因此具備徹底不一樣底層結構的不一樣
數據庫系統可使用相同的結構化查詢語言語言做爲數據輸入與管理的接口。結構化查詢語言語句能夠嵌套,這使他具備極大的靈活性和強大的功能。
SQL語言
結構簡潔,功能強大,簡單易學,因此自從IBM公司1981年推出以來,SQL語言,獲得了普遍的應用。現在不管是像Oracle,Sybase,Informix,SQL server這些大型的數據庫管理系統,仍是像
Visual Foxpro,
PowerBuilder這些微機上經常使用的數據庫開發系統,都支持SQL語言做爲查詢語言。
其餘語言
即中文版的C語言
O語言是一款中文
計算機語言(或稱套裝:O彙編語言、O中間語言、O高級語言)
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
Mercury
它是一種將邏輯編程方式和功能編程方式聯合在一塊兒的編程語言。
Mercury在複雜的,嚴格類型風格的系統上運行。
PHP
PHP是一種普遍使用的編程語言。
由於它所編寫的代碼量小,愈來愈多的公司轉向PHP編程。
Perl
由Larry Wall設計,
Perl是最爲普遍使用的編程語言中的一種,Perl
第一次被應用在文本編輯器上使用了。
Pike
Pike和C語言以及Java相似。它是一種易學的語言,由於它不牽涉複雜的函數功能。
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。
缺點
-
該語言
不適用於編寫時間緊迫或性能很是高的代碼,例如一個要運行1000或1050次循環,並在不須要這些循環時,當即清理它們所佔用的資源;
-
缺少性能極高的應用程序所須要的
關鍵功能,包括保證在代碼的特定地方運行的
內聯函數和析構函數。
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++
Microsoft
Visual 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的特色
它支持應用系統同時訪問多種數據庫,其中既包括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文件,以及對應的版本文件。