Robocode讓我明白了不少
前幾天看《程序員》下載了個robocode,其實這個玩意在前年搞工作室的時候就已經(jīng)下載過,不過當(dāng)時也沒怎么玩。昨天趁加班(加班寫機(jī)器人
)寫了一個,并沒有涉及什么算法,唯一遵循的原則就是打一槍換個地方。sample里除了那個waller機(jī)器人,別的都被干了。不過仔細(xì)想想,這里面其實有很多文章可作。越分析越后悔自己的數(shù)學(xué)怎么忘得那么快。一個晚上下來,除了有點體會別無收獲。說實話,工作到現(xiàn)在始終覺得實際的開發(fā)工作和算法沒有太大關(guān)系,更別說數(shù)學(xué)。一直知道一個道理,軟件開發(fā)真正強(qiáng)的人,數(shù)學(xué)一定要強(qiáng)。但一直不知其所以然。今天算是領(lǐng)悟了。什么平臺,語言,框架,數(shù)據(jù)庫等等這幾年積累的一點經(jīng)驗只是工具而已,利用計算機(jī)解決問題所需的工具。在工具后面就是解決問題的思維能力。現(xiàn)實世界是如此的復(fù)雜,要讓計算機(jī)來模擬解決現(xiàn)實的問題,就必須用數(shù)學(xué),從某種角度說,數(shù)學(xué)也是工具。后悔啊,后悔當(dāng)初學(xué)數(shù)學(xué)的時候并不明白,只知道考試,不知道這些數(shù)學(xué)有什么用。 現(xiàn)在依稀記得當(dāng)年在電教上數(shù)學(xué)建模時提到一個解決飛機(jī)航班的問題,現(xiàn)在想來多么有趣。可是...
漸漸的我覺得軟件設(shè)計開發(fā)中尤為重要的是幾點:
1.解決問題能力(數(shù)學(xué)分析建模/算法,這一點也許在有的領(lǐng)域中并不那么體現(xiàn)得出來)
2.設(shè)計思想(擴(kuò)展性,復(fù)用性,松耦合性等是一個系統(tǒng)而不是程序所無法避免的要素,IT尤其是軟件行業(yè)唯一不變的就是不停的變化,所以設(shè)計思想就變得尤為重要)
3.計算機(jī)工具(這部分內(nèi)容繁多,包括特定的平臺,語言,工具,框架等學(xué)一輩子都學(xué)不完也沒必要,如果深陷其中,那么就等著30歲退休吧)
目前身有體會的就是以上3點,還有其他,但沒有體會到就不必人云亦云了。等以后體會到自然就會明白。(包括方法學(xué)(軟件工程),××原理等)
中午,和老翁(幾年的同事,曾經(jīng)的領(lǐng)導(dǎo),一同經(jīng)歷了跳槽和項目,現(xiàn)在當(dāng)了SOHO一族,目前在我們公司做一部分外包項目)聊起了這個問題,他也深有感觸。聽他說現(xiàn)在打算往圖像處理和流媒體方向發(fā)展,不錯!
有自己喜歡向往的領(lǐng)域,就應(yīng)該去探索,不過這需要一個過程,畢竟還要生活(曾經(jīng)也有想法辭職回家閉關(guān)修煉,不過最終打消了。畢竟現(xiàn)在還有很長一段距離,理想和現(xiàn)實還沒有沖突)。

浙公網(wǎng)安備 33010602011771號