經常使用語言編程語言對比

一、萬物之源C語言  前端

難度:★★★   人氣:★★★★★   誕生於1972年python

屬性: C語言是一種通用型命令式計算機編程語言,其支持結構化編程、詞彙變量範圍與遞歸,同時亦是套可以預防各種未預期操做的靜態類型系統。 其最初構建目標在於編寫系統軟件。程序員

用途:軟件開發  硬件  操做系統數據庫

優點:django

一、可移植性 :無需或者不多改動就能夠將開發出的軟件在不一樣平臺上運行  編程

二、C語言徹底基於變量、宏、函數以及結構,所以可被嵌入至幾乎一切現代處理器。從冰箱到鬧鐘便可做爲其運行平臺。windows

三、瞭解C語言,也就瞭解了關於編程語言的一切:幾乎全部現代編程語言都脫胎於C.所以瞭解C語言可以幫助你們快速掌握其它各種編程語言。瀏覽器

劣勢:安全

一、運行時:C語言不具有運行時檢查機制。服務器

二、  面向對象編程:C語言不支持面向對象編程,所以C++纔會誕生以解決這一問題。

三、 複雜的學習曲線:並不是最易或者最難於上手的編程語言,比較適合那些已經對其它編程語言有所瞭解的學習者。

冷知識:

一、C語言被用來構建AmazonKindle、Linux、OpenGL

二、C語言於1969年至1973年之間由AT&T公司旗下貝爾實驗室建立完成,用於構建Unix操做系統。

三、大部分誕生的語言都直接或間接地借用了C語言的概念,其中包括 Linux C++.D. Go、Rust. Java. JavaS- JS cript. Limbo. LPC C#、Objec tive-C. Perl. PHP、Python

 

 

二、C#

難度:★★★   人氣:★★★★   誕生於2000年

屬性:這是 一款強大而靈活的編程語言。  與其餘編程語言同樣,它也可用於建立多種應用程序。事實上,C#的功能只受限於咱們的想象力。該語言對開發者的操做內容徹底不設任何限制,其可被用於交付動態網站、開發工具甚至是編譯器等等。

用途:Windows應用  企業級業務應用  軟件開發

優點:

一、Net庫:  :全面集成Net庫,提供出色的功能與支持庫訪問能力。

二、可轉換性:其基於C語言,所以C#的結構可轉移至Java、Objective-C、PHP以及C++等其它語言形式

三、需求旺盛::C#加Java爲目前各企業需求最爲旺盛的軟件開發技能組合。

劣勢:

一、C#並非最適合新手們進行入門學習的編程語言,其學習曲線很是陡峭。

二、跨平臺能力差:因爲集成Net,所以不具有跨平臺能力

冷知識:

一、C#用於構建Stack Overflow、EVERNOTE

二、C#的首席設計師兼首席設計架構師爲微款公司的Anders Heisberg.。

三、C#本來曾被定名爲Cool, 全稱爲"C-like Object OnientedL anguage"即類C 型面向對象編程語言,因爲商標緣由而改名爲C# 。

 三、C++

 難度:★★★★   人氣:★★★★   誕生於1983年

屬性:C++是一款面向對象編程(簡稱OOP)語言,被普遍視爲最出色的大規模應用構建語言。C++屬於C語言的一個超集。

用途:軟件開發 搜索引擎 操做系統 視頻遊戲

優點:

一、重要技能:掌握CC++可以幫助你們在衆多開發人才當中脫穎而出,掌提了C/C++你們將可以深刻了解Java或Python等編程語言中的內存管理機制,並瞭解如何迴避各種常見的餡阱與難題。

一、靈活的調整空間:C++容許你們對本身的應用進行靈活調整井充分發揮計算機的所有性能。與Java/C++相比,編程過程並不友好,但咱們卻可以利用它實現一切操做。

 劣勢:

一、艱難的學習曲線::C++很是難於學習,但在掌握以後你們將直接登上程序員金字塔的塔尖。

二、體系極爲龐大::  C++規模可觀且擁有大量極爲複雜的功能交互方式,沒有哪位開發者可以使用其提供的所有構建組件,但咱們能夠充分發揮本身的才智爲理序選擇正確的功能子集。

冷知識:

一、C++用來構建Google、Outlook

二、C++由Bjarne Stroustrup於1983年開發完成,並做爲C語言的加強方案。

四、C++中有84個關鍵字

三、C++可實現跨越全部設備移植,如、安卓、蘋果、windows Phone、黑莓等移動平臺。

 四、Java

難度:★★★   人氣:★★★★★    建立於1995年   

 屬性:Java是一款編程語言,開發者能夠利用其在計算機上建立應用程序。你們在下載某款須要Java運行時的程序時,可能已經在不知不覺中將其安裝到了本身的系統當中。Java還提供Web插件,容許你們在瀏覽器中運行此類應用。

 用途:安卓、IOS開發   視頻遊戲開發  桌面GUI  軟件開發

優點:

一、需求旺盛::Dice.com於2015年5月發佈的報告指出,Java開發崗位爲目前需求量最大的軟件技能方向。

二、不斷髮展的語言::Java平臺不斷迎來新功能,包括llambda機制的引入。

三、Android應用開發的基石:谷歌公司的Androld移動平臺是目前全球範圍內人氣最高的移動平臺。開發者能夠利用本身的Java技能力爲Android系統開發應用。

劣勢:

一、佔用大量內存:Java使用的內存量高於C++.

二、學習曲線較長:並不屬於最馬於上手的語言,固然也不是最難學習的語言。

三、啓動時間較長:利用Java語言開發Androld應用時,咱們必定會對其模擬器代碼在臺式機上運行速度留下深入印象。

冷知識:

一、Java最初命名爲Oak,由於其締造者的窗外有一棵巨大的橡樹

二、Java是Android操做系統的基石

三、使用Java幫助咱們在網絡世界旅行

四、大部分網站容許咱們將圖片直接上傳到由Java構建而成的平臺。

五、使用Java插件便可實現交互式在線地圖

六、利用Java實如今線遊戲

五、JavaScript(JS)

難度: ★★     人氣:★★★★    誕生時間1995年

屬性:JavaScnpt是一款使用領率最高的客戶端腳本語言,這意味這JavaSonpt代碼寫至HTML頁面當中, 當用戶經過內部 JavaScript請求至HTML頁面時,該腳本會被髮送至瀏覽器,並由瀏覽器決定下一步操做。

用途:網站前端  分析   功能控件  Web交互

優點:

一、速度:做爲客戶端腳本語言JavaSarpt中的任意代碼函數卻可當即運行而無需等待服務器鏈接及應答,所以其速度很是出色。

二、易學性:JavaSorpt相對易於學習及使用。

三、簡單性:JavaScrpt可以與其它多種語言項利協做,並可用於多種不一樣應用程序與PHP或者SSI腳本不一樣,JavaSoript 可被插入任意網頁當中,而無需考慮具體文件擴展名。

劣勢:

一、安全性:因爲代碼在用戶計算機上執行,所以其有時會被惡意活動所利用.正由於如此,部分用戶會選擇禁用JavaScript.

二、最終用戶依賴性::JavaScnpt有時會在不一樣瀏覽器上以不一樣方式進行解釋。相較於總能提供一樣輸出結果的服務器端腳本,JavaScript客戶端腳本的可預測性相對較差。不過這一問題並非很是嚴重,只要咱們在所有主流測覽器上對腳本進行充分測試便可。

冷知識:

一、JS被用來構建PayPal 、YouTube

二、JS於1995年由網景公司開發完成

三、jQuery爲目前爲網絡上應用最爲普遍JS庫

四、JavaScrip可用於在客戶端實現表單數據,從而節約服務器資源與時間

五、JS基於當前時間顯示信息

 六、能夠用來動態變動網頁內容,無需藉助於服務器程序

 七、爲網站引入交互元素

六、PHP

難度: ★★      人氣:★★★★     誕生時間1994

屬性:PHP是一款服務器端腳本語言,主要面向Web開發但同時做爲通用性編程語言

用途:WordPress插件   Web開發  建立包含數據庫功能頁面

優點:

一、易於上手且功能豐富:它是一款適合Web開發與通用用途,易於快速上手的服務器端腳本語言。

二、龐大的社區:換有龐大所活躍的社區。Web開友者面臨的大部分難題擁有現成的制決方案。

三、數據庫:可與各種數據庫、文件系統及圖片順暢協做。

劣勢:

一、學習門檻太低:因爲學習門檻過低,項目中存在着大量經驗不足的開發者,某些開源代碼甚至已經存在十餘年。

二、速度::PHP爲解釋型語言,其代碼運行速度低於大部分編程語言黨爭對手。

三、錯誤處理機制: PHP的錯誤處理機制比較糟糕,特別是與其它編程語言相比較,這主要是由於PHP的開發歷史過長且須要支持大量舊有功能。

冷知識:

一、PHP用於構建FaceBook、WordPress 

二、PHP最初表示我的主頁(Personal Home Page),現在的含義是超文本預處理器

三、Rasmus Lerdort於1994年開發出PHP語言。他曾經開發出一系列網關接口腳本,並藉此維護我的主頁

四、PHP功能豐富而且支持 文本、HTML、CSS、JavaScript

五、PHP能用做收集表單數據、在服務器上對文件操做、生成動態頁面內容、限定用戶訪問網站中的特定網頁、添加 修改數據庫中的數據、暑促HTML,圖像,PDF,SWF文件、加密數據、發送接收cookie

七、Python

難度: ★     人氣:★★★★★    誕生時間

屬性:Python是一項服務器端解釋型開源非編譯腳本語言。可單獨使用,也可做爲django等框架的組成部分

用途:Web開發  視頻遊戲開發  桌面GUI 軟件開發

優點:

一、易於學習:Python做爲最照於掌握的編程語言而擁有極高人氣。

二、庫:普遍的工具及功能庫可以幫助你們輕鬆完成構建工做。

三、物聯網:Python特隨着物聯網技術的普及而進一步發展,目前Rasp-bery Pi等新型平臺已經將其做爲開發基礎,

劣勢:

一、速度:做爲一種解釋型語言,其速度每每往低於編譯語言。

二、移動:Python在移動計算領域的表現  比較植過。  利用Python開發的 移動應用很是罕見。

三、設計:Python語言在設計上存在一些問題,其屬於動態類語言,所以須要進行更多測試且帶來某些只在特定運行時中出現的錯誤會。

冷知識:

 一、Python用來構建YouTube、Spotify

二、是Google的官方語言之一

三、由程序員Guido van Rossum建立而成

八、RUBY

難度: ★★    人氣:★★★     誕生時間1995年

屬性:Ruby是一款動態式、響應式、面向對象的通用型編程語言,同時也是適合新手入門的語言之一。

用途:桌面GUI   Web應用   Web開發

優點:

一、易於學習:與Python相似.Ruby一樣屬於最易於學習的編程語言之一。

二、普遍的工具及功能庫使得利用Ruby構建應用安得很是輕鬆。詳情參閱RubyGems.ong

三、龐大且不斷髮展的社區:世界範圍內幾乎每一座主要城市都會定明組織Ruby社區研討活動,其同時也是社交編程站點GitHub上最具人氣的語言。

劣勢:

一、運行時速度:關於Ruby on Rals,人們最深的印象就是糟糕的速度表現。

二、說明文檔::咱們很難找到良好的 Pauby說明文檔。特別是對人氣較低的gems以及庫而言。

三、性能表現:: RoR應用的運行速度沒法與Java或者C語言編寫的應用相媲美但必先強調,大部分Rubon Rals應用的運行速度已經可以讓人們接受了

冷知識:

 一、用於構建hulu、GROUPON、airbnb

二、Ruby的定位是幫助世界上每一位程序員得到生產力,享受編程的快感

三、Ruby on Rails是一套由Ruby編寫的基於MIT許可的Web應用框架。

總結

從上面的對比咱們不難發現,每種程序語言都有其優點和劣勢,那麼咱們應該怎麼選擇編程語言呢?下面主要介紹種要考慮的的要點。

一、構建編寫網頁   推薦:HTML、CSS、PHP

二、開發app    推薦:Java、C++

三、製做視頻遊戲    推薦:Python、Java

四、對數據進行管理    推薦:C#、PHP、Python

五、進行偏硬件的編程   推薦:C

六、進行科學計算     推薦:Python

固然,咱們在實際開發的時候須要咱們綜合考慮產品需求,在程序運行速度指標、硬件要求、開發週期等方面進行權衡,最終肯定編程所需語言。

 
 
標籤:  編程語言分類CC++Javapython
相關文章
相關標籤/搜索