分類對比高級語言、操做系統、先後端,數據庫、服務端

操做系統對比(包括服務器操縱系統):php

Windows系統
windows服務器操做系統咱們都比較熟悉,它是Microsoft公司開發的,Microsoft是全球最大的操做系統開發商。Windows系統在局域網配置中是最多見的,但因爲它對服務器的硬件要求較高,且穩定性不是很好,做爲WEB服務器使用時,巨大的內核通信量不是windows能夠承受的,因此微軟的服務器操做系統通常只是用在中、低檔服務器中。固然Windows系統也有本身的優勢,windows在PC時代已經家喻戶曉,在易用性方面,沒有人比Windows作的更好,相比其餘服務器系統來講,極大的下降了使用者的學習成本,這也是Windows系統經久不衰的緣由之一。常見的WindowsServer系統有windows server 200三、windows server 200八、windows server 2012等。
Linux系統
Linux服務器操做系統是在Posix和Unix的基礎上開發出來的,支持多用戶、多任務、多線程、多CPU。最大的特色就是開源,開源就是全部人,包括相關企業,政什麼的,開發人員共同監督,在這樣的監督之下,一套成熟的方案几乎不多出現漏洞。基於這種平臺的開發和使用不須要用戶支付任何版權費用,是不少創業者的基石,也是一些保密機構對服務器操做系統採購的首選。另外,Linux還有一套完整的權限機制,沒有相關權限,想要對系統形成破壞根本無從下手,安全性和穩定性相對較高,受到中、高級開發人員的青睞。也正是由於Linux的安全性和穩定性,國內外不少保密機構服務器操做系統採購的首選,這類操做系統主要應用於中、高檔服務器中。
Unix系統
Unix服務器操做系統由AT&T公司和SCO公司共同推出,主要支持大型的文件系統服務、數據服務等應用。功能強大。這種網絡操做系統穩定和安全性能很是好,但因爲它多數是以命令方式來進行操做的,不容易掌握,特別是初級用戶。正因如此,小型局域網基本不使用Unix做爲網絡操做系統,UNIX通常用於大型的網站或大型的企、事業局域網中。因其體系結構不夠合理,UNIX的市場佔有率呈降低趨勢。Unix在一些人眼中屬於高端操做系統,由於不少的服務器商生產的高端產品只支持Unix操做系統。
NetWare系統
NetWare服務器操做系統相對來講使用的不是不少,多數人不是特別的熟悉,由於它在市場中的份額是比較侷限的,在一些特定行業和事業單位中,NetWare優秀的批處理功能和安全、穩定的系統性能也有很大的生存空間。NetWare操做系統兼容DOS命令,其應用環境與DOS類似,具備至關豐富的應用軟件支持,技術完善、可靠,以對網絡硬件的要求較低而受到一些設備比較落後的中、小型企業,特別是學校的青睞。並且NetWare服務器對無盤站和遊戲的支持較好,經常使用於教學網和遊戲廳。這種操做系統有市場佔有率呈降低趨勢。

前端

前端開發語言:python

HTML 和帶樣式的 HTML 
HTML 就是一組標籤和文本的組合,是一個最基本的網頁。它已經包含了網頁常見的元素,實際上在 Web 早期的很長一段時期內,網頁都是這個樣子。後來隨着使用網絡的人羣愈來愈普遍,在 HTML3.0 中引入了對網頁樣式的定義,某種程度上能夠說,也是從這個時候開始產生了網頁設計師的角色。 
CSS 
帶樣式的 HTML 也擁有一個缺點,它須要爲每一個標題和文字都設定樣式,工做量很是龐大。 CSS 就是在這樣的狀況下誕生了。CSS ,又稱疊層樣式表,簡言之是一種用來表現 HTML 文件樣式的樣式設計語言。CSS 可以對網頁中的對象的位置排版進行像素級的精確控制,實現基礎的靜態的交互設計;而CSS 目前的最新版本 CSS3 可以真正作到網頁表現與內容分離。 
Javascript 
差很少在 CSS 誕生的同一時間,你們開始以爲這樣靜態的網頁彷佛略顯無聊,能不能給網頁加入一些能夠動起來的元素?好比點擊一個按鈕以後變個顏色。當時網景公司的工程師Brendan Eich 就給他們自家的瀏覽器引入了這種實現動態效果的腳本語言,這就是 Javascript(簡稱 JS)的誕生。因此通俗來講,Javascript 就是用來給 HTML 網頁增長動態功能,實現更炫酷的交互。 
jQuery 
jQuery 是一個優秀的 Javascript 庫。jQuery 使用戶能更方便地處理 HTML ,它可以使用戶的 HTML 頁面保持代碼和 HTML 內容分離,經過 jQuery ,能夠不用在 HTML 裏面插入一堆 JS 來調用命令,只須要定義 ID 便可。此外,由 Twitter 設計師 Mark Otto 和 Jacob Thornton 合做開發的 Bootstrap 也是一個受歡迎的前端框架。mysql

 

後臺開發語言:linux

Java
Java比較成熟:1995年就已出現。對於商業網站而言,Java是使用最普遍的語言,性能好,適合大中項目,跨平臺,安全性高,穩定可靠,運行效率高(尤爲是JIT的出現以後差距更大了),不容易犯錯(強類型、預編譯、必須攔截異常等等),能有效的提升複用度,提高性能和吞吐能力,能規避安全問題。可是開發複雜,開發和發佈的效率相對較低,維護成本高,開發人員費用高。Java的生態系統很是成熟(IDE、框架等)。ios

優勢:性能好,適合大中項目,跨平臺,安全性高,穩定可靠,運行效率高(尤爲是JIT的出現以後差距更大了),不容易犯錯(強類型、預編譯、必須攔截異常等等),能有效的提升複用度,提高性能和吞吐能力,能規避安全問題。
缺點:開發複雜,開發和發佈的效率相對較低,維護成本高,開發人員費用高


PHP
靈活,上手快,易修改,發佈快捷,環境好部署。容易犯錯,行效率不高,缺少全局緩存。因爲PHP是運行在服務器端的腳本,能夠運行在UNIX、LINUX、WINDOWS、Mac OS、Android等平臺。語法吸取了C語言、Java和Perl的特色,利於學習,使用普遍,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它能夠比CGI或者Perl更快速地執行動態網頁。用PHP作出的動態頁面與其餘的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比徹底生成HTML標記的CGI要高許多。PHP最大的優點是學習門檻低。它基本能夠在任何地方被執行,託管和很是簡單。c++

優勢:靈活,上手快,易修改,發佈快捷,環境好部署
缺點:容易犯錯,行效率不高,缺少全局緩存


ASP.NET
微軟公司推出的新一代腳本語言。ASP.NET基於.NET Framework的Web開發平臺,不但吸取了ASP之前版本的最大優勢並參照Java、VB語言的開發優點加入了許多新的特點,同時也修正了之前的ASP版本的。跨語言, 中小型項目上性能好,開發快,適合windows平臺,維護成本低。代碼邏輯混亂,難於管理,代碼的可重用性差。ASP.NET具有開發網站應用程序的一切解決方案,包括驗證、緩存、狀態管理、調試和部署等所有功能。在代碼撰寫方面特點是將頁面邏輯和業務邏輯分開,它分離程序代碼與顯示的內容,讓豐富多彩的網頁更容易撰寫。同時使程序代碼看起來更潔淨、更簡單。sql

優勢:跨語言, 中小型項目上性能好,開發快,適合windows平臺,維護成本低
缺點:代碼邏輯混亂,難於管理,代碼的可重用性差
 

Python
簡單易學,開發快,語言簡潔,易於維護,開源,可移植,可擴展。速度慢,格式強制,容易犯錯。用Python能夠作平常任務,好比自動備份你的MP3;能夠作網站,不少著名的網站包括YouTube就是Python寫的;能夠作網絡遊戲的後臺,不少在線遊戲的後臺都是Python開發的。數據庫

優勢:簡單易學,開發快,語言簡潔,易於維護,開源,可移植,可擴展
缺點:   速度慢,格式強制,容易犯錯


Node.js
Node.js自從2009年發佈一下,使用十分普遍。Node.js具備異步,事件驅動以及可擴展的特性。Node.js應用是由JavaScript開發的,所以它具備JavaScript的全部優勢:享受到了JavaScript V8引擎的好處,靈活而輕量級的語法,跟Java同樣,JavaScript出如今1995年。因此語言自己發展歷史很長,相對穩定。 Node.JS逐漸發展成一個成熟的開發平臺,吸引了許多開發者。有許多大型高流量網站都採用Node.JS進行開發,此外,開發人員還可使用它來開發一些快速移動Web框架。Node能夠在不新增額外線程的狀況下,依然能夠對任務進行併發處理 —— Node.js是單線程的。它經過事件循環(event loop)來實現併發操做,對此,咱們應該要充分利用這一點 —— 儘量的避免阻塞操做,取而代之,多使用非阻塞操做。編程

優勢:RESTful API,單線程,非阻塞IO,V8虛擬機,事件驅動

缺點:單進程,單線程,不適合CPU密集型應用,只支持單核CPU,不能充分利用CPU,可靠性低,一旦代碼某個環節崩潰,整個系統都崩潰,開源組件庫質量良莠不齊,更新快,向下不兼容,Debug不方便,錯誤沒有stack trace

 

除以上介紹以外,還有其餘一些後臺開發語言,好比:C++、C#、C、Go、Ruby等。

國內的大公司偏業務的通常都用 Java 作後臺開發好比淘寶,網易,美團等. Python國內通常是一些體量不是這麼大的公司使用,例如豆瓣,知乎等。其實,各類語言都有優缺點,沒有哪種是絕對好的。各公司也不是單單隻使用一種後臺語言,都是結合起來開發的。上述的各類語言的優缺點也是相對的,並非說明哪一種語言多麼好多麼很差,並且,技術是發展的。
不一樣公司用不一樣後臺開發語言也有各自的緣由。好比,要看需求是重展示仍是重業務邏輯,重展示就用php等,重業務邏輯就用python等,也有緣由是因爲技術積累,好比騰訊一直用c++。因此,咱們應該根據本身的興趣愛好,結合行業發展,選擇一門語言認真學習,這樣才能在業界立足。

數據庫語言:

Oracle
Oracle是甲骨文公司的一款關係數據庫管理系統。到目前仍在數據庫市場上佔有主要份額。能在全部主流平臺上運行(包括 windows)。徹底支持全部的工業標準。採用徹底開放策略。可使客戶選擇最適合的解決方案。對開發商全力支持。 Oracle數據庫是一種大型數據庫系統,通常應用於商業,政府部門,它的功能很強大,可以處理大批量的數據,在網絡方面也用的很是多。不過,通常的中小型企業都比較喜歡用mysql, SQLserver等數據庫系統,它的操做很簡單,功能也很是齊全。只是比較Oracle數據庫而言,在處理大量數據方面有些不如。
MySQL
MySQL是一個小型關係型數據庫管理系統,是開源的,MySQL服務器是一個快速的、可靠的和易於使用的數據庫服務器。MySQL服務器工做在客戶/服務器或嵌入系統中。有大量的MySQL軟件可使用。MySQL是多線程、多用戶和健壯的SQL數據庫服務器。MySQL服務器支持關鍵任務、重負載生產系統的使用,也能夠將它嵌入到一個大配置(mass- deployed)的軟件中去。開發者爲瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年, Sun又被Oracle收購。對於MySQL的前途,沒有任何人抱樂觀的態度。目前MySQL被普遍地應用在Internet上的中小型網站中。因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,許多中小型網站爲了下降網站整體擁有成本而選擇了MySQL做爲網站數據庫。
SQL Server
SQL Server是由微軟開發的數據庫管理系統,是Web上最流行的用於存儲數據的數據庫,它已普遍用於電子商務、銀行、保險、電力等與數據庫有關的行業。只能在windows上運行,C/S結構,沒有絲毫的開放性,操做系統的系統的穩定對數據庫是十分重要的。並且windows平臺的可靠性,安全性和伸縮性是很是有限的。它不象unix那樣久經考驗,尤爲是在處理大數據庫。並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。SQL Server 提供了衆多的Web和電子商務功能,如對XML和Internet標準的豐富支持,經過Web對數據進行輕鬆安全的訪問,具備強大的、靈活的、基於Web的和安全的應用程序管理等。並且,因爲其易操做性及其友好的操做界面,深受廣大用戶的喜好。
DB2
能在全部主流平臺上運行(包括windows)。DB2就是IBM開發的一種大型關係型數據庫平臺。它支持多用戶或應用程序在同一條SQL 語句中查詢不一樣database甚至不一樣DBMS中的數據,最適於海量數據。DB2在企業級的應用最爲普遍,在全球大型企業中,有很高的時長份額。具備很好的並行性。DB2把數據庫管理擴充到了並行的、多節點的環境。數據庫分區是數據庫的一部分,包含本身的數據、索引、配置文件、和事務日誌。數據庫分區有時被稱爲節點或數據庫節點性能最高, 保持開放平臺下的TPC-D和TPC-C的世界記錄。性能較高適用於數據倉庫和在線事物處理。跨平臺,多層結構,支持ODBC,JDBC等客戶。操做簡單,同時提供GUI和命令行,在windowsNT和unix下操做相同。在巨型企業獲得普遍的應用,向下兼容性好。風險小。
Sybase
美國Sybase公司研製的一種關係型數據庫系統,是一種典型的UNIX或WindowsNT平臺上客戶機/服務器環境下的大型數據庫系統。 Sybase提供了一套應用程序編程接口和庫,能夠與非Sybase數據源及服務器集成,容許在多個數據庫之間複製數據,適於建立多層應用。系統具備完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具備較好的數據安全性。性能較高,支持Sun、IBM、HP、Compaq和Veritas的集羣設備的特性,實現高可用性。性能接近於SQL Server,但在UNIX平臺下的併發性要優與 SQL Server。適應於安全性要求極高的系統。具備較好的並行性,速度快,對巨量數據無明顯影響,可是技術實現複雜,須要程序支持,伸縮性有限。使用命令行操做,對數據庫管理人員要求較高。同時提供GUI和命令行。但GUI較差,經常沒法及時狀態。

除以上介紹以外,還有一些不經常使用的數據庫,好比:Informix、PostgreSQL、Access、FoxPro等。

 移動開發語言:

Android

Android系統開發採用Java語言,雖然安卓系統的linux內核是基於C語言開發,但事實上並沒必要需採用C語言來開發應用。

ios

蘋果IOS系統能夠採用OC和Swift兩種語言。Android開發環境搭建簡單,IOS開發須要採用蘋果的硬件和軟件,由於蘋果的生態是個封閉的閉環系統。、

 

計算機語言還有如下分類,有時間會詳細介紹

  1. 高級語言和低級語言
  2. 動態類型和靜態類型
  3. 強制類型和弱類型
  4. 編譯型,解釋型,半編譯半解釋
  5. 面向對象型和麪向過程型
相關文章
相關標籤/搜索