剛開始學C 語言時,其實是學Turbo C 的。
要學視窗時,一開始也是從VB接觸的,後來因為講求專業分工之下。
就很少碰到PC 端的軟體開發環境,但後來學USB 時,因為有時老是受不了
軟體工程師的一些介面整合,就只好硬著頭皮自己自學慢慢接觸 VC...
因為從軟體工程師那邊移交過來的開發環境就是VC 6...一做就是好長的一段時間:
您看VC++ 6 是 1998 年出的軟體...我用他寫了USB ROMTER II 的應用程式,
也利用他發表了許多關於USB DIY 的內容。後來也寫了第一代多核心的IDE 開發環境。
當然也知道後來有出VS 2005 ...但是因為VC6 一直用得很順手,也沒有多大問題。
您看一用就用了十幾年了...心裡想:應該是真的夠用了,老了,就不要老是要跟流行
學一些新的東西,要不然真的會學不完的。
----
結果沒想到...還是栽在USB 的應用裡,其實我也沒有真正的抓到問題點出在哪?
那是因為有位熱心的網友跟我討論一些USB HID 的東西,我當初也是用SiLabs 原廠
的範例程式下去改一些USB HID 的應用程式,發現在他Windows 7 的環境裡...
跑起來怪怪的...這位熱心的網友就很熱心幫我把這一個程式環境轉到他的VS2010 裡,
重新整理一下,然後再跑一次,竟然就沒事了...
當然以C 語言來說:他的程式可攜性是很高的。理論來說:該沒有多大問題。
這是理論。但我想如果是純軟體應用程式應該差異不大,但如果是牽涉到一些周邊條件
的話,譬如就像我常用的 USB 開發環境,那就很難說了。前兩天我不是有提到
那個Multi-thread 的東西嗎?!您想想看:VC6 出來時,那時哪有多核心的東西。
那時軟體工程師一直跟我解釋說:所謂Thread 的程式,您就把他當作有另一棵
CPU 處理器再幫您跑程式就對了。而很不幸的,SiLabs 原廠提供的第一代 USB HID
範例程式就是用Thread 在處理 Interrupt In Token 的資料處理。
之前軟體工程師就一直告誡我說:用Thread 程式來處理周邊裝置時,
您真的要小心一點....什麼是"要小心一點"?對我這個半調子的軟體玩家,怎麼小心?!
出了問題當然就掛了啊。
那我當然要乖一點。就直接聽人家的建議:您的VC 開發環境該升級了啊!
後來我就打個電話給我USB 軟體的啟蒙工程師問說關於這件事時。
他竟然也回答我說:啊~您還在用VC6 喔?!我已經換成 VS2008 很久了啊。
唉~果然注定是個歹命工程師。看來也得升級了。
至於該如何升級?!嘻~嘻~這就是這些軟體工程師大家都知道的『不能說的秘密』。
他們合理的解釋是說:可能反正現在還有工程師願意留在PC 產業裡發展寫應用程式,
而不去投靠iOS 或是 Android 陣營的...對M$ 來說:已經是阿彌陀佛了。
所以,我現在也算是大躍進:從1998 VC6 跳到 VS 2008...十年大躍進。
其實剛開始還是有點不太適應這個新環境...但我說了:只要您找一個明確的系統應用個案。
很快的您就可以好好駕輕就熟了。當然重點是:其實大部分的VC6 的程式 VS2008 都
能吃得下。重點還是我說的:這十幾年來PC 的CPU 處理器有很大的進展,或許真的
那個舊版的 VC6 已經不合時宜了。
以M$ 的官方說法,也是強烈建議大家從VC6 轉換成 VS2008 ...尤其是您碰到
Win7 (VISTA) 的作業平台。看來為了大家USB DIY 未來的發展,大家還是
跟著腳步吧!....若以USB 系統發展來說:感覺至少應該比VB 好一點吧。
還是大家有更好的建議呢?!
如果是要強化PC端介面 人性化
回覆刪除Delphi 開發 會比VC 快又容易
最近 硬是把SI USB 轉成功到Delphi了,, 加加減減一些介面更方便多了
大大 既然跳跨到VC2008,建議可以直接跳到vc2010 省得下一次又要跳一步
我也因為USB example code,從vc6,vc2008轉到vc2010[匯入舊code比較準一點],,
最終目標還是想要轉成Delphi
謝謝您的建議。
刪除應用開發軟體真的,要學是永遠學不完的。我自己的經驗是:
若是一味地到處跟著學,反而不專精...我自己學軟體的目的,
也只是想一個簡單的事情做完而已...用來驗證一些系統的基本問題。
如果真的要做到可以拿到台面上的話。
我們還是盡量交給比較專業的軟體工程師比較好。
----只是有很多老闆不懂這個差異,以為事情做完就好像一切都搞定了...
結果,都是工程師們自己在給自己壓力,覺得好還要再好,
就自己硬著頭皮趕鴨子上架...搞到最後還是累得像一條狗,
也沒有比較大的成就感。老闆還質疑說:怎麼明明作得好好的,怎麼
越來越沒效率似的...唉~心事誰人知啊! :(( ....
所以說其實還沒抓到 root cause.
回覆刪除其實 vc6 有一大堆問題,你在 vc6 下開發出來的東西是不標準的,所以有時會寫出有問題的 code,而剛好在 vc6 下卻沒事,然後一移植就出包了。
嗯...或許是吧。我自己都承認寫PC 軟體程式是半桶水了。
刪除至於還要不要去抓那個Root cause?!...我想就像現在應該沒有人
會在乎以前那些 Win98 或window 2000 /NT 的問題一樣。
有了VS2008/VS2010了...就不要再想VC6 了。
否則:M$ 幹嘛要改版呢?!或許他們自己也懶得去處理VC6 的問題吧。
:> ....
相當贊同
回覆刪除