一個發展中的程序員心目中的阿里開源

想先簡單說下國內程序員的開發歷程,個人認爲應該分成三代:

第一代是從零開始自己造輪子的遠古程序員,比如WPS的求伯君,最初的程序員面臨的就是什麼都需要自己做,所能用的也都只有最基本的工具,甚至連高級語言都用不上。

第二代的程序員相比起第一代程序員幸福多了,最起碼有了標準化的開發環境,但如果想學編程還是隻能看看書,除了linux,kernel很少有機會能夠讀到值得學習的源碼。

我們這一代程序員,則是生在最好的時代,但凡想的到的功能都已經有了開源的組件,自己需要做的,只是把不同的組件聯繫在一起,來實現理想的功能,大大提高了小公司或者個人開發的速度,降低了開發的門檻。

在開源的幫助下,技術的世界不再有知識的壁壘。

這最好的時代背後,匯聚着無數開源者的智慧結晶。例如國內知名互聯網公司阿里——一家以電商聞名的技術公司,在開源世界卻有着不一樣的名聲——開源大牛。阿里擁有着一大批具有開源精神,願意分享技術和經驗的技術人才,從阿里誕生至今,不斷產出一個個非常具有影響力的開源軟件,給整個開發社區帶來了一股開放互助的氛圍,這種開源的精神可以說是影響了整整一代程序員,也包括我本人。

 

阿里對於一整代程序員的影響

我本科就讀於中山大學,在上人生第一節開發課程時,老師告訴我們:記得把nodejs源換成阿里的,因爲阿里爲了方便國內開發者,複製了一份nodejs源並保持每十五分鐘與官方源同步,讓更多的人更快速地安裝想要的包。

在真正開始開發以後,也必定繞不開阿里在應用開發方面最有影響力的開源產品——ant-design。大家如果有細心關注過每個網站的設計,或多或少會發現隨着時間的推移,如今的網站越來越趨同,交互方式也更加類似更加人性化。這一切的背後原因就是因爲開源,準確的來說就是阿里的開源的影響。

幾年前,大家的網站都是自己從頭到尾負責搭建,從技術棧的選取到最後具體實現,每一步都很有個人風格,但工作量巨大的同時,無法避免的會引入很多錯誤,也沒能從用戶交互的角度去實現功能。這個時候,阿里站了出來,通過開源的方式推出一套標準的設計原則,改變了整個行業的前端編程習慣,降低了行業門檻的同時,也大大提高了技術的標準。

在此之前,國內都沒有任何機構有能力去開源一個統一的風格,唯一接近的也只有google在安卓程序設計上的material design,但也只是提供了一種思路或設計限制,並且大多情況下和web設計的實際需求相差十萬八千里。

而阿里的ant-design與此不同,它是工具化的開源,給所有有需要的前端編程人員,都提供了一套完整而統一的工具。

 

開源的本質是分享互助

開源,並不僅僅是開放代碼的權限,本質的是其分享互助的精神。如果說開源只是節省了開發者的時間,那也太對不起開源者了。開源的最終目的不是提供一個方便的工具,而是知識的共享。

螞蟻金服前端團隊曾經翻譯的一本本web開發的書,就構成了我們這一代程序員共同的回憶。這些無償的翻譯與分享,讓web開發不再是一個高新科技,而是更多人都能更快上手的技能。

具體而言,一個程序員的技術累計學習路線中,能不能夠熟悉語言相對應的開發範式,是能否開發好的應用的關鍵。但這一點,對於十年前的開發者來說是很奢侈的:他們往往沒有途徑去了解最新的技術趨勢,也根本沒有開源項目可以學習和參考,所以那個年代留下來的很多應用代碼,到了現在都被戲稱爲“屎山”,根本沒有結構和範式可言。而大範圍開源以後,這樣的情況很少再出現了。

以上,從我的親身經歷出發,阿里的技術人在開源領域做出了許多源遠流長的貢獻,也指引着我們這一代程序員,在享受開源的同時,也潛移默化地重視開源、成爲開源的一份子。

我身邊很多同學,在擇業時拒絕了其他公司開出的更高薪酬,選擇了阿里,很重要的一點就是內心中對於阿里的技術敬畏。這都是源自在我們技術稚嫩時,阿里的開源者給予我們指導,給我們種下了技術高要求的種子。

 

一些個人想法與總結

於我而言,能在學生時代就能享受阿里開源帶來的技術成果,是非常幸運的。

因爲開源,我在技術學習初期就樹立起非常正確的對於技術的追求,並且以一種開放互相幫助的想法去分享自己的技術結晶和經驗。

因爲開源,我在校時就能直接體驗到產業最前沿的生產技術,這也是難能可貴的無價之寶。

我,作爲一個在校博士生,仍在摸索中的程序員,因爲有阿里這樣具有濃厚開源氛圍的公司,而自覺幸運,也希望阿里能繼續堅持,帶動更多技術人與機構參與到開源中來。

 

                                                          

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章