1. 程式人生 > >php 、asp、 java、 c#、 delphi之間的語言對比

php 、asp、 java、 c#、 delphi之間的語言對比

PHP是一種跨平臺的伺服器端的嵌入式指令碼語言。它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支援目前絕大多數資料庫。還有一點,PHP是完全免費的,不用花錢,。而且你可以不受限制地獲得原始碼,甚至可以從中加進你自己需要的特色。

ASP全名ActiveServer Pages,是一個WEB伺服器端的開發環境,利用它可以產生和執行動態的、互動的、高效能的WEB服務應用程式。ASP採用指令碼語言VBScript(Java script)作為自己的開發語言。

Java是一種簡單的,跨平臺的,面向物件的,分散式的,解釋的,健壯的安全的,結構的中立的,可移植的,效能很優異的多執行緒的,動態的語言。Java 程式語言的風格十分接近C

C++語言。Java是一個純的面向物件的程式設計語言,它繼承了 C++ 語言面向物件技術的核心,Java捨棄了C ++語言中容易引起錯誤的指標(以引用取代)、運算子過載(operator overloading)、多重繼承(以介面取代)等特性,增加了垃圾回收器功能用於回收不再被引用的物件所佔據的記憶體空間,使得程式設計師不用再為記憶體管理而擔憂。

.NET

.NET的優勢:企業資訊系統部門可自行程式設計

.NET是Microsoft貼在現有產品和未來產品上的一個新式行銷標籤。在Microsoft伺服器端產品中,如基於Windows DNA 2000技術的izTalk Server 2000和Application Center 2000,.NET標籤將隨處可見。然而,.NET最令人感興趣的特色卻在於它的開發平臺、語言和協議。

通過.NET,Microsoft為我們提供了一種全新的開發平臺,這個平臺將推動以新體系為基礎的協同Web應用開發。根據Microsoft的說法,.NET至少將成為一種“對Web程式設計”的方法。當前,第一版Visual Studio .NET已經出現,由此出發,我們或許可以比較精確地勾畫出.NET平臺最終的全貌。

.NET開發工具--Visual Studo.NET的易用性使得它在Java很難實現的“使用者企業(資訊系統部門)也可程式設計的系統”上超人一頭。筆者認為可能還存在其他這樣的領域。當然,儘管.NET的標準語言VB.NET和C#都與Java一樣複雜,但是Visual Studo.NET卻很好地消除了這種複雜性。

Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程式首先是應用程式框架,而這一框架正是應用程式的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計執行。您的工作只是在“骨架”中加入您的程式。預設的應用程式是一個空白的窗體(form),您可以執行它,結果得到一個空白的視窗。這個視窗具有Windows視窗的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程式。因此,可以說應用程式框架通過提供所有應用程式共有的東西,為使用者應用程式的開發打下了良好的基礎。

優點

(1)Pascal語言結構嚴謹,可以很好地培養一個人的程式設計思想。

(2)Delphi是一門真正的面向物件的開發工具,並且是完全的視覺化。

(3)Delphi使用了真編譯,可以讓你的程式碼編譯成為可執行的檔案,而且編譯速度非常快。

(4)Delphi具有強大的資料庫開發能力,可以讓你輕鬆地開發資料庫。

缺點

Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。

指令碼語言:ASP、PHP;

高階語言主要是相對於組合語言而言,它並不是特指某一種具體的語言,而是包括了很多程式語言,如Delphi,C#,java

語言發生了5代

1.機器語言!(由0和1組成)

2.組合語言!(用一些特定的符號代替二進位制程式碼)

3.高階語言!(Basic  Fortran Cobol PL/I  Ada   C語言 Pascal  等等)

4.第四代語言  這就已經進入面向物件的程式設計了!

5.第五代語言;

C#是一種精確、簡單、型別安全、面向物件的語言。

C#的特點:

1. 完全面向物件。

2. 支援分散式,之所以有C#,是因為微軟相信分散式應用程式是未來的趨勢,即處理過程分佈在客戶機和伺服器上。所以C#一出生就註定了能很好解決分散式問題。

3. 跟Java類似,C#程式碼經過編譯後,成為了一種IL(中間語言)。在執行時,再把IL編譯為平臺專用的程式碼。

4. 健壯,C#在檢查程式錯誤和編譯與執行時錯誤一點也不遜於Java,C#也用了自動管理記憶體機制。

5. C#不像Java那樣完全摒棄了指標和手動記憶體管理。C#預設情況下是不能使用指標的,程式設計師在有必要時可以開啟指標來使用。這樣可以保證程式設計的靈活性。

6. 安全性:C#的安全性是有.net平臺來提供的。C#程式碼編譯後成為IL語言。是一種受控程式碼,.net提供型別安全檢查等機制保證程式碼是安全的。

7. 可移植性:由於C#使用類似Java的中間語言機制。使得C#也跟Java類似,可以很方便的移植到其他系統。在執行時,再把中間程式碼編譯為適合特定機器的程式碼。

8. 解釋性:C#也是一種特殊的解釋性語言。

9. 高效能:C#把程式碼編譯成中間語言後,可以高效的執行程式。

10. 多執行緒:與Java類似,可以由一個主程序分出多個執行小任務的多執行緒。

11. 元件模式:C#很適合元件開發。各個元件可以由其他語言實現的,然後整合在.net中。

c#的缺點:

C#的兩個侷限性。其一是該語言不適用於編寫時間急迫或效能非常高的程式碼,例如一個要執行1000或1050次的迴圈,並在不需要這些迴圈時,立即清理它們所佔用的資源。在這方面,C++可能仍是所有低階語言中的佼佼者。其二是C#缺乏效能極高的應用程式所需要的關鍵功能,包括保證在程式碼的特定地方執行的行內函數和解構函式。但這類應用程式非常少。

NET執行時編譯

當用戶首次請求資源(如網站的一個 ASP.NET 頁(.aspx 檔案))時,將動態編譯 ASP.NET 網頁和程式碼檔案。第一次編譯頁和程式碼檔案之後,會快取編譯後的資源,這樣將大大提高隨後對同一頁提出的請求的效率。