用Java寫程序?qū)⒔?/SPAN>3年了,在這3年中逐漸喜歡上了它,不僅僅因?yàn)?/SPAN>Java寫出來(lái)的代碼能夠擁有Rene稱之為完美的結(jié)構(gòu),還因?yàn)?/SPAN>Java有著如此豐富的類庫(kù)。這些類庫(kù)從數(shù)據(jù)結(jié)構(gòu)到字符串分析應(yīng)有盡有,還不夠的話,我們還有OpenSource……
記得以前說(shuō)過(guò),程序一直不寫會(huì)手生的。這就是Rene至今仍舊保持著做ACM和TopCoder的緣由。即使不做項(xiàng)目,仍舊能夠保持對(duì)于Coding的一種模式記憶以及類庫(kù)使用的熟練程度。沒(méi)想到如今新問(wèn)題來(lái)了。
前幾天,女王讓我?guī)退鲆幌?/SPAN>C的Project。這個(gè)項(xiàng)目乍看之下不難,就是做一個(gè)函數(shù)計(jì)算器。盡管要用到一些諸如變量寄存、詞法分析的技術(shù),但如果有合適的類庫(kù)支持的話,并不能算難,就隨口說(shuō)了聲C’est facile~~但是這個(gè)是出于Java的思考邏輯。C語(yǔ)言沒(méi)有那么豐富的類庫(kù),即使有對(duì)于熟悉Java編碼風(fēng)格的Rene來(lái)講,使用起來(lái)學(xué)習(xí)曲線也是很陡峭的。如今沒(méi)有了Java類庫(kù),就如同寫C++沒(méi)有STL一樣,純C,Oh!Mon Dieu!什么都要自己來(lái),所有的,包括數(shù)據(jù)結(jié)構(gòu)……
本來(lái)像變量寄存之類的,弄個(gè)HashMap足以解決問(wèn)題的??墒侨绾螛?gòu)造哈希表呢?尤其是Hash函數(shù),不像Java中的“一切皆對(duì)象”,每個(gè)對(duì)象都有一個(gè)Hash碼。剛才寫了一個(gè)框架,發(fā)現(xiàn)連C的語(yǔ)法、格式都有些生疏了。把譚浩強(qiáng)的書翻出來(lái)看了(幸虧這本書還在 J)。至于哈希,看了算法導(dǎo)論,沒(méi)什么啟發(fā)。難道真的要用性能極差的線性表嗎?
Java啊,Java。你就像是一顆糖果,Rene被你寵壞了……不應(yīng)該忽視原來(lái)視為最優(yōu)雅語(yǔ)言的C?。÷?,仔細(xì)寫,畢竟原來(lái)的功底還在,時(shí)間還充裕,信心也有,一定能夠完成的。還有數(shù)據(jù)結(jié)構(gòu),看來(lái)即使有了STL和各種類庫(kù),基本的東西仍舊不能扔。Rene決不會(huì)再受誘惑,再被慣壞第二次了。