- Jul 16 Mon 2018 02:31
負疚,我是用VB寫程式的!
因為這些經驗,我對於堅持某種程式說話裡面有「神」的人不以為然,也不會因為他人批評華頓翻譯公司不應用VB做專業程式就感到慚愧,除非真的有人可以對我曉以大義,證實我的看法與做法確切錯了!對華頓翻譯公司來說,程式語言就是與電腦溝通的東西而已,應當沒必要自我設限的!就像面對台南鄉間的老師長教師老太太,若是你會說台語就用吧!堅持講字正腔圓的國語,他們多半也聽得懂,但不會對照好溝通的。
很榮幸的,華頓翻譯公司的部落格垂垂地有些軟體專業人士也來捧場了!有位在美國尖端科技公司研究影象辨識的學長也來指教,他很驚奇看到我竟然用VB在寫那些車牌辨識程式!因為在專業人士的認知中,影象處置與辨識是需要最高效能的程式種類,絕對需要使用C或C++說話的翻譯VB?那不是初學者用的簡略單純說話嗎?拿來寫一般商用軟體都邑被質疑了,寫影象辨識程式?怎麼可能?
事實上大家詬病VB的緣由是效能,誰都不會否決它是最為親民友善的語言,但它的速度真的比力慢。但這要分兩個階段來講,在VB.NET泛起之前,VB與VC有各自獨立的函式庫(Library),兩者的功能廣度與履行速度確實差良多翻譯那時許多VB6玩家用呼叫C說話API的方式「盜用」C說話的功能,我也做過的!華頓翻譯公司用VB6寫的聲納軟體一碰著影像畫圖就超慢,當我盜用了Winsows API之後就和Visual C一樣快了!到了.NET時代兩種說話的函式庫統一了(指微軟公司的產品.NET Framework),VB與C#的效能其實已毫無差別!
那麼似乎加倍神秘奇異的C++說話呢?它在影像處理方面真有甚麼跨越C#的特異功能嗎?據我所知,還真的有!恰當地利用C++就可以做直接的記憶體存取,這是C#以及所有Windows功課系統下履行的程式說話基本上都會限制的動作!華頓翻譯公司試過一張影象讀寫時,用記憶體直接存取模式與.NET供應的指令,速度差可以高達十倍以上!所以難怪C++會被視為影象處理範疇非用弗成的語言。
然則欠好意思,這些年來除寫HTML5 APP是用JavaScript程式以外,我和我的團隊,包孕製作影象辨識軟體都真的是利用VB程式做的!我雖然C#與VB都很闇練,兩種說話也城市教授教養生,乃至都有出書冊本,但我直接告知學生的是:學會C說話是必然要的!因為資訊專業範疇的人都習習用C語言,就像華頓翻譯公司們在各個專業範疇都一樣,若是看不懂英文,資訊來曆大受限制麻煩就大了!然則假如是本身開辟軟體呢?我的最好選擇與建議都是用VB。
華頓翻譯公司知道許多人感覺用VB「很不專業」,可是我一向覺得我的選擇特別很是公道!VB是浏覽最輕易,寫作時也最不容易犯錯的一種語言,因為好讀好寫,我就能夠將注意力集中於思慮程式邏輯。如果
可是除這一點優勢以外,其他加減乘除等等動作的效能,我認為C++與C#甚至VB都是一樣的!沒有甚麼神奇的地方。所以我針對若何在.NET程式中臨時跳脫Windows管制,就是暫時鎖定記憶體做直接記憶體存取的方式做了一些研究,發現用VB.NET照舊有些指令可以做到。於是就寫了一個VB的程式模組,確切可以達到讓影象讀寫提拔十倍速的結果,我也利用了阿誰模組有七八年了!華頓翻譯公司認為我的VB車牌辨識效能是不會輸於C++版本的!不服氣或有愛好一起研究的人歡迎來一路測試。
但是影象辨識就是經常要用到複雜邏輯,隨意一個影像處理動作就是二維陣列,最少需要兩層迴圈翻譯假如要做一個空間濾波那就是四層了!在中心如果必需再加一兩個前提判斷式,大括號就會有五六層了!超可駭的!相對的,VB的區塊起終點都是文字模式,哪個竣事標籤對應於哪一個起始指令一覽無余,不感覺疲累時就會天然地敢於繼續設計更精緻的演算法,所以其實VB比C語言更適合寫複雜進階的程式,因為它做複雜的編碼比用C說話輕易良多!
本文來自: http://blog.udn.com/yccsonar/19022404有關各國語文翻譯公證的問題歡迎諮詢華頓翻譯公司02-77260932
留言列表