欧美精品一区二区三区四区-欧美精品一区二区三区在线播放-欧美精品一区二区少妇免费A片-欧美精品一区二区在线观看-欧美久久激情图-欧美久久久久

是否有一種完美語言來終結(jié)“編程語言之爭”?

大家都可能聽過“PHP 是最好的語言”段子。

編程語言很多,既然存在,就有每個存在的理由。其實沒必要評論哪個語言好,哪個語言不好。因為每個編程語言本身都不難,只要學(xué)會了一種語言,其他的都是相通的。難的,好壞之分,是理解,記憶,熟悉,和流暢的使用那些每個語言提供的基礎(chǔ)庫和擴(kuò)展庫,也就是 LIBs,或是 APIs,或是 SDK,或是 Frameworks。

編程語言本身,就最簡單的集合來說,就是一堆保留的關(guān)鍵詞和一堆的語法,這個大家稍微看看就都會明白,還有其設(shè)計思想。就和學(xué)一門外語一樣,一些詞匯加上一些詞匯能組合的語法。這些通常包括的編程語言特性有:語句組成,變量定義,算術(shù)運算,循環(huán)語句,函數(shù)定義和調(diào)用,面向?qū)ο?,指針操作,垃圾回收,輸入輸出等等?;A(chǔ)的東西,大家如果學(xué)過或是使用過一種語言,其他的新的語言,花個一兩分鐘就能寫出一個 hello world 的入門程序,花個一兩個小時就能基本理解。

那么,好壞之分,難的部分,實際上是那些基礎(chǔ)庫和各種擴(kuò)展庫。這些庫,必須在實踐中一步一步熟悉和掌握。如果不經(jīng)常使用,還特別容易忘記,盡管現(xiàn)代的編程環(huán)境有各種智能輔助。會不會,熟不熟一門語言,很大程度上是對他們的持續(xù)使用和理解。這也是為什么,沒有多個項目,或是幾年的實踐,很難說是一個語言的高手。

比如同樣對于網(wǎng)絡(luò)的操作,有的語言的庫包裝的簡單高級易用全面,有的語言就基礎(chǔ)原始。那么對于那些有高級包裝庫的語言,大家就會覺得好,語言好用,開發(fā)效率高,想要什么都有,socket、tcp/ip、http、async/sync、select、event,甚至是 sever、client、crawler 等等。而對那些比較底層的包裝的語言,大家就學(xué)覺得開發(fā)效率低,難用,比如只有 select 和 socket。是不是大概如此?

學(xué)習(xí)完了編程語言基礎(chǔ),大家一般要花很多的時間去了解和學(xué)習(xí)基礎(chǔ)庫和擴(kuò)展庫,這個才是真正的痛處和難點,學(xué)了不用還容易忘記,用到的時候還得想到有這個函數(shù)庫。那么,如果有一套對各種語言都適用的 API 或是庫函數(shù)定義,那么,大家學(xué)習(xí)和使用一門新的語言的效率會大幅度提高。這時,哪個語言最好,也就不再是什么問題了。

Protobuf、Thrift、COM、RPC 等等都已經(jīng)在做這方面嘗試,如果有一天,大家不管用什么編程語言,只要記住一套接口函數(shù),那就太美好了。這時,估計沒有人會再爭論,PHP 是否是最好的語言了。

《架構(gòu)師特刊:編程語言》序言,作者:陳利人

今日頭條 Go 建千億級微服務(wù)的實踐

Go 是 Google 開發(fā)的一種并發(fā)型,具有垃圾回收功能的編程語言。Go 語言最初由 Robert Griesemer, Rob Pike 和 Ken Thompson 在 2007 年末共同設(shè)計和實現(xiàn),2009 年 11 月份正式發(fā)布并開源,當(dāng)它全部開源出來后,獲得了當(dāng)年的年度語言。

Go 語言相對其它語言具有幾點天然的優(yōu)勢:

  1. 語法簡單,上手快。

  2. 性能高,編譯快,開發(fā)效率也不低。

  3. 原生支持并發(fā),協(xié)程模型是非常優(yōu)秀的服務(wù)端模型,同時也適合網(wǎng)絡(luò)調(diào)用。

  4. 部署方便,編譯包小,幾乎無依賴。

Go 適合用來做:1. 服務(wù)器編程,通常以前是使用 C 或者 C++,用 Go 來做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。2. 分布式系統(tǒng),數(shù)據(jù)庫代理器等。3. 網(wǎng)絡(luò)編程。4. 內(nèi)存數(shù)據(jù)庫。5. 云平臺。

Go 語言在中國發(fā)展也非常不錯,今日頭條當(dāng)前后端服務(wù)超過 80% 的流量是跑在 Go 構(gòu)建的服務(wù)上。微服務(wù)數(shù)量超過 100 個,高峰 QPS 超過 700 萬,日處理請求量超過 3000 億,是業(yè)內(nèi)最大規(guī)模的 Go 應(yīng)用。

在 2015 年之前,頭條的主要編程語言是 Python 以及部分 C++。隨著業(yè)務(wù)和流量的快速增長,服務(wù)端的壓力越來越大,隨之而來問題頻出。Python 的解釋性語言特性以及其落后的多進(jìn)程服務(wù)模型受到了巨大的挑戰(zhàn)。

2015 年 6 月,今日頭條開始使用 Go 語言重構(gòu)后端的 Feed 流服務(wù),2016 年 6 月,F(xiàn)eed 流后端服務(wù)幾乎全部遷移到 Go。

點擊下圖即可閱讀全文

Java 老矣,尚能飯否?

從 1995 年第一個版本發(fā)布到現(xiàn)在,Java 語言已經(jīng)在跌宕起伏中走過了 22 年,最新的 Java 版本也已經(jīng)迭代到 Java 9。當(dāng)年 Java 語言的跨平臺優(yōu)勢如今看來也只不過是家常小菜,Go、Rust 等語言橫空出世,進(jìn)一步拓寬了編程語言的邊界。當(dāng)年發(fā)明 Java 語言的 Sun 公司早已被 Oracle 收購,Oracle 現(xiàn)在也正處于水深火熱的云計算浪潮當(dāng)中,甚至連 Java 之父 James Gosling 也加入了當(dāng)今世界最大的云計算公司 AWS。

Java 語言發(fā)展的這 20 年也正是全球互聯(lián)網(wǎng)迅猛發(fā)展的 20 年,Java 語言同時也見證了電商浪潮、移動互聯(lián)網(wǎng)浪潮、大數(shù)據(jù)浪潮、云計算浪潮,所以在現(xiàn)今各大互聯(lián)網(wǎng)公司身上都能看到 Java 的身影。

TIOBE 的語言排行榜顯示,自 2016 年初 Java 語言就出現(xiàn)了明顯的下頹趨勢,開發(fā)者社區(qū)也出現(xiàn)了一些唱衰 Java 語言的論調(diào),編者心中也有些許疑問:Java 老矣,尚能『飯』否?基于這樣的背景,InfoQ 邀請到了 Java 資深專家張建鋒來為大家解讀 Java 語言的發(fā)展現(xiàn)狀以及未來。

點擊下圖即可閱讀全文

Python 向來以慢著稱,為啥 Instagram 卻唯獨鐘愛它?

Python 的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989 年的圣誕節(jié)期間,吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時間,決心開發(fā)一個新的腳本解釋程序,于是 Python 就誕生了。

盡管 Python 有時被粗略地分類為“腳本語言”( language),但是它具有最豐富和強(qiáng)大的類庫,以及良好的擴(kuò)展性,于是在工業(yè)和科研上獲得廣泛的使用。

PyCon 是全世界最大的以 Python 編程語言 為主題的技術(shù)大會,大會由 Python 社區(qū)組織,每年舉辦一次。在 Python 2017 上,Instagram 的工程師們帶來了一個有關(guān) Python 在 Instagram 的主題演講,同時還分享了 Instagram 如何將整個項目運行環(huán)境升級到 Python 3 的故事。

Instagram 的總注冊用戶達(dá)到 30 億,月活用戶超過 7 億 (作為對比,微信最新披露的月活躍用戶為 9.38 億)。而令人吃驚的是,這么高的訪問量背后,竟完全是由以速度慢著稱的 Python + Django 支撐。Python 雖然運行很慢,不過,這對于 Instagram 不是問題,因為他們認(rèn)為:『Instagram 的最大瓶頸在于開發(fā)效率,而不是代碼的執(zhí)行效率』。上面是 Instagram 這種業(yè)務(wù)上不依賴高強(qiáng)度運算的實例。對于計算強(qiáng)度高的業(yè)務(wù),如果強(qiáng)調(diào)性能,可以使用 Cython(https://en.wikipedia.org/wiki/Cython)。或者如 NumpynumbaNUFFT 之類專門優(yōu)化過的計算庫。

點擊下圖即可閱讀全文

我們?yōu)槭裁匆x擇小眾語言 Rust 來實現(xiàn) TiKV?

Rust 是由 Mozilla 研究室主導(dǎo)開發(fā)的一門現(xiàn)代系統(tǒng)編程語言,自 2015 年 5 月發(fā)布 1.0 之后,一直以每 6 周一個小版本的開發(fā)進(jìn)度穩(wěn)定向前推進(jìn)。語言設(shè)計上跟 C++ 一樣強(qiáng)調(diào)零開銷抽象和 RAII。擁有極小的運行時和高效的 C 綁定,使其運行效率與 C/C++ 一個級別,非常適合對性能要求較高的系統(tǒng)編程領(lǐng)域。

Rust 作為一種新銳的語言,具備其獨有的優(yōu)越性,雖然對于國內(nèi)大多數(shù)開發(fā)者來說會顯得比較陌生,但是并不妨礙 Rust 已經(jīng)在世界范圍內(nèi)作為公認(rèn)的 C/C++ 的有希望的挑戰(zhàn)者。目前在全球落地的項目中比較知名的比如,Dropbox 的后端分布式存儲系統(tǒng)(閉源),F(xiàn)irefox 的新的內(nèi)核 Servo,操作系統(tǒng) Redox,還包括 PingCAP 的分布式數(shù)據(jù)庫 TiDB 的存儲層 TiKV。TiKV 作為其中的一員,自上線以來非常引人注目,在 GitHub Rust 語言的全球排名項目中,基本上一直徘徊在前幾名的狀態(tài)。

點擊下圖即可閱讀全文

最終,Java 成為了一流語言

Java 因為互聯(lián)網(wǎng)而生,緊隨著瀏覽器的出現(xiàn)而問世。它被世界上的絕大多數(shù)網(wǎng)站所使用,也被世界主流瀏覽器(Chrome、IE、FireFox、Safari、Opera)支持。

除了樣式效果外,Java 也被越來越多地應(yīng)用于軟件開發(fā),例如后端任務(wù)、Web 服務(wù)器以及數(shù)據(jù)處理。Java 成型很快,起初只關(guān)注一個很小的目標(biāo),后來市場的力量改造了這門語言。

對 Java 有正面影響的統(tǒng)計數(shù)據(jù):

  1. 在 Github 上 Java 開源項目的數(shù)量最多(比 Java 多出 50%)。

  2. NodeJS 被評為 StackOverflow 2017 年開發(fā)者調(diào)查中最受歡迎的框架。

  3. Java 是 Stack Overflow 中最流行的編程語言。

Java 已經(jīng)達(dá)到以下這些成為一流編程語言的標(biāo)準(zhǔn):

  1. 被創(chuàng)業(yè)公司和大型私營公司用作后端服務(wù)框架(NodeJS)。

  2. 有一個蓬勃發(fā)展的開源社區(qū)(在 Github 上最活躍)。

  3. 作為一門專業(yè)技能,有大量的招聘需求要求掌握 Java 知識(Indee.com)。



聯(lián)系我們

如有問題請聯(lián)系我們,我們7*24小時竭誠為您服務(wù)

主站蜘蛛池模板: 久久国产精品免费一区二区三 | 日本国产另类久久久精品 | 久久久久av综合网成人 | 精品日产三级在线观看 | 午夜免费福利观看 | 国产精品探花一区在线观看 | 色播影院性播影院私人影院 | 国产精美视频 | 亚洲精品综合一区二区三 | 爆乳美女脱内衣18禁裸露网站 | 99热只有精品1 | a级毛片无码av | 亚洲AV蜜桃秘 无码一区二区 | av三区在线在线播放 | 国产99久60在线视频 | 国产无码不卡在 | 欧美久久久久 | 成人亚洲欧美日韩在线观着 | 熟妇人妻久久中文字幕 | 黄色一级视频在线播放 | 午夜第九理论达达兔影院 | 青青草成人色情视频网 | 国产av剧情 | 老湿免费体验区 | 亚洲欧美天堂网 | 久久久无码一区精品 | 日韩人妻无码精品无码中文字 | 99国产精品人妻无码免费 | 国产一区二区精品尤物 | 91欧美精品午夜性色福利在线 | 成年美女毛片黄网站色奶头大全 | 欧美成人免费一区在线播放 | 亚洲日韩精品无码专区网址 | 久久九九精品国产av片国产 | 精品视频公开课、资源共享课及国家精品在线开放课程 | 日本乱妇乱子视频网站 | 国产a不卡片 | 亚洲一级视频在线观看 | 国产码欧美 | 国产精品一区二区久久蜜臀内射 | 国产成人精品日本亚洲语音 |