最近一位讀者詢問下一個轟動控製係統世界的編程語言是什麼?這問題很重要,因為許多係統集成商和應用開發人員都在找尋所謂“正確”的de答da案an。很hen不bu幸xing,沒mei有you一yi個ge唯wei一yi正zheng確que的de答da案an,不bu同tong的de問wen題ti需xu要yao不bu同tong的de語yu言yan。而er幸xing運yun的de一yi麵mian,詢xun問wen和he回hui答da一yi係xi列lie的de疑yi問wen,可ke以yi幫bang助zhu找zhao到dao那na個ge“正確”的語言。這一係列的疑問包括:目標用戶、應用類型、用戶的規模以及長期的支持策略。 首先,需要知道目標客戶群是車間製造用戶還是普通用戶。車間的係統幾乎全部使用Microsoft的軟件,但是普通用戶經常使用Unix或Linux。微軟的對象係統都必須使用一種與其係統能很好的整合在一起的語言,如VB.Net和C#。而Unix和Linux係統則可以有一個更為寬廣的選擇麵,通常都是使用開源的語言。 一個成功的控製實施方案,應該使用一種和控製係統壽命相當的語言。 應用類型也會影響語言的選擇。大多數情況下,如果使用中需要一個功能強大的用戶界麵的話,對於客戶來說javascript和AJAX模式(異步javascript和XML)是最好的選擇。如果使用中要建立數據庫和網絡服務器終端的話,那麼諸如Pearl, PHP, Python或 Ruby腳本語言是很好的選擇。 如果應用中需要的是強大的通訊功能及麵向對象的數據庫,那麼具有強大的類型檢查功能的麵向對象的語言諸如:C++,C#或Java是正確的選擇。如果使用需要實時或準實時的話,那麼諸如C++語言會很好用,因為它可以控製執行周期和加強類型檢查功能。 一yi款kuan編bian程cheng語yu言yan是shi否fou完wan美mei也ye同tong樣yang與yu用yong戶hu庫ku的de理li想xiang規gui模mo及ji長chang期qi的de支zhi持chi戰zhan略lve有you關guan。小xiao的de用yong戶hu庫ku通tong常chang隻zhi有you十shi幾ji個ge裝zhuang置zhi,數shu十shi個ge使shi用yong者zhe。這zhe樣yang的de話hua,一yi種zhong類lei似si於yuVB(Visual Basic)的(de)語(yu)言(yan)是(shi)個(ge)好(hao)選(xuan)擇(ze)。因(yin)為(wei)它(ta)縮(suo)減(jian)了(le)開(kai)發(fa)成(cheng)本(ben)並(bing)且(qie)可(ke)實(shi)施(shi)調(tiao)試(shi)同(tong)時(shi)還(hai)提(ti)供(gong)專(zhuan)業(ye)的(de)界(jie)麵(mian)。由(you)於(yu)用(yong)戶(hu)規(gui)模(mo)很(hen)小(xiao),所(suo)以(yi)維(wei)護(hu)工(gong)作(zuo)必(bi)須(xu)也(ye)簡(jian)化(hua),而(er)類(lei)VB語言可以很容易進行維護。 大(da)用(yong)戶(hu)會(hui)有(you)幾(ji)百(bai)個(ge)裝(zhuang)置(zhi)而(er)且(qie)每(mei)個(ge)裝(zhuang)置(zhi)都(dou)有(you)可(ke)能(neng)同(tong)時(shi)有(you)幾(ji)百(bai)個(ge)用(yong)戶(hu)使(shi)用(yong),一(yi)個(ge)錯(cuo)誤(wu)可(ke)能(neng)會(hui)使(shi)得(de)安(an)裝(zhuang)以(yi)及(ji)升(sheng)級(ji)的(de)成(cheng)本(ben)大(da)大(da)提(ti)高(gao)。大(da)用(yong)戶(hu)庫(ku)通(tong)常(chang)需(xu)要(yao)轉(zhuan)移(yi)的(de)開(kai)發(fa)和(he)測(ce)試(shi)環(huan)境(jing)以(yi)及(ji)一(yi)個(ge)強(qiang)大(da)的(de)類(lei)型(xing)檢(jian)查(zha)功(gong)能(neng)的(de)語(yu)言(yan)如(ru)C#或Java。 許xu多duo客ke戶hu應ying用yong程cheng序xu集ji成cheng商shang都dou將jiang目mu標biao對dui準zhun工gong廠chang製zhi造zao用yong戶hu。他ta們men通tong常chang都dou有you幾ji十shi個ge裝zhuang置zhi,要yao求qiu提ti供gong一yi個ge基ji於yu網wang絡luo的de界jie麵mian,包bao含han一yi些xie數shu據ju庫ku和he通tong訊xun基ji礎chu,並bing且qie一yi般ban不bu需xu要yao實shi時shi控kong製zhi。 我個人對這些應用要求默認的選擇是AJAX模式,在客戶端的用戶界麵使用javascript語言,而在服務器端使用VB.Net語言。服務器端可以用Pearl,Ruby,Python或PHP 語言編寫,但是這些語言都主要是為了XML和網頁所設計,對於普通的控製應用中通訊需要的支持很少。 幾乎可以用所有可得到的語言編寫出成功的應用程序,包括Smalltalk, Lisp, FORTRAN和APL。然而,一個成功的控製應用必須使用一種與控製係統壽命相當的,並且能夠得到成功公司支持的語言。 有(you)些(xie)事(shi)情(qing)對(dui)於(yu)軟(ruan)件(jian)人(ren)來(lai)說(shuo)比(bi)選(xuan)擇(ze)語(yu)言(yan)的(de)討(tao)論(lun)更(geng)為(wei)重(zhong)要(yao)。由(you)於(yu)模(mo)糊(hu)的(de)語(yu)言(yan)架(jia)構(gou)及(ji)語(yu)法(fa)的(de)偏(pian)好(hao),替(ti)換(huan)一(yi)種(zhong)語(yu)言(yan)有(you)可(ke)能(neng)隻(zhi)是(shi)處(chu)於(yu)對(dui)宗(zong)教(jiao)的(de)熱(re)衷(zhong)。無(wu)論(lun)風(feng)險(xian)如(ru)何(he),我(wo)大(da)膽(dan)地(di)預(yu)測(ce)下(xia)一(yi)個(ge)使(shi)整(zheng)個(ge)控(kong)製(zhi)世(shi)界(jie)轟(hong)動(dong)的(de)編(bian)程(cheng)語(yu)言(yan)將(jiang)會(hui)是(shi)麵(mian)向(xiang)小(xiao)用(yong)戶(hu)的(de)javascript和VB.Net和麵向大用戶的javascript和C#。 |