1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      為何嵌入式開發(fā)人員對Ada不感興趣?

      更新時(shí)間: 2009-05-05 10:54:13來源: 粵嵌教育瀏覽量:1346

       一次又一次的民意調(diào)查顯示,即使四分之一個(gè)世紀(jì)過去了,在嵌入式領(lǐng)域,Ada還是沒能獲得可觀的市場份額。然而,數(shù)據(jù)明顯表明:用Ada編寫的程序比用C編寫的程序缺陷更少,并且交付更快。

          Ada編譯器都由Ada合格評估測試套件(ACATS)充分評估。的Ada編譯器GNAT可免費(fèi)從GPL獲得。    

          Ada完全是為高可靠性嵌入式應(yīng)用而設(shè)計(jì)。在這方面,無論C還是C++都無法相比。RavenscarProfile更加精妙的針對實(shí)時(shí)嵌入式系統(tǒng)。任務(wù)分配是內(nèi)置功能,無需RTOS供應(yīng)商額外提供。    

          你可能認(rèn)為“更快,更好并且免費(fèi)的工具”將是相當(dāng)吸引人的理由,但是它卻沒能說服大部分人。這為什么呢?    

          這可能不是任何效率低下的原因所致。AdaCore的主席RobertDewar告訴我,與C語言相比,即使采用所有運(yùn)行時(shí)檢查,所獲得的性能預(yù)期雖然不會(huì)超過20%,但大約能達(dá)到10%。    

          或許我應(yīng)該界定“運(yùn)行時(shí)檢查”,因?yàn)檫@個(gè)概念和C語言性質(zhì)不同。Ada會(huì)尋找錯(cuò)誤條件,例如被0除等。你甚至可以定義整數(shù)的非法范圍。但在C語言中,我們可以這樣寫:

          num_doses=0;

          morphine=patient_pain/num_doses;

          dispense_morphine(morphine);    

          我們不能將其歸咎于缺乏編譯器。AdaCore已經(jīng)將GNAT移植到大部分主流的16和32位CPU上。    

          根據(jù)我的經(jīng)驗(yàn),剛接觸Ada的開發(fā)人員通常討厭這種語言。要獲得可編譯的源代碼顯得非常困難。但是,經(jīng)歷了三個(gè)Ada項(xiàng)目后,大部分程序員學(xué)會(huì)喜歡上這種語言。當(dāng)然,他們投入了更多努力,用來編寫正確的代碼(這當(dāng)然是好事情),但是他們節(jié)省了大量調(diào)試的時(shí)間。    

          正如一位記者RichRies給我寫的信所言:“Ada之所以不能成功,或許類似于我們對健康生活方式的態(tài)度-有時(shí)我們都知道應(yīng)該那樣做,但卻很少真正去實(shí)踐!”

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲另类欧美综合久久图片区 | 专区在线一区二区 | 亚洲香蕉网久久综合影视 | 伊人久久大香线蕉综合5g孕妇 | 思思99思思久久最新精品 | 一级电影在线亚洲 |