嘿!哥們兒,你用什么編程語(yǔ)言?
技術(shù)圈最沒有意義的問(wèn)題之一當(dāng)屬:“誰(shuí)才是最好的編程語(yǔ)言?”
很多人的啟蒙編程老師馬士兵曾經(jīng)說(shuō)過(guò):
你覺得最好的,并不一定適合所有人。同樣的,語(yǔ)言也一樣。在某種特定的問(wèn)題之下,咱們得說(shuō)解決什么問(wèn)題。你解決驅(qū)動(dòng)的問(wèn)題,你只能是會(huì)匯編和 C 語(yǔ)言,你解決后臺(tái)的問(wèn)題用匯編肯定就不合適了。相當(dāng)于拿一個(gè)小剃刀蓋一棟大樓房。不合適。所以沒有最好的語(yǔ)言,只有最合適的語(yǔ)言。
因此,我們今天不談哪種語(yǔ)言是最好的,我們只看,這些各擅勝場(chǎng)的語(yǔ)言,都有哪些干貨可以給大家分享學(xué)習(xí)。
Java
在歷經(jīng)多次跳票之后,Java 9 終于在千呼萬(wàn)喚中正式發(fā)布。從這個(gè)版本開始,Java 將每半年發(fā)布一個(gè)版本。作為霸占編程語(yǔ)言排行榜鰲頭多年的老牌語(yǔ)言,Java 9 中有哪些不得不說(shuō)的新特性?Java 語(yǔ)言的未來(lái)又將如何?
針對(duì) Java 9 新特性的介紹已經(jīng)非常多了,這里不再做一個(gè)百科全書一樣的列表,希望從不同角度簡(jiǎn)要點(diǎn)評(píng)部分特性。
從 1995 年第一個(gè)版本發(fā)布到現(xiàn)在,Java 語(yǔ)言已經(jīng)在跌宕起伏中走過(guò)了 22 年,最新的 Java 版本也已經(jīng)迭代到 Java 9。當(dāng)年 Java 語(yǔ)言的跨平臺(tái)優(yōu)勢(shì)如今看來(lái)也只不過(guò)是家常小菜,Go、Rust 等語(yǔ)言橫空出世,進(jìn)一步拓寬了編程語(yǔ)言的邊界。當(dāng)年發(fā)明 Java 語(yǔ)言的 Sun 公司早已被 Oracle 收購(gòu),Oracle 現(xiàn)在也正處于水深火熱的云計(jì)算浪潮當(dāng)中,甚至連 Java 之父 James Gosling 也加入了當(dāng)今世界最大的云計(jì)算公司 AWS。
Java 語(yǔ)言發(fā)展的這 20 年也正是全球互聯(lián)網(wǎng)迅猛發(fā)展的 20 年,Java 語(yǔ)言同時(shí)也見證了電商浪潮、移動(dòng)互聯(lián)網(wǎng)浪潮、大數(shù)據(jù)浪潮、云計(jì)算浪潮,所以在現(xiàn)今各大互聯(lián)網(wǎng)公司身上都能看到 Java 的身影。TIOBE 的語(yǔ)言排行榜顯示,自 2016 年初 Java 語(yǔ)言就出現(xiàn)了明顯的下頹趨勢(shì),開發(fā)者社區(qū)也出現(xiàn)了一些唱衰 Java 語(yǔ)言的論調(diào),編者心中也有些許疑問(wèn):Java 老矣,尚能『飯』否?基于這樣的背景,InfoQ 邀請(qǐng)到了 Java 資深專家張建鋒來(lái)為大家解讀 Java 語(yǔ)言的發(fā)展現(xiàn)狀以及未來(lái)。
Python
Stack Overflow 最近的調(diào)查顯示,Python 已經(jīng)成了發(fā)展最快的主流編程語(yǔ)言,也是 Stack Overflow 上來(lái)自高收入國(guó)家的訪問(wèn)中,點(diǎn)擊量最高的標(biāo)簽。
為什么 Python 發(fā)展得這么快?Python 的應(yīng)用范圍非常廣,從網(wǎng)站開發(fā)到數(shù)據(jù)科學(xué),再到 DevOps,到處都可以看到它的身影。所以值得認(rèn)真研究一下 Python 最近到底是在哪些具體的方面應(yīng)用得更廣了。本文會(huì)從另一個(gè)角度解讀 Stack Overflow 的數(shù)據(jù),理解具體是哪些方面的 Python 應(yīng)用在增長(zhǎng),以及在什么樣的公司和組織中 Python 用得最多。
盡管 Python 有時(shí)被粗略地分類為“腳本語(yǔ)言”(script language),但是它具有最豐富和強(qiáng)大的類庫(kù),以及良好的擴(kuò)展性,于是在工業(yè)和科研上獲得廣泛的使用。PyCon 是全世界最大的以 Python 編程語(yǔ)言 為主題的技術(shù)大會(huì),大會(huì)由 Python 社區(qū)組織,每年舉辦一次。在 Python 2017 上,Instagram 的工程師們帶來(lái)了一個(gè)有關(guān) Python 在 Instagram 的主題演講,同時(shí)還分享了 Instagram 如何將整個(gè)項(xiàng)目運(yùn)行環(huán)境升級(jí)到 Python 3 的故事。
Instagram 的總注冊(cè)用戶達(dá)到 30 億,月活用戶超過(guò) 7 億 (作為對(duì)比,微信最新披露的月活躍用戶為 9.38 億)。而令人吃驚的是,這么高的訪問(wèn)量背后,竟完全是由以速度慢著稱的 Python + Django 支撐。Python 雖然運(yùn)行很慢,不過(guò),這對(duì)于 Instagram 不是問(wèn)題,因?yàn)樗麄冋J(rèn)為:『Instagram 的最大瓶頸在于開發(fā)效率,而不是代碼的執(zhí)行效率』。
Go
今日頭條當(dāng)前后端服務(wù)超過(guò) 80% 的流量是跑在 Go 構(gòu)建的服務(wù)上。微服務(wù)數(shù)量超過(guò) 100 個(gè),高峰 QPS 超過(guò) 700 萬(wàn),日處理請(qǐng)求量超過(guò) 3000 億,是業(yè)內(nèi)最大規(guī)模的 Go 應(yīng)用。
在 2015 年之前,頭條的主要編程語(yǔ)言是 Python 以及部分 C++。隨著業(yè)務(wù)和流量的快速增長(zhǎng),服務(wù)端的壓力越來(lái)越大,隨之而來(lái)問(wèn)題頻出。今日頭條為何轉(zhuǎn)向 Go 語(yǔ)言,又是如何利用 Go 做技術(shù)搭建的?
2007 年 9 月 20 日,關(guān)于設(shè)計(jì)一門全新語(yǔ)言的討論正式開始,這門全新的語(yǔ)言,就是后來(lái)的 Go。時(shí)至今日,Go 語(yǔ)言已經(jīng)發(fā)布到 1.9 版本,走過(guò)了整整十年的歷程。在這十年間,Go 語(yǔ)言兩奪 TIOBE 年度語(yǔ)言大獎(jiǎng)(2009/2016),許多初創(chuàng)公司在早期使用 Go 進(jìn)行開發(fā),包括現(xiàn)在的云計(jì)算巨頭 Docker,也由此催生出了 Kubernetes 這樣的項(xiàng)目。在大洋彼岸的中國(guó),Google Trends 顯示 Go 的異?;鸨?Go 語(yǔ)言之父感到震驚。
PHP
新浪微博在 2016 年 Q2 季度公布月活躍用戶(MAU)較上年同期增長(zhǎng) 33%,至 2.82 億;日活躍用戶(DAU)較上年同期增長(zhǎng) 36%,至 1.26 億,總注冊(cè)用戶達(dá) 8 億多。PC 主站作為重要的流量入口,承載部分用戶訪問(wèn)和流量落地,部分服務(wù)(如:頭條文章)承擔(dān)全網(wǎng)所有流量。在這樣的情況下,PC 主站升級(jí)為 PHP 7,有哪些技術(shù)細(xì)節(jié)可以分享?
淘寶首頁(yè)是淘寶的門面,承載著幾乎淘系所有業(yè)務(wù)的入口,流量很大,量級(jí)單位為億。近幾年無(wú)線端崛起,業(yè)務(wù)重點(diǎn)開始向無(wú)線終端偏移(目前不能叫偏移,基本以無(wú)線為主了),所以淘寶 PC 端首頁(yè)的流量也有削減,不過(guò)即便如此,它的日均 PV 依然相當(dāng)高。淘寶首頁(yè)一向是內(nèi)部平臺(tái)和技術(shù)的試驗(yàn)田,它一直在變化著。
Clojure
編程語(yǔ)言的圣戰(zhàn),除了語(yǔ)言種類之分,也有動(dòng)靜門派之別。我們寫著靜態(tài)語(yǔ)言往往想著動(dòng)態(tài)語(yǔ)言的靈活,寫著動(dòng)態(tài)語(yǔ)言又容易想著靜態(tài)語(yǔ)言的穩(wěn)定和可靠。常聽到有人說(shuō),Clojure 確實(shí)優(yōu)美,但動(dòng)態(tài)語(yǔ)言實(shí)在駕馭不了,怎么辦?
JavaScriptJavaScript 因?yàn)榛ヂ?lián)網(wǎng)而生,緊隨著瀏覽器的出現(xiàn)而問(wèn)世。它被世界上的絕大多數(shù)網(wǎng)站所使用,也被世界主流瀏覽器(Chrome、IE、FireFox、Safari、Opera)支持。
除了樣式效果外,JavaScript 也被越來(lái)越多地應(yīng)用于軟件開發(fā),例如后端任務(wù)、Web 服務(wù)器以及數(shù)據(jù)處理。JavaScript 成型很快,起初只關(guān)注一個(gè)很小的目標(biāo),后來(lái)市場(chǎng)的力量改造了這門語(yǔ)言。





