《瘋狂的程式設計師》38
而你憂傷成藍 豪門私寵:拒嫁腹黑總裁 重生之傾世沉香 基因戮天 愛妃,你要負責 無限之妖魔 惡魔羊皮卷 校園王子vs憂鬱公主 嫁個古董夫 尋味
《瘋狂的程式設計師》38
周總一說放一放,絕影就怕得要死。天知道這一放又要放多久。比如饅頭這東西,剛做出來的時候熱氣騰騰還帶點甜味確實蠻好吃的,放一會涼了也還能吃,要是你放個一天兩天,那饅頭就變成了石頭,還如何能吃?
程式也是如此,好端端一個程式,若能一直寫下去,倒也像香噴噴的饅頭,越寫越多,越寫越有勁,要是哪一天突然讓你停下來,N個月後再讓你來看,明明是自己寫的東西,反而全都不認識了,程式設計師又不是狗,靠鼻子認東西。再來寫等於從頭再來,從頭再來還好點,至少思路都是自己的,現在還要順著以前的思路寫,接別人的活寫著寫著就罵以前的程式設計師,接自己的活寫著寫著就罵自己。
絕影強壓住心中的怒火,周總慢條斯理地說:“上次醫院那套系統用了這麼久了,最近根據他們的反饋,效果還不錯,還有好幾家醫院來參觀過,正好給咱們免費打廣告。一套系統做好了,我們不能僅僅滿足於系統本身,也應該再做點增值產品,一來可以擴充套件KIPACS的功能,二來還可以再給我們增加點收入。”
本來絕影認為KIPACS確實沒有什麼技術含量,基本上沒有什麼再開發的價值,相比起來,DAP的價值要大得多。如果是別人這麼說,他肯定拿出一大套說辭來有力地反駁他,奈何這話又是周總說,現在公司收入的大頭還是得靠KIPACS,於是繼續聽周總往下說。
“最近我調研了一下,發現一個很簡單也很實用的功能,就是遙控器。比如以前我們在KIPACS上點選‘拍攝’按鈕來拍片,醫生一邊要兼顧病人的體位,一邊又要到控制檯上來操作,實在不方便,離放射源也近,不如拿個遙控器,遠遠地就可以拍攝了,你說多方便。”
他這麼說,絕影幾個人不約而同地點點頭,周總也確實想到獨到之處。現在什麼東西都有人做,做的多了,競爭就激烈起來,本來大家的技術都差不多,比就比什麼?比誰的設計新穎,誰的設計更人性化,系統是越來越複雜,操作要越來越簡單,就比如Photoshop,東西是好,但學起來太難,起碼得買三五本書,要想稍微提高一點至少還得報上一個培訓班,比學寫程式還難,所以儘管早在大一的時候絕影就打算學Photoshop但直到今天還是什麼也沒學會。
程式設計師的想法往往是所有人都是程式設計師,這麼簡單一個程式,不說你看一眼就懂,至少你擺弄個三五天也應該耍得有模有樣。有這種想法,設計起來就粗糙了,能省的地方就省了,比如軟體配置,就不專門做配置模組了,你自己去修改ini檔案吧,大不了給你寫個文件,哪個Section哪個Key是什麼什麼功能。
可是使用者偏偏和你想的不一樣,想想傻瓜相機這個概念剛出來的時候多火爆,所以你就得把使用者都當成傻瓜,你永遠不要指望他會把滑鼠移到工具欄上停留個三五秒自己去發現上面的Tooltip,最好啥都做成一鍵式,一鍵拍片,一鍵恢復,一鍵出報告,然後在大大的按鈕上把這些用紅色字型都標註得清清楚楚。
周總見大家都很贊同他的觀點,頗有點得地說:“現在遙控器的優先順序要高一些,小絕你先把DAP的專案放一放,這個屬於硬體方面的開發,小張你應該比較瞭解,你好好去調研一下,有什麼問題讓小絕多提供些支援。”
張廠長聽了周總的話,胸有成竹地使勁點頭,想在公司這麼久,被絕影嘲笑自己做玩具都不直到嘲笑了多少次,奈何自己一個搞硬體的偏偏身在軟體公司,有一點鶴立雞群的味道,那些雞不但不覺得自己漂亮,反而嘲笑自己長得太醜。這次可是一次揚眉吐氣的機會。
絕影心裡還是有點不舒服。他覺得周總心裡有偏見,不要說周總,全世界對軟體都有偏見,都覺得硬體好,念初中的時候,老師就說:什麼是硬體?硬體就是看得見摸得著的東西。什麼是軟體?軟體就是看不見摸不著的東西。人們的心態就是這樣,往往更喜歡實實在在捏在手中的東西。早些年佈雷頓森林體系的時候,你跟他說金屬本位制,美元也是硬通貨,直接跟黃金掛鉤的,可人們還是偏偏喜歡黃金,眼看金融危機一來,趕緊把美元全部換成黃金,搞得美國也沒了那麼多金子,不得不放棄美元,美元也變成了貨幣符號,最後害了誰?還不是害了自己,自己辛辛苦苦掙再多錢,不過是貨幣符號而已。
張廠長興沖沖去城隍廟電子市場出了幾次差,每次都抱回一大堆電阻啊,電容器啊,電路板啊這次材料。本來他就愛搗鼓這些玩藝,加上這次都是公費報銷,雖然以他的人品肯定不會中飽私囊,但放在公司裡也差不多就是自己一個人用,當然要儘可能多地充實自己的工具箱。
絕影見他每天都忙得不亦樂乎,忍不住問:“怎麼樣?有眉目了嗎?”
“當然當然,一週下來,還是小有收穫。”
“有啥收穫啊?拿來見識見識。”
聽他這麼說,張廠長小心翼翼地從箱子中翻出手機大一個遙控器,遞給絕影說:“就這個,如何?九鍵的遙控器!”
絕影掂了掂,感覺輕飄飄的,想起小時候買鋼筆,媽媽說要買重的,重的好,從那時候開始,就覺得輕的東西不牢靠。你想黃金啊白金啊這些值錢的東西,哪樣不是沉甸甸的,要說輕,就塑膠這些不值錢的東西才輕。於是問:“這麼輕呀?頂用嗎?”
“當然頂用了。發射功率大,有效範圍30米。”
“不會吧,我家的電視機遙控器拿到門口基本就不能用了,這玩藝能有這麼厲害?”
“我怎麼可能吹牛呢?來我給你試驗一下。”
張廠長說完,從絕影手中接過那個遙控器,三步五步跑到公司外面,絕影跟著他跑過去。出了公司,張廠長說:“不要說10米20米,就是隔道牆,訊號都能過去。”
他一邊說一邊按下上面的鍵,兩個人再進到公司裡面,果然,張廠長桌上電路板上的燈亮了。
絕影見那桌上的東西堆得是七零八落,好多東西都沒見過,原來畫電路圖,電阻一個個都花生那麼大,虧得這次張廠長從城隍廟帶回一大串電阻,才直到原來現在科技進步了,電阻都做得米粒這麼小。
絕影一邊大量張廠長的辦公桌一邊忍不住伸手去拿,張廠長趕緊喝道:“小心,別碰!”嚇得絕影又趕緊撒手。
“這東西就是微控制器,小心,別給我碰壞了。”
“就這麼點大,就是微控制器?”
“當然了,**R Mega16晶片!”
就輕輕碰了一下,張廠長居然對自己大呼小叫,絕影覺得他也太小氣了,他狠不得告訴他:不要說區區一個微控制器,就是數字訊號處理器,老子在大學也早就學過了,而且成績還不奈。雖說張廠長是搞硬體軟體的,可說不定自己一樣也能搞硬體開發。壞就壞在自己當初把學電路的時間都拿去學寫程式去了,要不今天也不至於在張廠長面前如此無知。
周總聽到呼聲,也從辦公室走出來,見張廠長桌上擺滿了電子元件,好像進展不小,便問:“怎麼樣?小張,進度如何了?”
張廠長認認真真地回答:“材料都已經差不多了,就差晶片的開發了。”
“還有什麼問題嗎?”
“目前還有兩個問題。一是還沒有開發板,二是還沒有整合開發環境。”
“那你有什麼打算呢?”
“開發板有三個方案。現在我這裡有一個我同學自己做的開發板,不過他應該不會免費送給我們;二是我們可以去買一個現成的,估計差不多100塊錢;三我們也可以嘗試自己做一個。”
張廠長說完頓了頓,似乎在等待周總。周總皺了皺眉頭問:“自己做,有把握嗎?”
“沒做過。”
“那我們還是不要冒險了。就跟你同學說一下,看他能不能便宜點賣給我們。反正他的東西都借給你用了這麼久了,你上手起來也比較快。”
“嗯。還有整合開發環境。現在有兩個選擇,一是用BASIC語言,有現成的BASCOM,相關的資料和教材我都有;二是用C語言,對這個我不是很熟,網上查了一下,可以用KeilC。”
“BASIC肯定不能用,這裡先否決了。我們一直是用C/C++做開發,技術要能夠為以後做積累。你就去調研下用C語言做吧。有什麼不懂的多問問小絕,他對C語言比較熟。”
用C語言來開發顯然是張廠長不願意,他本來就擅長BASIC,用起來可謂輕車熟路,正因為自己擅長這個,所以雖然在公司呆了這麼久,C/C++方面他還是沒怎麼提高,讓他用C語言來開發,等於是讓他從頭開始學。
不過專案既然已經下來,自己就必須得頂上去,張廠長也是焦頭爛額突擊C語言,居然在一週內有了突飛猛進。原以為應付這麼個小專案應該沒有什麼大問題,但真正做起來,方才覺得書本上的知識實在太有限了。好在公司裡還有絕影撐腰,周總說了,有什麼問題,找他。
絕影看了他的程式,忍不住在心裡笑,所有的變數居然全部定義成全域性變數,寫一個函式判斷第一個引數是否大於第二個引數明明一個return a>b;就行了,他非要寫成if(a>b) return TRUE; if(a<=b) return FALSE; 好在雖然程式寫得糟,但邏輯思路還是正確的,問題就出在和晶片相關的函式呼叫上,那C語言,光一個晶片型別就花了整整幾十K的標頭檔案來定義,看得絕影也是暈頭轉向,只好給他說:“應該是晶片定義的問題,你再好好看看。”
絕影一席話,讓張廠長如獲至寶,趕緊又埋頭忙他的去了。反正絕影又閒得無事,於是向張廠長要了一份晶片官方的開發手冊研究起來。
看了一個下午,想這**R微控制器開發哪裡有那麼複雜,一本開發手冊,一個彙編器,一個下載器足矣。那彙編肯定是難不住自己,大不了要用什麼指令,要怎麼設定標誌位到手冊上查就是了,虧得張廠長還裝個50多M的開發環境。反正現在有流行玩微控制器,普通小市民見面打招呼不外乎就是:“吃飯了嗎?“大老闆們打招呼往往是:“怎麼樣?官司打贏了沒有?”搞技術的人,特別是搞硬體的,打招呼卻是:“最近玩啥板子呢?拿出來研究研究!”絕影雖說學了點微控制器的毛皮,但這種流行的玩藝的確還沒有實際玩過,這次正好什麼條件都有,於是下班的時候,把張廠長拉到一邊,低聲說:“今天晚上,就把你那開發板借我用用吧,我也去過過癮。”
平時難得有絕影向張廠長請教,所以張廠長倒也大方,叮囑了幾句也就把開發板借給了他。
回到家,絕影望著那開發板和晶片感慨萬千,好不容易有個實戰的機會就這麼給浪費了,那太可惜了。要幹就幹個大傢伙,就把那遙控器的晶片程式用匯編寫出來,也拿給張廠長和周總瞧瞧。
其實用匯編來做晶片開發也並非想像中那麼複雜,主要還是這個專案太小,也就是從I/O口取到遙控器的輸入,編碼一下再從I/O口發出去,關鍵是用匯編,中斷控制得自己來做,好在自己當初在學校就專攻了彙編,這玩藝也難不到他。
忙活到半夜三點多,這程式居然還寫了出來,其實總不過一百來行,彙編成HEX再燒到晶片裡,居然才佔了4K空間。
絕影洋洋得意地收起自己的作品,想像一下,你張廠長能做出來又如何?畢竟是你是搞硬體專業的,我不跟你比這個,但是我一個搞軟體的,也還不是一樣做出來了,你能來跟我比軟體開發麼?所以說,拯救世界,征服宇宙,得學彙編。
說有志者事竟成這話一點不假,用在張廠長身上特別適合,經過周總這次委以重任,他還是很快從C語言文盲進步到獨自完成了晶片程式開發的水平。
上交任務這天,他和絕影心裡都揣著小九九。張廠長是基本上獨自一人完成了整個任務,絕影呢,用匯編做出晶片的程式,在BIN體積上佔了很大優勢。這可難到了周總,本來絕影的任務應該是輔助張廠長做上位機的開發,他卻偏偏要搶張廠長的功勞,奈何他又是技術主管,於是他聳聳鼻子說:“小絕用的彙編,小張用的C語言,這樣吧,咱們明天來開個會,決定用誰的程式。”