又一年

contents

想必不用多說,這一篇文章的內容也是可想而知。

首先,已經很少寫 ACM 的題目,也不是不想寫,猜想是處於厭倦期吧。如果再這麼寫下去,又到底能做些什麼?而最近都在寫一些 JAVA 的程式設計,寫的東西並不多,但是寫法的設計很重要。

從這學期學到的物件導向設計與當初在中興學的不同,當初在中興學物件導向時,大體只是交基礎的 JAVA 三個物件導向的概念,概念是很重要沒錯,但是寫是另一回事。即使有再好的設計,實作的人不好好做也是很慘的,專題老師曾說過,請建築設計師設計的房子,而建造房子的工人可能自以為是去改造原先的設計。

大致上都能猜得出來,雖然不認為我的程式設計能力有多強,但是根據不斷地寫很多題目跟錯誤經驗後,多多少少還有兩把刷子吧?最近有點深刻體會到,可能連兩把刷子都沒有!也許程式會動沒有錯,能交出作業也是可以,但是好不好理解又是另一個問題,說實在很少去增加功能。

與物件導向相衝的 - 演算法

不是很討厭演算法,但也稱不上喜歡,著迷的是那一點點的突破口,只要那一點突破口,整個算法可以快很多的體悟,真的是很難厭煩的。最近因為老尼克在寫北京大學的線上課程,有幾道題目還挺有意思的。如多維空間的鄰近 M 對點,說實在寫了很多假解去挑戰題目,但總是拿了很多 WA 回來。稍微看了一下 K-d tree,不清不楚地抓了一個重要的關鍵「循環地對 i-th 維度做切割、並且建造二分樹」通常介紹文都很長,很難抓住要點的。尤其是對於我這種語文能力障礙的人而言,可以說是非常非常困難。

K-d tree 大概是 2013 年末的最佳收穫吧,其次是物件導向的學習。

說到這裡還沒有仔細說明為何與物件導向相衝,演算法的確很美,美在於每一個地方與搭配的資料結構能產生多大的效益,說不定所有演算法都存在線性時間呢?只是沒辦法在這個現實中運行。寫演算法大多都是一個問題一個作法,這個作法專門為了這個問題而解,通常只需要轉換輸入格式即可,因此很多時間都不必去修改它,最後遺忘了它,忘了它原先怎麼做的。

物件導向,算是模型的設計觀念,DP 問題也算是一個模型去套用?仔細想想也是,不過 DP 問題範圍有點小。在現實生活中,不僅僅是單純的資料處理,同時也要應付使用者的操作,因此多了一層 UI 的介面設計,講到這裡,默默地想到幾個反人類的設計,這果真只有寫程式的人才會做出的蠢事-只有寫程式的人才明白的操作。

寫了很久的 ACM,卻不知道物件導向的美,不過說實在還是演算法厲害,因為夠精簡夠單純。物件導向分了好幾層,每一層做的事情非常專注,系統設計的確要寫得漂亮,好讓另一個人進行修改和維護。設計時,每一個事情要夠單純,單純時又要設想未來擴充的接口,設計沒有正確答案,只有比較好。

別再說寫程式的事情了,我一點也不怎麼想要繼續下去。

// 「四分樹還比較可愛」當我說出這句話時
// 下一瞬間已經被當作「對數據結構示愛的人」「四分樹好萌?」

這學期最令人害怕的是團隊合作,先別說團隊,說說小組討論就好,眼前所看到的討論,不知道該說什麼形容詞來描述,真怕當提意見的會害了其他人的思維,也不是說信心不夠,錯得很有信心?-也許應該這麼說。

總是覺得別人相當奇葩,深不知自己也是奇葩。

又看了許許多多的奇葩,思考模式還真的是莫名其妙,妙得不知道怎麼形容,難道是沒有經過文化教育下的產物嗎?根據機率隨機分布後的結果?這沒有什麼不好的,總是要這樣才有一些天才和偉人,如果全都是文化教育下的產品,想必會有很多平庸之人吧,全部想法思維都差不多話,這世界還有什麼搞頭。

要多想,努力地思考,即便自己是那平庸之人。

我明白自己有多蠢-在一般人的生活中的舉動,我也明白自己有多笨-無法跨越的語文領域。如果一個人不會溝通,除了天才外,很快就會止步於現況。沒錯,很巴不得自己的人生趕快了結,管它是吊高高還是什麼的都好,並不在乎用什麼方法結束。

明明比我有天賦和時間,為什麼你不去做。有英文能力,為什麼不分我一點。

新的一年,就先這樣子吧。反正都是一個人過,一個人做。除了被挖走的努力外,很少有人會因為其他事情而親近的,如果只是單純的人情關係,為了維護而做的話,不在此類。