A. php、java和ASP.NET之間的區別具體點的 謝謝!
一、主體不同
1、PHP:即「超文本預處理器」,是一種通用開源腳本語言。
2、JAVA:是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念。
3、ASP.NET:是微軟公司推出的新一代腳本語言。
二、特點不同
1、PHP:PHP在不斷兼容著類似closures和命名空間等技術,同時兼顧性能和當下流行的框架。版本是7之後,一直在提供更高性能的應用。
2、JAVA:具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等
3、ASP.NET:基於.NET Framework的Web開發平台,不但吸收了ASP以前版本的最大優點並參照Java、VB語言的開發優勢加入了許多新的特色,同時也修正了以前的ASP版本的運行錯誤。
三、優勢不同
1、PHP:獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。
2、JAVA:作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程
3、ASP.NET:具備開發網站應用程序的一切解決方案,包括驗證、緩存、狀態管理、調試和部署等全部功能。
B. SNS實現採用的技術大多是PHP,如果採用java、.net是否同樣適用
國內SNS(社交)網站系統的程序一般都是由PHP語言開發的,架構模式都是主流的LNMP,為什麼會這樣呢?
其實原因很簡單,SNS類型網站適用於用LNMP架構模式來部署,主要原因有以下:
1、首先從開發語言上說,PHP雖然是一門腳本語言,但它的底層是由C開發的,性能上比Java和.NET更具優勢;另外從開發效率上說,PHP因其內置函數庫十分豐富,所以開發起來比Java、.NET要節省人力,工時短。互聯網時代,早上線一天,可能就多佔據一份市場!
2、另外從SNS網站性質上說,強交互型的網站有幾個特點:
流量高悉大
響應快
負載高
這就要求SNS網站的伺服器集群數量較多,屬於中大型的規模。這就涉及到經濟方面的考慮了,也就迫使我們選擇開源免費的技術方案。
而微軟系,大家都懂的,一是封閉,二是收費!所以我們說.NET體系不適合做互聯網項目,只適合做做傳統的客戶端應用。
而Java呢,它其實是非常適合做互聯網項目的,它其實在SNS項目中同樣可以擔當主力開發語言,只不過它的開發周期較PHP長,投入成本較大。
總結來說PHP之所以在SNS網站中是主選語言,原因就是經濟上的考慮:
開發周期短,節省人力;
跨平台支持,Linux、MySQL都是開源的,所以後期不存在授權費用,節省了軟體投入成本;試想一下,如果選擇了微軟系,萬一哪天微軟找到你說你的伺服器系統是盜版的怎麼辦?
創業型公司前期投入都少,PHP只需要小團隊開發,而Java、.NET較於復雜;
同樣的需求,用PHP實現,佔用伺服器資源少,而
.NET和Java佔用伺服器資源更大;對伺服器的配置要求更高!
藉助網路上的一句話「PHP是世界棚念哪上最好的語言,沒有之一鏈碼!」C. 網站常用的幾種開發語言NET,PHP,JSP,各有什麼優點缺點
ASP,全稱為Active Server Pages
ASP是微軟(Microsoft)所開發的一種後台腳本語言,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把後台腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。目前在微軟的 .net 戰略中新推出的ASP.net 借鑒了Java技術的優點,使用C Sharp (C#) 語言作為ASP.net的推薦語言,同時改進了以前ASP的安全性差等缺點。但是,使用ASP/ASP.net仍有一定的局限性,因為從某種角度來說它們只能在微軟的 Windows NT/2000/XP + IIS的伺服器平台上良好運行(雖然像ChilliSoft提供了在UNIX/Linux上運行ASP的解決方案,但是目前ASP在UNIX/Linux上的應用可以說幾乎為0)。所以平台的局限性和ASP自身的安全性限制了ASP的廣泛應用。
ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。
PHP,全稱為PHP: Hypertext Preprocessor
PHP 的全名非常有趣,它是一個巢狀的縮寫名稱——「PHP: Hypertext Preprocessor」,打開縮寫還是縮寫。PHP是一種HTML 內嵌式的語言 (就像上面講的ASP那樣)。而 PHP 獨特的語法混合了C,Java,Perl以及 PHP 式的新語法。它可以比 CGI 或者 Perl 更快速地執行動態網頁。
PHP的源代碼完全公開,在 Open Source 意識抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數庫加入,以及不停地更新,使得 PHP 無論在 UNIX 或是 Win32 的平台上都可以有更多新的功能。它提供豐富的函數,使得在程式設計方面有著更好的資源。目前PHP的最新版本為4.1.1 ,它可以在Win32以及UNIX/Linux等幾乎所有的平台上良好工作。PHP在4.0版後使用了全新的Zend引擎,其在最佳化之後的效率,比較傳統 CGI 或者 ASP 等技術有了更好的表現。
平台無關性是PHP的最大優點,但是在優點的背後,還是有一些小小的缺點的。如果在PHP中不使用ODBC,而用其自帶的資料庫函數(這樣的效率要比使用ODBC高)來連接資料庫的話, 使用不同的資料庫,PHP的函數名不能統一。這樣,使得程序的移植變得有些麻煩。不過,作為目前應用最為廣泛的一種後台語言,PHP的優點還是異常明顯的。
JSP,全稱為Java Server Pages / Servlet
JSP和Servlet要放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的一部分。
Servlet的形式和前面講的CGI差不多,它是HTML代碼和後台程序分開的。它們的啟動原理也差不多,都是伺服器接到客戶端的請求後,進行應答。不同的是,CGI對每個客戶請求都打開一個進程(Process),而Servlet卻在響應第一個請求的時候被載入,一旦Servlet被載入,便處於已執行狀態。對於以後其他用戶的請求,它並不打開進程,而是打開一個線程(Thread),將結果發送給客戶。由於線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源共享,這樣就減輕了伺服器的負擔,所以,Java Servlet可以用來做大規模的應用服務。
雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。但是,它的執行方式和ASP或PHP完全不同。在JSP被執行的時候,JSP文件被JSP解釋器(JSP Parser)轉換成Servlet代碼,然後Servlet代碼被Java編譯器編譯成 .class 位元組文件,這樣就由生成的Servlet來對客戶端應答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。
由於JSP/Servlet都是基於Java的,所以它們也有Java語言的最大優點——平台無關性,也就是所謂的「一次編寫,隨處運行(WORA – Write Once, Run Anywhere)」。除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。因此,JSP/Servlet雖然在國內目前的應用並不廣泛,但是其前途不可限量。
在調試JSP代碼時,如果程序出錯,JSP伺服器會返回出錯信息,並在瀏覽器中顯示。這時,由於JSP是先被轉換成Servlet後再運行的,所以,瀏覽器中所顯示的代碼出錯的行數並不是JSP源代碼的行數,而是指轉換後的Servlet程序代碼的行數。這給調試代碼帶來一定困難。所以,在排除錯誤時,可以採取分段排除的方法(在可能出錯的代碼前後輸出一些字元串,用字元串是否被輸出來確定代碼段從哪裡開始出錯),逐步縮小出錯代碼段的范圍,最終確定錯誤代碼的位置。
JSP和ASP相比較:
運行速度、運行開銷、運行平台、擴展性、安全性、函數支持、廠商支持、對XML的支持等等,ASP都不是JSP的對手。COM組件的復雜性實編程實現有一定的難度。而JAVABeans和JAVA的結合卻是天衣無縫的。
JSP和ASP.NET相比較:
1.相對C#,JSP的腳本語言JAVA也是面向對象的、分布式的、解釋的語言。
2.與C#相似JAVA同樣去掉了難以理解的指針等概念,取而代之的是類和對象。
3. JSP有一項全新的技術――Servlet(伺服器端程序)很好的節約了伺服器資源。
4.JAVABeans是針對ASP.NET的Server Control的技術。只要會JAVA, JavaBeans就很容易寫出。
5.再有就是JAVA的JDBC資料庫連接技術。
6.JSP對XML同樣有十分廣泛的支持。
1) 面向對象性:
ASP+將C#作為一種面向對象語言,在很多方面來看,C#將成為微軟的與Java相似的語言。
C#另一個有趣的地方是所有對象都自動變成為COM對象。如果C#能取得很大的市場份額,那麼它將給ASP+帶來類似於Java的功能,並且具備更快的性能,因為它可以和Windows環境緊密集成。
C# 是ASP+開發中一個最重要的功能,微軟會將C#發展成為Java的強勁對手。這也是他們.Net框架的一個重要組成部分。我認為C#是微軟在編程市場上擊敗對手的主要工具。我期待著微軟能在這個產品後面傾注全力,這樣,C#可以成為許多程序員的又一種選擇。C#產生的結果是將進一步加固微軟和Sun產品的戰線。這對用戶是有利的,他們可以選擇兩者之一來開發新的應用。
2) 資料庫連接:
ASP另一個亮點是它使用ADO對象,ODBC, OLE-DB和事務處理管理器。因此ASP Web資料庫應用開發特別簡單。ASP+發展了更多的功能,因為有了ADO+!ADO+帶來了更強大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落後,當新版本ASP+/ADO+出現後這樣的差別會更明顯。我個人希望SUN應盡快能花大力氣來追趕ASP+/ADO+的組合。
3) 大型站點應用:
ASP+將對大型站點(web farms)有更好的支持。事實上,微軟在這方面付出了巨大的努力。 ASP+可以讓你考慮到多伺服器(multiple servers)的場合,當你需要更強大的功能時,僅僅只需要增加一台伺服器。整個.Net框架已經充分地提供了這個方法。ASP+提供了外部會話狀態(external session state)來提供內置式web farm的支持。另外,由於請求的各組件相互間經過了充分的優化,所以速度很快。
於是ASP+現在可以在大型項目方面與JSP一樣具有等同的能力。 而ASP+還有價格方面的優勢,因為所有的組件將是伺服器操作系統的一部分。對於JSP,你需要購買昂貴的應用伺服器群來達到同樣的目的。
4) ASP+還提供更多的其它方面的新特性,例如:
*內置的對象緩存和頁面結果緩存。
*內置的XML支持,可用於XML數據集的簡單處理。
*伺服器控制提供了更充分的互動式控制。
ASP+確實對ASP進行了較大的發展。
D. java,.net,php工程師學哪個比較好
建議先學.net
.net的C#語言現在很流行
這個學好了再想學其它的會容易上手的多