寫給年輕程序員的一封信

很多年輕的程序員發emails給我,說希望能夠得到一些如何盡快躋身優秀程序員行列的建議和方法。關于這個問題,我已經有提到過很多次,現在已經沒什么可以補充的了。不過?為了滿足大家的要求,在這里我再詳細地歸納總結一下:

——和其他開發人員協作。編程已經進入了“地球村”的輝煌時代,無論我們身在哪里,無論我們為誰工作,只要擁有可愛的互聯網,我們就可以和世界上任何一個角落的程序員一起攻克代碼難題、合作開發各種軟件。并且,現在有越來越多的開發人員,在網上把他們豐富的經驗教訓總結出來,提供給大家共享。我的朋友Evan Light利用開放的辦公時間,正在致力于開發一個幫助Ruby使用者們匹配合作的網站。我也在這項目上做過。有沒有興趣做開源軟件?如果有的話請發郵件給我。讓我們一起協作吧!

——閱讀經典書籍刊物。像《代碼大全》、《程序員修煉之道》、《程序員設計實踐》、《設計模式》等等,都挺不錯的。

——好好利用網絡資源。這一條必須特別強調。因為幾乎所有的編程知識我們都可以在網上找到。老實說,有時候我會覺得,所有我需要的編程技能都是在網上學會的。

——研究別人的代碼。GitHub萬歲!如果你想學習Ruby語言,并且希望能在最快的時間掌握它,那么可以按《Best of Ruby Quiz》所說的,先鉆研下他人的代碼。

——進入本地程序員群。如果沒有這樣類似的群,那么創建一個。接下來需要做的是組織會話。不要坐井觀天的以為“老子天下第一”,多多與大家交流,知道自己的不足之處,然后謙虛學習。

——寫博客。不要擔心不知道該寫什么。那些非常有名的博客牛人他們寫的就是:他們自己的編程經歷和程序錯誤,以及他們是如何克服這些問題的。反思,對于我們學習編程的幫助不可估量,而寫博客就是用于反思的手段。而且寫在博客上你還可以得到其他人對你的評價和建議。

——為開源項目制作補丁。這一點已經眾所周知,我就不再贅述了。

——拋個硬幣,花代表Vim,字代表?Emacs,選擇了之后就開始認真學習吧。編輯器是你編程生涯中的左膀右臂,所以,一個強大又靈活的編輯器絕對能讓你的編程水平更上一層樓。

——熟稔一種編程語言是遠遠不夠的。但是首先你得學好一種,這樣你某一天遇到緊急情況,就能迅速應對、快速編程,而不必絞盡腦汁、漫無目的、費時費力地想(就因為你已經忘記得差不多了)。不過,我想說的是,要是你已經掌握了一門,那么是時候學習第二門了,一方面可以驗證第一門編程語言,另一方面通過這種方法還可以溫故而知新。而且最好選擇的是風格大相徑庭的。我讀過的一篇博文《Seven Languages in Seven Weeks》就給出了關于此點內容超棒的編程范例,有興趣可以看看。

——做一個編程語言和平臺的郵件列表。有時候,我們會找不到正在關注的博客、黑客新聞、Twitter中的激烈爭辯以及各種發人深思的討論。這個時候郵件列表就大顯威武了,相對于其他手段,它既方便禮貌又實用多多。

——StackOverflow絕對是你的良師益友。

——不要浪費時間去研究所謂的最好的工具。我曾經用了幾周時間,想為我準備開工的項目找個“不鳴而已,一鳴驚人”的最好框架,但是后來卻發現這個框架嚴重限制了我的工作效率。所以,千萬別被“最好”這兩個字的表象所迷惑,掉進坑里。如果你覺得你作為程序員還不算經驗豐富,那么最好先從有很多用戶使用的語言和框架開始。最最重要的一點是,當你遇到障礙物而你越不過去的時候,你得知道去哪里,才能尋求幫助、拿到更有利的工具。

——不要錯過實習機會。

——不斷練習、練習、再練習,因為辛勤的汗水才能澆灌出成功的花朵。在工作中寫代碼,在家里寫代碼。好好修煉代碼招式。編程其實和別的技術沒什么不同:最后的成功,都歸結于不斷的練習和辛勤的努力。

譯文鏈接:http://news.html5tricks.com/latter-to-young-programmer.html
英文原文:Letter to a Young Developer
翻譯作者:IT新聞?– 蔣麗麗

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447509.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker中RocketMQ的安裝與使用

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 搜索RocketMQ的鏡像,可以通過docker的hub.docker.com上進行搜索,也可以在Linux下通過docker的search命令進行搜索…

大浪淘沙:不是所有的IT公司都以成功收場

本文列舉了50家創業公司沒有什么先后順序,最后顯示,其中21家是獨立公司,19家被收購了,4家正在走下坡路,6家已倒閉。但是我希望有更多的公司徹底倒閉,留下實力最強大的公司。公司倒閉也許是重新開始的標志。…

解決:阿里云ECS服務器 遠程連接不上、極慢 (主機監控的實現)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 個人低配版的阿里云ECS服務器,突然發現用 Xshell 或者 git-bash 都連接不上... 第一反應發工單去問下為什么,然…

TIOBE 2014年7月編程語言排行榜:僅發布1月,Swift進Top 20!

摘要:TIOBE7月編程語言排行榜發布,本月最值得關注的是,蘋果公司在WWDC 2014上推出新的編程語言Swift,發布至今僅一月有余,Swift竟擠進TIOBE排行榜的Top 20,排名第16位。Swift能取得如此驕人的成績&#xff…

Math對象方法總結(向上取整、向下取整、四舍五入、取隨機數,取最大值、取最小值)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

Docker 方式安裝 gitlab ( 阿里云ECS )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.查找鏡像: docker search gitlab 2. 拉取鏡像: docker pull 鏡像名 我選擇的是搜索出來的第一個鏡像&…

商用的碼流分析工具/YUV viewer

目前市場上有一些商用的碼流分析工具是比較好的,能夠輔助我們進行各個標準的碼流分析: 1. Elecard StreamEye系列 可以分析H264/MPEG4/MPEG2的碼流,暫時不支持其它標準。 2. H264VISA 比較好的H264碼流分析工具 3. Vegas vegas是interra s…

生成多個 SSH-Key 、生成多個公鑰和私鑰

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 當有多個倉庫要同時使用時,需要配置多個公鑰、私鑰。于是就要先生成多個。 PS:初次生成參見文章:查…

使用Lucid Virtu在有獨立顯卡的情況下使用Intel硬件加速H.264編碼

在硬編碼領域,大家都知道CUDA技術對于H.264視頻編碼速度的提升。然而實際上常見的高清H.264視頻壓縮都不是用CUDA技術進行硬編碼,而是用傳統的x264進行軟編碼,因為通過CUDA硬編碼的視頻效果遠遠差于x264軟編碼壓縮出的視頻效果。隨著Intel Sa…

執行ssh-add時出現Could not open a connection to your authentication agent

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 若執行ssh-add /path/to/xxx.pem是出現這個錯誤:Could not open a connection to your authentication agent,則先執行如下命…

Intel硬件加速 VS CUDA完勝 視頻轉碼感受

對比試用平臺介紹 在體驗了酷睿 I5 2300 在3D游戲和多任務、高清播放等方面的突出性能后,今天我利用空閑時間針對酷睿 I5 2300在高清轉碼方面上與本人的舊平臺上對比了一下.,其結果也讓人感到震撼。好了閑話不多說了,先來給自己新舊PC做個介紹…

解決 : Shell 腳本 $‘\r‘: command not found 問題

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.經查證,只是 Windows 的空行在 linux 中不識別,故需要用 dos2unix 來轉換。 2. 安裝 dos2unix,2 …

H.264 軟/硬編碼器 畫質量化分析評測

第1頁:前言——視頻壓縮無處不在H.264 或者說 MPEG-4 AVC 是目前使用最廣泛的高清視頻編碼標準,和上一代 MPEG-2、h.263/MPEG-4 Part4 相比,它的壓縮率大為提高,例如和 MPEG-2 相比,同樣的壓縮后畫面品質,h…

解決:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 執行 mvn clean deploy ... 想把 jar 包更新到私服倉庫,報錯: Failed to execute goal org.apache.maven.pl…

YV12 and NV12異同,

用videoCapture和IAMStreamConfig拿到的支持的格式列表。發現支持2中圖像格式,YV12和NV12。具體是怎么樣的內存分布不知道。查了些文檔。自己修改了幾個圖。看出了點端倪YV12先看看 http://www.fourcc.org/yuv.php 上比較標準的定義:YV12 This is the f…

上傳 jar 包到 nexus3、上傳本地 jar 包到 maven 私服

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.登陸進入 nexus3,打開要上傳的倉庫目錄:maven-releases 2. 選擇要上傳的本地 jar 包,并填寫好對應…

從桌面到移動:異構計算翻天覆地的技術變革

摘要:在智能手機上,強大的計算單元,不僅僅是CPU一顆,還包含了GPU、DSP等器件。在傳統的臺式電腦中,異構計算已經說了好多年了。這篇文章有點長,但值得靜下心來慢慢閱讀。從桌面到移動,這是關于異…

集合源碼閱讀:ArrayList

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1.繼承關系&#xff1a;public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Clon…

全球最杰出的14位程序員

摘要&#xff1a;ITWorld整理全球最杰出的14位程序員&#xff0c;包括Jon Skeet、Linus Torvalds、Jeff Dean等。一起來看下讓我們膜拜的大神都有哪些&#xff1f; 近日&#xff0c;ITWorld整理全球最杰出的14位程序員&#xff0c;一起來看下讓我們膜拜的這些大神都有哪些&…

集合源碼閱讀:LinkedList

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 # LinkedList -- 增刪快。# 1.繼承關系&#xff1a;public class LinkedList<E>extends AbstractSequentialList<E>impleme…