web方向編程語言最全對比
目前一般公司的后台用的開發語言大概有以下幾種:java,python,php,asp.net,c++,node.js,ruby on rails 等。
java
優點:性能好,適合大中項目,跨平台,安全性高,穩定可靠,運行效率高(尤其是JIT的出現之后差距更大了),不容易犯錯(強類型、預編譯、必須攔截異常等等),能有效的提高復用度,提升性能和吞吐能力,能規避安全問題。
缺點:開發復雜,開發和發布的效率相對較低,維護成本高,開發人員費用高
php:
優點:靈活,上手快,易修改,發布快捷,環境好部署
缺點:容易犯錯,行效率不高,缺乏全局緩存
python
優點:簡單易學,開發快,語言簡潔,易於維護,開源,可移植,可擴展
缺點: 速度慢,性能差,格式強制,容易犯錯
ruby on rails
優點:快速開發,使用者多,開發控件非常豐富
缺點:性能差(比python強),第三方包少
asp.net
優點:跨語言, 中小型項目上性能好,開發快,適合windows平台,維護成本低
缺點: 代碼邏輯混亂,難於管理,代碼的可重用性差
對於大型網站服務來說:業務規模、架構、整體性能 比你用什么語言來得重要.
對於小型網站首選ruby,因為快速開發是ruby的強項,也有像豆瓣知乎用python開發的,所以編程語言幾乎都是應需而生,各有千秋,要說完美的編程語言,也許有,如果現在用的是lisp機的話那么lisp可以成為剩余的唯一一門編程語言.
不同公司用不同后台開發語言也有各自的原因。比如,要看需求是重展現還是重業務邏輯,重展現就用php等,重業務邏輯就用python等,也有原因是由於技術積累,比如騰訊一直用c++。所以,我們應該根據自己的興趣愛好,結合行業發展,選擇一門語言認真學習,這樣才能在業界立足。
個人認為,對於大部分的 web 開發應用場景來說,Ruby 是最佳的解決方案。原因:
- 優美的語言特征;
- 極快的開發速度;
- 成熟的社區支持;
其他語言在 web 開發領域:
- Java 語法繁瑣,很多東西實現得太復雜,過於繁雜,開發效率太低,一直都不是 web 開發的主流,但是靠java找工作的大學生很多;
- Python 比較分裂,語言上有2和3版本,就導致歷史遺留問題了,因為python沒有結束標志,web框架很多,且語言特征和框架都不如ruby;
- Scala 非常強大,如果學習過common lisp的人,就會感覺很不一樣,但是多用於大數據的方面;
- JavaScript 后端一般是Nodejs,適合高並發實時應用,比如聊天,但是易讀性和成熟度要輸給Ruby,作增刪改查(CRUD)沒有ruby有優勢,而且Ruby也有很好的高並發框架;
- Go 性能好,但是還不夠成熟,第三方庫較少,語法特性和開發效率不如Ruby;
- PHP 號稱最好的編程語言,應用最廣,入門簡單,開發快捷,部署方便,對於一般的web小項目一般都是首選,但是其缺點也是最明顯的,項目大了就會維護困難,語法遠不如Ruby優雅,而且Ruby開發速度也不輸 PHP;
Web 開發,最重要的就是快速迭代。架構設計與代碼優化做的好,一般不會出現性能問題。Ruby優雅的語法,支持元編程,rails讓你有不一樣的體驗,飛一般的開發速度,美妙的開發體驗,絕對是 Web 開發的不二之選!精通rails就可以說成全棧工程師.而javascript不僅可以函數式編程還可以面向對象.但是我還是不太喜歡Ruby的原因是因為這門語言的功能冗余不緊湊,語法又很浮誇。
最后,我認為只有javascript是web領域最保值的編程語言.我個人認為,Javascript的語法很少,但是你要深入的了解她,你就會發現她深不可測。
Javascript是在我看來,就是一位長的朴素,但是很有內涵的女人。
女人心,海底針。你如果能像了解自己的女人一樣去了解她,那回報一定是畢生的。因為前端不是代碼是藝術,藝術是無價的.
優秀的前端工程師真的是code & art 兼備,所以優秀的前端工程師很難得,因為前端知識很散,不斷出現新知識,經常被人鄙視,在很多人看來前端就是一個copy的過程,所以javascript的地位都懂了吧!以前我以為我喜歡編程,但是現在我幾乎學過所有的編程語言,也就lisp能引起我的興趣吧!有些事情總以為自己喜歡,做過了就發現不喜歡了,對一個事物由表面到成熟的過程,想法有所改變是必然的.