在上一周,研發頻道最熱門的文章當屬Google拋棄C語言,采用Go語言重寫Go編譯器、圣誕節快樂:來自程序員們的問候、Facebook 2013年的9個開源項目、各式各樣的極品程序員,你屬于哪一種、當程序不工作時,開發者常用的借口。
下面讓我們一起來細細品味這些熱門文章。
1.Google拋棄C語言,采用Go語言重寫Go編譯器
Go語言是Google開發的新型編程語言,將動態語言易于編寫的特性和靜態語言的高效性相結合,具備良好的易用性和極佳的執行效率。目前該語言已經發布了1.2正式版本。
Go語言開發者Russ Cox近日透露,在Go 1.3版本之后,該語言的編譯器將會使用Go語言重寫。
目前的Go編譯器
目前Go編譯器gc基于C語言,是從Plan 9的C編譯器衍生出來的,其中保持了原有的匯編程序、C編譯器和鏈接器,而部分針對Go的編譯器(gc/6g/8g/5g)使用C語言進行了重寫。
為何要采用Go語言實現
Russ Cox指出,采用Go語言來實現編譯器相比C語言的優勢在于:
詳細信息: Go 1.3+ Compiler Overhaul
2.圣誕節快樂:來自程序員們的問候一、來自IT巨頭的問候
1. Google的彩蛋
每到節日,Google就會在其搜索引擎中加入一些彩蛋,在用戶搜索特定關鍵詞的時候出現特殊的頁面效果。臨近圣誕,當用戶在Google中輸入“圣誕節”時,會頁面上端出現飄雪的場景和圣誕老人駕駛鹿車飛馳的畫面。
2. 百度的小游戲
當用戶在百度中搜索“圣誕節”時,就會出現一個小游戲。該游戲基于HTML5制作。
詳細信息可查看這個頁面的源碼。 http://www.baidu.com/ur/show/uhchristmas?from=christmasresult
3. 微軟追蹤圣誕老人網站
微軟今年推出了一個追蹤圣誕老人的網站,該主題網站基于HTML5和WebGL技術,首頁有圣誕節的倒計時,此外還有許多好玩的在線游戲,最主要的是該網站在觸摸設備上也有很好的體驗。
網站地址: http://www.noradsanta.org/
二、來自程序員們的問候1. 代碼不到1KB的3D圣誕樹
下面這個3D圣誕樹只用1021字節的JavaScript代碼編寫而成,逼真的3D及旋轉效果,將JavaScript功能發揮到了極致。
演示: http://js1k.com/2010-xmas/demo/856
three.js是一款開源的JavaScript 3D框架,也可以說是一款WebGL框架,幾乎可以實現所有的3D場景。本文所提到的圣誕樹就是用three.js和HTML5技術實現的。
演示: http://www.script-tutorials.com/demos/372/index.html
源碼: http://www.script-tutorials.com/christmas-tree-with-threejs/
three.js托管地址: https://github.com/mrdoob/three.js/
3. 【開源專訪】Linux Deepin:做更好用的Linux桌面系統
Linux Deepin 是一個優秀的國產 Linux 桌面操作系統項目,主要目標是為了解決 Linux 桌面體驗的問題,讓更多的人可以更加輕松容易地使用 Linux。2011 年 9 月份,他們成立了公司專注于該操作系統的研發。目前,整個團隊人數已經成長到 30 多個人。在這 2 年多的時間里,他們不斷在 Linux 桌面本地化上發力,做出了很多體驗良好的桌面產品。
Linux Deepin 項目官網: http://www.linuxdeepin.com
Linux Deepin 代碼托管: https://code.csdn.net/Linux-Deepin
本期,我們對 Linux Deepin 團隊項目負責人王勇進行了采訪,請他來談談 Linux Deepin 項目的一些情況。
Linux Deepin 團隊項目負責人:王勇
CSDN:請介紹下Linux Deepin團隊和成員的概況?
王勇:Linux Deepin 是一個立足于中國、面向國際的 Linux 桌面操作系統,致力于給全世界帶來最人性化的操作體驗。我們從 2011 年正式成立武漢深之度公司以來,現在已經發展成為一個 30+ 的操作系統研發團隊。
Linux Deepin團隊的成員大部分都不是學計算機出生,大家都是為了同一個夢想走到一起的,其中有Linux怪才、編程高手、漫畫家和油畫家、商業人才等。
在 Linux Deepin 團隊里,沒有傳統商業公司的條條框框和官僚主義,這里只有自由、開放、分享的人文環境,大家每天都為了夢想共同努力。
王勇:Linux Deepin 項目的初衷很簡單也很單純,就是幾個創始人的操作系統夢想,大家希望通過努力給全世界帶來更自由、更佳體驗的操作系統。
我記得那還是 2011 年春,Deepin、Hiweed、21wmd 和我大家坐在一起討論怎么做 Linux Deepin 11.06,那時候整個團隊就我們 4 個人,大家的想法也很簡單,先做一個版本出來看看。半年后我們做了第一個原創的產品:深度軟件中心,深度軟件中心極大地改善了 Linux 裝軟件難的問題,用戶只需要一鍵就可以輕松安裝自己喜愛的軟件。隨后的 Linux Deepin 11.06 在國內以及國際上的反響非常不錯,我們的努力得到了全世界用戶的認可和鼓勵,所以我們決定于 2011 年 9 月份成立公司來專注于操作系統研發。
Linux Deepin 這個團隊的發展速度遠遠超過我們當初的預想,剛開始我們就幾個人,但是每年我們的團隊規模都會翻倍,我們幾乎每年都會因為團隊規模而搬到一個更大的辦公場所,到目前為止已經發展到 30+ 的成員規模。
在日常工作里肯定會發現很多有趣的事情,極品程序員所做的事就是很有意思的。事實上,現在所討論的極品程序員主要是從他們的判斷力、行為舉止、個人態度和匪夷所思的工作方式上來判斷的,有的時候這些程序員一味的只是追求文檔上的內容,而不擅于用分析方式來解決問題。
幾乎每一個軟件開發者多多少少都會出現頭腦短路的現象,也就是說,下面所列舉的各種極品程序員類型,總有一款是屬于你的。
5.當程序不工作時,開發者常用的借口
都說態度決定一切,良好的態度也可以成就一名優秀開發者。但在現實生活中,尤其是遇到問題、功能實現失敗或不能正常運行時,大家就會開始抱怨或者尋找一些借口,這些借口完全是沒用的或者是阻礙你前進的攔路虎。而真正專業的態度應該著眼于項目和團隊的積極結果,關注個人和團隊的成長,并且圍繞當前的工作積極展開各項任務。
本文作者Rajaraman Raghuraman是一名擁有8年開發經驗的軟件開發人員,他總結了程序員遇到問題時經常找的借口或理由,大家不妨看下,不知各位中槍了沒,如果沒有,大家不妨在移步看看“ 程序員遇到Bug后的30種常見反應”。
圖片來自:cheatcc.com
6.Facebook 2013年的9個開源項目
Facebook是全球最大的社交網站,它的成長背后離不開開源力量。其開源項目負責人James Pearce介紹說,Facebook從寫下自己的第一行PHP代碼開始,第一次使用MySQL INSERT語句開始,開源就已經融入到公司的工程師文化里面了。
Facebook不僅取之開源,更是不斷開源其內部項目,將內部成果反饋給開源社區,可以說,這才是一個偉大公司應有的態度。通過不斷開源自己的產品項目,Facebook吸引了大量優秀開發者為其工作。可以通過文章
《后起之秀Facebook憑什么挑戰互聯網霸主Google?》詳細了解Facebook背后的開源力量。
當然,開源的項目不全是高大上,還有一些小型項目值得一看。下面我們一起了解下2013年Facebook的那些小型開源項目:
7.初創IT公司里開發者最容易犯的九種錯誤
本文作者Scott Gerber是一名企業家、專欄作家和電視評論員。在這篇文章里,作者在自己創立的YEC里采訪了九位IT企業家,就“初創企業里的開發者最容易犯的錯誤”進行討論,而每位受訪者也給出了實際意義上的答案,希望這些“常犯的錯誤”能夠給你帶來警示。
在今天這個初創公司如雨后春筍般遍地林立的時代,不管做什么事情總是要權衡利弊、優劣、得失,尤其是在眼下的以速度決定成敗的服務行業更為明顯。軟件開發者――這個看起來在整個團隊里并不起眼的角色事實上每天的工作量不亞于一個滅火的消防員,時時刻刻追蹤、關注著可能存在的問題,而且,一不小心就會給公司造成這樣或者是那樣的麻煩。
為了找出什么樣的錯誤才是初創IT企業最常見的錯誤,我問了來自青年企業家協會(YEC)的九個成功的企業家同一個問題:初創IT企業里的開發者所犯的最常見(容易避免的)錯誤是什么?下面是他們給出的答案:
8.敏捷開發流程管理須參考的3個要素
Olga Kouzina認為使用敏捷項目管理工具需要遵守三個原則:流程優先,工具次之;開發流程需可復用;正確做法需可復制。因為人們在選擇或使用敏捷項目管理工具時,往往會忽略開發流程中的某些關鍵要素,所以他重點對第一個原則中提到的“流程”進行了介紹,以期幫助大家對開發流程有個更加完整的認識。
首先,我們可嘗試將現有開發流程分解為3個部分: