寫給四年前剛開始編程的自己
?????聲明:此文乃本人轉(zhuǎn)載,并非milkymiao本人,獻(xiàn)給那些有共鳴的童鞋們。
??????? 2009年9月,進(jìn)入大學(xué)的第一天,開始了我正式的軟件工程的學(xué)習(xí)。為什么是正式的呢,因為之前雖然也寫過代碼,但完全是出于興趣,想到什么就學(xué)什么,毫無章法。后來來到了北交大,進(jìn)入了據(jù)說還不錯的軟件學(xué)院,有了一群志同道合的朋友,一位位用心良苦的老師,踏上了一個“程序員“的冒險旅程?,F(xiàn)在,我在美國密蘇里大學(xué)讀計算機碩士,回首自己走過來的這四年,錯過了很多,也明白了很多,收獲了很多,對軟件和計算機漸漸有了自己的認(rèn)識,更重要的是,發(fā)現(xiàn)了自己越來越多的缺陷與不足。有些當(dāng)年認(rèn)為用處不大而忽略掉的東西,卻成了現(xiàn)在最最重要的東西。有時會后悔地埋怨自己當(dāng)時不努力,欠下了太多的債,只能后來慢慢償還。
? ? ?如果能夠給我一次機會與四年前的我通話,我有太多的東西想對他說。然而,也許幾年后再次回首,我會有另一番不同的思緒,但此時此景,我能想到這些,至少現(xiàn)在是對的,我不想后悔,把這些寫下來,算是一種慰藉吧。
多出去走走,開闊眼界
? ? ? “世界就像一本書,不旅行的人,只讀過這本書里的一頁?!?/span>
? ? ? 世界之大,無奇不有,不管你是否要做一個技術(shù)男,你都應(yīng)該出去走走,去看更多的風(fēng)景,去見更多的人,去體會更多的風(fēng)情。不要做井底之蛙,這個世界到處都是精彩的事物,而有些東西如果不去親自體會是永遠(yuǎn)無法得到的。沒有人規(guī)定程序員就必須整天埋在代碼中,上天賦予了程序員自由的職業(yè)特性,就一定要利用好它。程序本身就是一種美,你要時刻保持一顆欣賞美、涉獵美的心靈,才能更好地去發(fā)現(xiàn)和創(chuàng)造。眼界開闊了,心靈才不會收拘束。真的,這個世界太美好,去發(fā)現(xiàn)感動到哭的美。
? ? ? 你要做一個旅行家里代碼寫得最好的人!
不要沉迷社交網(wǎng)絡(luò),線下的生活更加豐富
? ? ? 碎片化的信息正在侵襲著我們的生活,社交網(wǎng)絡(luò)的發(fā)明讓我們能夠在網(wǎng)上互動和交流。但你要問自己,這些真的對你有用處嗎?當(dāng)你和周圍的朋友們沉迷于人人網(wǎng)微博消耗時間時,是否意識時間正在瘋狂地消逝,等關(guān)閉網(wǎng)頁的瞬間,你是否感覺到孤獨感重新來襲。
? ? ? 最近剛看了《黑鏡》第二季,第一集中男主人公沉迷于社交網(wǎng)絡(luò),有一天車禍不幸去世后,有人制作了一個機器人,根據(jù)他生前在社交網(wǎng)絡(luò)上的言行,讓他繼續(xù)虛擬地活下去。當(dāng)然結(jié)局你應(yīng)該猜到了,是的,這個人沒有情感,有些東西是永遠(yuǎn)無法從社交網(wǎng)絡(luò)上模擬的。
? ? ?線下的生活更精彩,你要多參加有益的社團(tuán)、活動,多交朋友,在真實生活中維持真實的感情。
打好C語言基礎(chǔ),掌握并深入一門編程語言
? ? ?在后來的學(xué)習(xí)中,尤其是這幾個月來在國外的學(xué)習(xí),讓我漸漸感受到一些教育上的差異。C語言作為你正式學(xué)習(xí)的第一門語言,你要做到的不是掌握語法這么簡單。語言是指一種工具,幫助你理解程序設(shè)計的思想和奧秘。如果有可能的話,我希望你開始研讀Linux設(shè)計思想和源碼,理解其中各種設(shè)計模型和理念,因為這些才是根,當(dāng)你真正了理解了這些,就會發(fā)現(xiàn)所有的語言都是互通的,都遵循了一個準(zhǔn)則,即使有新的思想,你也會很快接受并融會貫通的。
? ? ?說到語言是工具,你當(dāng)然要選擇一門語言并試圖做到精通。建議你學(xué)習(xí)C++,因為它更接近軟件的底層和實質(zhì)。掌握并精通它,理解它的一切,并在現(xiàn)有的基礎(chǔ)上創(chuàng)新。JAVA封裝的太多,你可以用Java來很好地理解面向?qū)ο蟮脑O(shè)計原則,來快速地開發(fā)一些程序,但Java會限制你的提高。當(dāng)然你可以做一個Java界的大牛,但你想想,除非你特別喜歡這門語言,否則不要被它框住。
一定要學(xué)好的課程,一定要讀的書,一定要掌握的技術(shù)
? ? ? 這幾門課程是你一定要認(rèn)真學(xué)習(xí)的,因為有一天你會發(fā)現(xiàn)它們非常重要:“數(shù)學(xué)方面的課程”、“數(shù)據(jù)結(jié)構(gòu)”、“算法設(shè)計”、“操作系統(tǒng)”、“數(shù)據(jù)庫”和“系統(tǒng)級編程”等。
? ? ? 這幾本書不管你有多忙,都希望你能好好研讀:《算法導(dǎo)論》,《代碼大全》,《編程珠璣》外加多本文學(xué)書籍。
? ? ?這幾個技術(shù)一定要用心學(xué)習(xí),因為它們真的很有用:Linux(內(nèi)核+概念+應(yīng)用),數(shù)據(jù)庫,匯編與編譯,調(diào)試,算法設(shè)計等。
廣泛涉獵,但不要喪失重心
? ? ? 技術(shù)行業(yè)里永遠(yuǎn)有新的技術(shù),不要讓你的大腦僵化,要勇于去嘗試新的東西,了解各個細(xì)分的行業(yè),了解各項技術(shù),廣泛涉獵。因為只有這樣,你才能發(fā)現(xiàn)什么是你真正喜歡的,真正感興趣的。當(dāng)你找到了自己真正的興趣所在,你的所有研究和工作都將是快樂的。
? ? ? 另外,樹立一個榜樣,如果你決定要做一個商人,可以選擇比爾蓋茨、喬布斯,如果你決定要做研究,可以選擇Linus,高德納等技術(shù)流。抱著一種學(xué)習(xí)的心態(tài)去看待,不要盲目崇拜。
好好學(xué)習(xí)一門腳本語言
? ? ? 學(xué)習(xí)一門腳本語言如Python或Ruby。建議學(xué)習(xí)Python,并好好掌握它,這樣可以讓你更快速地與計算機交互,幫你快速解決某些問題。Python也有很多各方面的、優(yōu)秀的框架,在Server開發(fā)、科學(xué)計算等方面都有很大的潛力。另外,PHP可以讓你快速地架設(shè)一個小型網(wǎng)站,而且開源的系統(tǒng)也非常多。所有的這些工具,都可以在你需要的時候幫助到你。
保持一顆好奇心,一顆童心
? ? ?時刻關(guān)注業(yè)界信息,關(guān)注各個IT公司動態(tài),關(guān)注科技新聞,關(guān)注創(chuàng)業(yè),向過來人吸取經(jīng)驗。你看得越多,分析的越多,你對業(yè)界的信息、發(fā)展的感知就會越敏銳。不要盲目跟風(fēng)網(wǎng)上的言論,學(xué)會自己分析。
? ? ? 保持一顆童心,你才能保持一顆創(chuàng)造性的心,不要僵化思維,不要定勢思維。這些都是需要訓(xùn)練的,相信你經(jīng)過這些歷練,一定可以有所進(jìn)步。
? ? ?最后,珍惜時間,珍惜生命,做最好的自己。
鏈接:http://www.html5cn.org/article-4894-1.html
寫得挺好的,半個過來人
好!