偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

這個(gè)小眾的編程語(yǔ)言,無意間改變了全球程序員的命運(yùn)!

系統(tǒng) Windows
Git在Windows上沒有原生的移植版本,而是用 MinGW(類似 cygwin)包裝了 git,在Windows下無論是速度還是兼容性都很差。外界很少有人每天都使用它。

2005年4月是個(gè)神奇的月份,這一月同時(shí)出現(xiàn)了兩大版本控制工具:Git和Mercurial。

Git如今人盡皆知,Linus創(chuàng)建Git的過程也是個(gè)傳奇,但是早期的Git更像一個(gè)黑客工具“”,主要在Linux內(nèi)核那個(gè)小圈子內(nèi)使用。

Git在Windows上沒有原生的移植版本,而是用 MinGW(類似 cygwin)包裝了 git,在Windows下無論是速度還是兼容性都很差。外界很少有人每天都使用它。

相比而言,Mercurial更加引人矚目,它的發(fā)布僅比Git晚了幾天,但功能更完善,界面也更友好。

特別是Mercurial采用Python編寫,跨平臺(tái)能力很強(qiáng),在Windows下用得很爽。

所以,Mercurial受到了很多公司和開源項(xiàng)目的熱烈歡迎,Mozilla Firefox、OpenJDK、Python(3.5之前),Google,F(xiàn)acebook、諾基亞、Bitbucket等都在使用Mercurial。

如果按照這個(gè)勢(shì)頭發(fā)展下去,Git可能主要被Linux內(nèi)核開發(fā)者使用(這也是Git要解決的問題), 而Mercurial將有機(jī)會(huì)一統(tǒng)江湖。

但是2007年10月18號(hào)的一個(gè)晚上,一群Ruby愛好者在舊金山的的聚會(huì),無意間改變了這一切。

1."帶火"Git

參加這天聚會(huì)的有個(gè)叫做Tom Preston-Werner的人,他對(duì)新生的Git非常感興趣。

沒錯(cuò),確實(shí)是“新生”,2007 年 2 月,Git 1.5 版本發(fā)布,一改原來的命令不直觀、工作流不友好、文檔零散的情況,讓Git 第一次“從黑客工具變成普通開發(fā)者可用的軟件”。

Tom開發(fā)了一個(gè)叫Grit的軟件,可以使用Ruby代碼以面向?qū)ο蟮姆绞絹碓L問Git。

很多年輕的程序員可能都不知道Ruby了吧?這門語(yǔ)言本來不慍不火,但是2004年由于Ruby on Rails的橫空出世,讓Ruby也天下皆知。

Ruby on Rails以其開創(chuàng)的“約定重于配置”,“Don't repeat yourself”的理念名揚(yáng)天下,它的代碼非常優(yōu)雅,開發(fā)速度號(hào)稱是Java的10倍,非常適合開發(fā)當(dāng)時(shí)的Web2.0網(wǎng)站,無數(shù)開發(fā)人員都轉(zhuǎn)投到Rails門下。

Twitter、GroupOn、Airbnb、Hulu等著名網(wǎng)站在早期都是用Rails開發(fā)的。 

Tom在聚會(huì)上兜售自己的想法:用Rails做一個(gè)面向程序員的網(wǎng)站,他們可以在上面保存、分享自己的Git代碼庫(kù)。 

這個(gè)想法吸引住了Chris Wanstrath,Chris執(zhí)行力驚人,說干就干,晚上10點(diǎn)24,就提交了第一批代碼。

Tom 和 Chris 都有全職工作,兩人就利用晚上和周六的時(shí)間開發(fā),三個(gè)月的努力后,這個(gè)叫做GitHub的網(wǎng)站上線了,它的口號(hào)就是:Socail Code Hosting。

圖片圖片

Social Code Hosting的核心賣點(diǎn)就是“fork + pull request”這種社交式協(xié)作模式。

之前最大的開源代碼托管網(wǎng)站是SourceForge, 你要想?yún)⑴c某個(gè)開源項(xiàng)目,比如修復(fù)了Bug,需要通過郵件的方式把代碼發(fā)給開源維護(hù)者,很麻煩。 

現(xiàn)在只要fork一個(gè)項(xiàng)目,在本地修改,然后發(fā)個(gè)pull request, 審核通過就可以合并,非常方便。

雖然這是一個(gè)革命性的變革,但任何新生事物的早期推廣,都是非常艱難的,GitHub也不例外。

幸好,GitHub得到了Ruby社區(qū)的支持,2008年4月,Ruby on Rails率先拋棄Subversion,遷移到了GitHub。

這個(gè)大消息對(duì)整個(gè)Ruby社區(qū)產(chǎn)生了示范效應(yīng),自己鐘愛的框架都跑到GitHub了,大家紛紛效仿,入駐了GitHub。

更有利的是,做RoR的程序員開發(fā)Web頁(yè)面時(shí)都會(huì)使用JavaScript, 很多Ruby大牛也是JavaScript社區(qū)的核心成員,例如Yehuda Katz(Ember.js的作者,jQuery 和 Ruby on Rails核心成員), 這就使得JavaScript社區(qū)開始關(guān)注GitHub,并且紛紛向GitHub遷移。 

如果你看到GitHub上有海量的JavaScript和Ruby 項(xiàng)目,就不足為奇了。

隨后的故事大家都知道了,GitHub迅速破圈,吸引了Python、PHP、Java等社區(qū)的項(xiàng)目入駐,贏得了公司的支持,很快就形成了事實(shí)性標(biāo)準(zhǔn)。

Git也隨著GitHub的崛起,從Linux內(nèi)核社區(qū)走出,成為程序員必備的工具,如今再不會(huì)Git,可能連工作都找不到。

那些曾經(jīng)使用Mercurial的公司也逐漸遷移到GitHub,Mercurial遭到重創(chuàng),成為一些公司的小眾選擇。

毫不夸張地說,Ruby社區(qū)的人極大地影響了Git的命運(yùn)。

2."催熟"Redis

Ruby社區(qū)不但影響了Git,還“催熟”了Redis。

2009年,有個(gè)叫大衛(wèi)的人在Google Code上發(fā)現(xiàn)了一個(gè)名為Redis的項(xiàng)目,不知道他是否真的嘗試過這個(gè)軟件,還是覺得它很酷,于是就跑到HackerNews上發(fā)了一個(gè)帖子:

圖片

(此時(shí)GitHub已經(jīng)發(fā)布兩年,但是Redis還是選擇了Google Code,可見對(duì)新生事物的接受總是有一個(gè)過程)

這個(gè)帖子最早只有5個(gè)人評(píng)論,有3個(gè)人都在“安利”其他類似的支持Key-Value的內(nèi)存數(shù)據(jù)庫(kù):memcachedb,Tokyo Cabinet,Datastore 。

只有一個(gè)人提供了真正的幫助,這個(gè)人就是 Ezra Zygmuntowicz,一位非常知名的Ruby on Rails開發(fā)人員,也是也是 Engine Yard 的創(chuàng)始人之一。

Ezra 不僅鼓勵(lì)了鼓勵(lì)了Redis作者antirez :“嗯,Redis真的很酷。......我真的很喜歡能夠?qū)⒘斜泶鎯?chǔ)為值...... 你能聯(lián)系我嗎?我很想跟你聊聊關(guān)于 Redis 的事。”

他還用Ruby迅速實(shí)現(xiàn)了一個(gè)Redis的客戶端,發(fā)了一條推文:

圖片圖片

在Ezra的推動(dòng)之下,Redis的技術(shù)價(jià)值迅速找到了最佳落地點(diǎn)——Rails 社區(qū)。

當(dāng)時(shí)的Rails非常擅長(zhǎng)開發(fā)Web2.0的網(wǎng)站,但是卻難以擴(kuò)展規(guī)模,這也是所有Web框架都遇到的通用問題。

Redis不但可以實(shí)現(xiàn)高并發(fā)的緩存,降低數(shù)據(jù)庫(kù)的負(fù)載,還可以實(shí)現(xiàn)分布式Session,支持無狀態(tài)擴(kuò)展,這實(shí)在是一件利器。

不久以后,著名的Twitter采用了Redis,成為“標(biāo)志性背書”,讓 Redis 從小眾走向主流。

可惜的是Ezra英年早逝,antirez發(fā)了一個(gè)帖子紀(jì)念他,其中特別提到:Ezra是第一個(gè)讓Redis流行起來的人。

圖片圖片

3.Ruby社區(qū)為什么這么神奇?

你可能會(huì)說,Git和Redis那么優(yōu)秀,是金子總會(huì)發(fā)光,沒有Ruby/Rails社區(qū),它們也能火起來。

確實(shí)是,但是我覺得時(shí)間線可能會(huì)被極大地拉長(zhǎng),因?yàn)榇蠹覍?duì)新事物的接受度都有一個(gè)過程。

其實(shí)Ruby/Rails社區(qū)不僅帶火了Git和Redis,它還幫助多個(gè)后來大受歡迎的項(xiàng)目在早期獲得關(guān)注:

Chef:基礎(chǔ)設(shè)施即代碼的著名工具

Capistrano:將Web應(yīng)用自動(dòng)化部署到多個(gè)服務(wù)器

Vagrant:虛擬機(jī)開發(fā)環(huán)境的自動(dòng)化管理工具

Homebrew:macOS 上的軟件包管理器

Jekyll:靜態(tài)網(wǎng)站生成器

Travis CI:繼續(xù)集成平臺(tái)

Rails社區(qū)能這么神奇,我覺得主要有這么幾點(diǎn):

1).Rails高度集成化,提供了從數(shù)據(jù)庫(kù)到前端模板的完整方案。

大家都在相同的技術(shù)棧上開發(fā),很容易共享最佳工具和實(shí)踐,當(dāng)Redis,Chef適配了Rails以后,所有人立刻就可以試用并反饋。

2)Rails核心團(tuán)隊(duì)本身就是一群積極寫博客,錄 screencast、做演講的人,布道文化濃厚。

社區(qū)成員非常樂于在各種會(huì)議,MeetUp中分享自己的工具,GitHub的誕生就充分說明了這一點(diǎn)。

當(dāng)時(shí)的 Rails 開發(fā)者大量活躍在 Twitter、博客圈和 GitHub,這些渠道的傳播速度遠(yuǎn)超傳統(tǒng)技術(shù)媒體,只要幾位社區(qū) KOL(如 DHH、Ezra)推薦,一個(gè)項(xiàng)目就能在一兩周內(nèi)火遍全社區(qū)。

可惜的是,大概是2013年以后,前端革命興起,AngularJS、React、Vue 流行,讓很多公司做了前后端分離,Docker和k8s又促進(jìn)了微服務(wù)架構(gòu)的流行,這都和Rails那種一站式的框架理念背離。

再加上Ruby性能劣勢(shì)明顯,在高并發(fā)、實(shí)時(shí)性要求高的業(yè)務(wù)里不具競(jìng)爭(zhēng)力,沒有在移動(dòng)互聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)、IoT等領(lǐng)域搶占一席之地。

總之,技術(shù)的變遷讓Rails不再流行了。

不過,有個(gè)叫José Valim的巴西人對(duì)Ruby做了“升級(jí)”,發(fā)明了一個(gè)叫做Elixir的編程語(yǔ)言,Elixir保留了Ruby靈活的語(yǔ)法和強(qiáng)大的元編程能力同時(shí),又可以運(yùn)行在Erlang虛擬機(jī)中,具備了高并發(fā)、容錯(cuò)和分布式的特性,特別適合開發(fā)分布式、可擴(kuò)展的、高并發(fā)的應(yīng)用程序,受到了很多大廠的喜愛。

責(zé)任編輯:武曉燕 來源: 碼農(nóng)翻身
相關(guān)推薦

2019-01-28 09:23:50

程序員桌面勞動(dòng)者

2025-08-21 11:49:27

2009-02-27 09:25:28

編程語(yǔ)言程序員C#

2025-04-02 04:55:00

2013-08-23 11:06:34

編程語(yǔ)言

2023-02-13 23:43:06

程序員網(wǎng)站

2021-08-10 14:21:02

開發(fā)程序員工具

2009-07-28 08:28:15

2020-12-29 11:06:46

程序員技能開發(fā)者

2012-08-07 09:29:09

程序員編程

2022-05-23 07:56:19

語(yǔ)言DSLClojure

2015-10-28 09:33:31

程序員崩潰編程語(yǔ)言

2012-06-15 09:54:58

程序員編程開發(fā)

2012-08-29 15:49:50

2025-06-16 09:03:00

2021-10-26 16:25:25

編程語(yǔ)言JavaPython

2013-12-30 10:08:13

2021-04-08 22:41:22

程序員IT編程語(yǔ)言

2022-01-29 00:08:30

程序員編程語(yǔ)言Java

2015-01-22 10:20:03

網(wǎng)絡(luò)連接
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)