close

如果說起寫軟體這件事,應該就得從學校說起,但是以前在學校寫的程式,


都是純粹學術用軟體程式,也沒有什麼美美的畫面或是像樣的人機介面。


但也不能怪學校啊~因為那時唸書時,所謂PC 個人電腦也都還是 80286 時代,


而且還分那個AT/XT 等級...那就更不用有什麼圖形介面卡了,怎麼寫美美的程式啊?


---


記得...我以前為了學寫程式,還特地去別系的電腦課上課,因為他們上的是PASCAL 語言,


結果我發現我這個旁聽的~比他們原班上同學還認真,雖然很低調的每次都盡量坐在


教室的角落裡...結果都因為蹺課的人數多,我總覺得我好像是坐在第一排似的!


(關於跑到別人系上上課這件事也不只這門課,也跑去過工程科學系去旁聽微處理器課~


不過,兩者相較之下...微處理器課比較吃力,二來他真的離我的宿舍比較遠...)


後來之所以可以找到第一份工作,也不是因為念的科系,竟然是我在學校寫過程式,


在WorkStations 操作上有一些經驗...(這是我事後問我的部門主管錄取的原因!)


以那個年代來說:已經很不容易了。因為我在學校摸過的WorkStation 有SGI ,


Sun,HP,還有Digital (迪吉多)...等等。(因為幫系上教授打工,幫忙管理這些


Workstation...所以,打工還是蠻有用的。)...結果很諷刺的是:後來去上班要用的


WorkStation 竟然是沒碰過的:IBM 的AIX 系統。 


----


後來一進入職場之後,PC 個人電腦的裝置就一日千里...只不過那時候的電腦配備如果


要好一點的,譬如幾十MB 的硬碟啊...或是有一張可以顯示彩色的顯示卡...都是貴森森的。


不過~因為我們是研發一線單位,所以這些東西還是比較容易接觸得到。


雖然學校基本的啟蒙語言是那個 10... 20... 30 ...的BASIC 語言。工作部門用的是:


Quick BASIC...但對BASIC 就是覺得很不上手。當然畢業做研究用的是 FORTRAN。


---


後來呢?我看到另一個部門的一位工程師是用 Turbo C 寫了一支測試軟體,


畫面還蠻好看的...我就很主動的跟他要了程式碼,然後也剛好在工作上需要寫一支類似的


測試程式,從此就完成了我生平第一支比較像樣完整的程式:



當然啊,這一種測試程式多多少少還是需要一些外接控制卡...


不過,我自己用的是:RS232...也算是我第一支有PC 介面程式吧。


當初也只是很單純的想寫這樣一支程式,也沒有特地的目的。但我的主管還是給予我


很大的發揮空間...讓我盡情的發揮,也讓我這一支程式可以納入計畫的成果與績效。


後來我也才知道:單位還賣了這一套軟體給了機車廠。


我還是非常謝謝當初一直很支持我的主管,就是今年電視廣告很紅的宏佳騰機車的


研發副總 --- 黃先生。他今年年初還跟我說:他後來看了許多引擎調教軟體,還是覺得


我寫的軟體對於他們這些一線的引擎工程師來說:還是比較簡潔明確的感覺。


---


後來因為Windows 的作業系統出現了,我還一度用了VB (那時好像是VB3.0) 寫了


一隻程式。雖然可以很快的寫出一隻畫面美美的程式,但總決得不怎麼喜歡,也沒特別的


成就感。...所以,這一隻程式也沒有留下任何蛛絲馬跡了。


------


後來去了園區上班,因為專業分工的原因,就很少有機會碰到寫AP 的機會了。


最後呢?還是為了幫我的USB ROM emulator 寫一隻USB 應用程式,我就不得不硬著頭皮


下來寫VC 的MFC 程式,比起以前寫那個簡單的Turbo C 來說:多了許多OOP 或是


奇奇怪怪的繼承...的語法,的確讓我吃盡了苦頭。...我記得我整整關在家裡摸熟這些東西


還真的花上三個月,還讓賈老師誤以為我整天無所事事,後來搭配了ROM Emulator 出貨


時,賈老師才真正體會到:原來研發工作真的是要要蹲一陣子的~然後就可以回收成果的!



所以這一隻軟體程式是搭配硬體的商業軟體...它是屬與MFC 裡那一種所謂Dialog 型軟體。


當然我自己的感覺是:應該還不算寫得很好的一隻軟體,...您看我後來寫的那一支


ISP 燒錄器的範例程式,是不是就漂亮多了?!



----


您看還包括了一些燒錄器常用的畫面:



但畢竟這些都不是主要的功能,這個東西主要的還是在於銷售硬體的。


這也是我們台灣搞電子的習性,其實後來我有機會跟國外合作開發一些東西...


我們老是習慣說:當老外客人有什麼需求時,我們都很樂意的幫忙修改程式,因為我們心裡


想的還是如何賣硬體...結果每次我們跟客人說:我們需要修改程式時,老外都很緊張...


因為在他們觀念裡,改軟體程式那是要額外Charge 費用的。我想這是一種行銷觀念。


但我們相對的老中的業務生意頭腦喜歡交朋友,半買半相送...結果無形中被犧牲的就是


軟體工程師的價值,也無形中扼殺了軟體工程師追求自我成長的機會。


------------


後來,我的老長官當初需要一位可以幫忙USB 介面,甚至可以寫一點PC AP 軟體的人,


我就跑去幫忙,也算很雞婆的把一些東西接下來做:就是寫一支很初步的MCU 的IDE Tools。


當然我自己心裡也很明白,我是不可能可以寫出一支像Keil C 這樣子的一支程式的。


但我還是願意嘗試說:做做看。--- 我想我在這裡講應該沒有太多問題了,因為這已經是


五六年前的事了,而這一支程式也在市場上消失了。(如果有意見者再跟我說吧!)


寫IDE Tools 是一定會用到所謂的MDI 環境(相較於SDI 或是Dialog )。


他的複雜程度真的很高,然後還要做出Debug 環境中許多Watch/View 甚至Break Point


的攔截...當然啊...他的重點也還是在於USB 硬體介面的處理...



當然為何要自己一個人搞定?!很簡單..因為這中間還牽涉到硬體介面的通訊協定,


自己一個人可以搞定的話,效率最好了。驗證時間可以大大縮短,對於那一種


一開始都不知道系統如何架設時,最有效率的!


----


對於 Keil C 的開發環境來說:最令人詬病的地方是,他就只是一個單純的IDE Tools ...


他沒有硬體上燒錄功能,這些往往需要各家硬體公司自行處理。


所以我當初也就順便把燒錄功能也整合到IDE Tools 裡了...



其實,寫軟體可以寫到這樣子,我想應該也可以"出師"了...至於要不要寫到像人家那一種


動輒要Licence code...又要Upgrade Fee 的...說真的...我能搞的還是台灣人的那一套:


軟體是拿來促銷硬體的一個商業手法。那您覺得您要花多少開發成本在軟體開發工作上呢?


這也就是我為何還是得自己多多少少寫寫看了...說來說去~連我也跑不掉這樣的宿命。


至少據我所知:以前有人問過我關於USB 從底層打通上層AP 時,要花多少錢?!


現在行情我不知道...但在約五六年前聽過一個數字:45 萬元,還不包括給Source Code。


其實,他也只不過幫您建了一套類似USB Tools 的功能。


您不要覺得很貴~說真的~若真正以一個產品來看:我覺得還好~當然啊,您總不能拿那些


阿貓阿狗的那一種隨機附的軟體或系統工具來算...因為從這樣子的USB的程式來看產品


背後的許多眉眉角角,有時您真的很難從帳面上的數字來論斷。--- 這個就是人家老外一聽


修改程式軟體時,會以很嚴肅的態度來考量。我想這是我一直在文中強調的系統整合價值。


這也就是我也為何一直想自己寫寫這些應用軟體程式的原因。


當您只是寫寫一個單純的單晶片應用韌體時,您看到的也只不過是一個單純的產品觀念。


但當您再把這樣的產品觀念又可以延伸到另一個平台時,那就又代表您可以把您的產品


觀念又帶進另一個領域:這不就是我們近年來一直強調的雲端產品觀念嗎?!


所以,如果您是一位軟體工程師,您也不要常常會有一些抱怨,或是您是在搞韌體程式的


工程師...真的~現在在這個行業裡,您說您會寫程式,不管是VC 、VB 或是什麼Delphi...


或甚至寫那個Andriod 或一個APP...說真的~那些都不是重點,難道以老外他們創造這些


軟體開發工具時,他不知道他們寫軟體的功力會比您們老中好?!比得上印度人嗎?


重點還是我說的:您真的要去想的是:當我一旦會了這些東西,那我該拿來做什麼?!


我可以拿來創造出怎樣的一個不同的系統產品觀念?!我想這是我這一篇文章想傳達給各位


或由衷的一種期望吧!---也算是拋磚引玉的一個楔子吧!


------------------


-----------------------


電子自學學習心得回憶(四)


電子自學學習心得回憶(三)


電子自學學習心得回憶(二)



電子自學學習心得回憶(一)



arrow
arrow
    全站熱搜
    創作者介紹
    創作者 賈老師的真老公 的頭像
    賈老師的真老公

    ChamberPlus System Level Studio

    賈老師的真老公 發表在 痞客邦 留言(3) 人氣()