監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

基于業(yè)務(wù)解析的第五代計(jì)算機(jī)語(yǔ)言

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

1946年2月14日世界上第一臺(tái)電子數(shù)字計(jì)算機(jī) ENIAC誕生,驗(yàn)證了馮.諾依曼的EDVAC計(jì)算機(jī)體系的正確性并一直運(yùn)用至今,歷經(jīng)了數(shù)次的硬件更新?lián)Q代,信息技術(shù)以驚人的速度進(jìn)步,英特爾(Intel)創(chuàng)始人之一戈登·摩爾(Gordon Moore)提出:集成電路上可容納的晶體管數(shù)目,約每隔18個(gè)月便會(huì)增加一倍,性能也將提升一倍,也就是說在付出成本不變的情況下,每隔18個(gè)月計(jì)算機(jī)的性能將翻一翻。在二進(jìn)制機(jī)器語(yǔ)言的基礎(chǔ)上,面向各種應(yīng)用涌現(xiàn)了許多通用或者特定領(lǐng)域的語(yǔ)言,大多數(shù)都曇花一現(xiàn),然而也有一些語(yǔ)言如Java和C被廣泛應(yīng)用,究其原因最重要的還是符合用戶需求發(fā)展的一般規(guī)律。用戶需求驅(qū)動(dòng)產(chǎn)生了一批影響較高的適合特定領(lǐng)域的編程語(yǔ)言,如通用商業(yè)語(yǔ)言COBOL,腳本語(yǔ)言Javascript,數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)查詢語(yǔ)言SQL,數(shù)學(xué)計(jì)算的MATLAB,數(shù)據(jù)分析的SAS,邏輯推理的Prolog等,這些語(yǔ)言都很好地解決領(lǐng)域里的專業(yè)問題。然而,語(yǔ)言的腳步并沒有因此停止下來(lái),面對(duì)更高的復(fù)雜的應(yīng)用需求,這種演繹將持續(xù)演繹下去。

60年代中后期,軟件越來(lái)越多,規(guī)模越來(lái)越大,而軟件的生產(chǎn)基本上是各自為戰(zhàn),缺乏科學(xué)規(guī)范的系統(tǒng)規(guī)劃與測(cè)試、評(píng)估標(biāo)準(zhǔn),其惡果是大批耗費(fèi)巨資建立起來(lái)的軟件系統(tǒng),由于含有錯(cuò)誤而無(wú)法使用,甚至帶來(lái)巨大損失,軟件給人的感覺是越來(lái)越不可靠,以致幾乎沒有不出錯(cuò)的軟件。這一切,極大地震動(dòng)了計(jì)算機(jī)界,史稱“軟件危機(jī)”。軟件界不禁探究:大型程序的編制不同于寫小程序,它應(yīng)該是一項(xiàng)新的技術(shù),應(yīng)該像處理工程一樣處理軟件研制的全過程,程序的設(shè)計(jì)應(yīng)易于保證正確性,也便于驗(yàn)證正確性。1969年,提出了結(jié)構(gòu)化程序設(shè)計(jì)方法,1970年,第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言—Pascal語(yǔ)言出現(xiàn),標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期的開始。80年代初開始,在軟件設(shè)計(jì)思想上,又產(chǎn)生了一次革命,其成果就是面向?qū)ο蟮某绦蛟O(shè)計(jì)及其以后十幾年的各種編程框架思想的涌現(xiàn),J2EE、.NET、以及各種MVC框架支撐并推動(dòng)面向?qū)ο蟮睦^續(xù)探索,隨后國(guó)際從事軟件開發(fā)和語(yǔ)言研究的知名機(jī)構(gòu)提出了構(gòu)件化的軟件編程思想,并積極研究基于構(gòu)件化的開發(fā)語(yǔ)言,YiGo厚積8年后化繭成蝶。

后對(duì)象時(shí)代  構(gòu)件思想主導(dǎo)程序開發(fā)

面向構(gòu)件的規(guī)劃可以理解為面向?qū)ο笤O(shè)計(jì)的新層次。面向構(gòu)件的開發(fā)是一種軟件開發(fā)手段,在開發(fā)周期的所有階段,都以構(gòu)件為基礎(chǔ),包括需求分析、設(shè)計(jì)、測(cè)試、支撐性技術(shù)架構(gòu)、項(xiàng)目管理等。這個(gè)概念把面向構(gòu)件的開發(fā)擴(kuò)展到用面向構(gòu)件的思想來(lái)設(shè)計(jì)和實(shí)現(xiàn)軟件系統(tǒng),它在軟件開發(fā)周期的各個(gè)階段和各個(gè)方面都以構(gòu)件為中心,這跟基于構(gòu)件不同,比基于構(gòu)件又先進(jìn)了一點(diǎn)。設(shè)計(jì)構(gòu)件的目的是為了構(gòu)件可以像零部件一樣用于組裝,把構(gòu)件設(shè)計(jì)成項(xiàng)目的零件,此時(shí)面向構(gòu)件就比基于構(gòu)件更有優(yōu)勢(shì)。

一切應(yīng)用系統(tǒng)的開發(fā)都是從業(yè)務(wù)需求出發(fā)的,最終目的也是為了處理好業(yè)務(wù)問題。系統(tǒng)分析員按照業(yè)務(wù)特性把系統(tǒng)劃分為各個(gè)子系統(tǒng),又把子系統(tǒng)劃分為各個(gè)功能模塊,便形成了構(gòu)件業(yè)務(wù)化拆分邏輯。與“業(yè)務(wù)驅(qū)動(dòng)”相一致,構(gòu)件業(yè)務(wù)化是從業(yè)務(wù)的觀點(diǎn)來(lái)分析構(gòu)件,使得業(yè)務(wù)和構(gòu)件相結(jié)合,從而面向構(gòu)件可以更好的構(gòu)建業(yè)務(wù)模型和業(yè)務(wù)流程。應(yīng)用開發(fā)以技術(shù)為中心,業(yè)務(wù)人員和開發(fā)技術(shù)相分離,也使得用戶需求、設(shè)計(jì)和開發(fā)相分離。構(gòu)件業(yè)務(wù)化,是面向構(gòu)件技術(shù)發(fā)展的必然,提高了業(yè)務(wù)構(gòu)件的復(fù)用及適應(yīng)業(yè)務(wù)變化的能力,使企業(yè)能夠通過自身和業(yè)務(wù)(構(gòu)件)的轉(zhuǎn)換來(lái)應(yīng)對(duì)來(lái)自市場(chǎng)的挑戰(zhàn)。

但是構(gòu)件的行為是離不開對(duì)象的,構(gòu)件一般都包含了若干類或者原型對(duì)象。構(gòu)件中還包含了一些固定的對(duì)象,它們被構(gòu)件用來(lái)獲取默認(rèn)的初始狀態(tài)和其他的構(gòu)件資源。而構(gòu)件中不一定要包括類,構(gòu)件可以用過程體,全局變量,函數(shù)語(yǔ)言,匯編語(yǔ)言或者其他可用方法來(lái)實(shí)現(xiàn)自身的全部特性,構(gòu)件中所包含的對(duì)象可以與該構(gòu)件相分離,對(duì)于其他構(gòu)件也是可見的。一個(gè)構(gòu)件中可以不包含類元素,也可以包含一個(gè)或多個(gè)類元素,但是一個(gè)類元素只能讓一個(gè)構(gòu)件使用,除此之外,和類之間有繼承關(guān)系相同,構(gòu)件之間也存在這一些互相依賴的關(guān)系,一個(gè)構(gòu)件中包含了一個(gè)類的父類但不一定包含它的子類,如果一個(gè)類的父類在一個(gè)構(gòu)件中,類的子類在其他構(gòu)件中,這兩個(gè)類之間的繼承關(guān)系就是跨構(gòu)件,而且類之間的繼承關(guān)系還導(dǎo)致了這兩個(gè)構(gòu)件之間的導(dǎo)入關(guān)系。規(guī)約的繼承是保證正確性的一項(xiàng)很關(guān)鍵的技術(shù),因?yàn)楣餐囊?guī)約是構(gòu)件間達(dá)成共識(shí)的基礎(chǔ)利用構(gòu)件使項(xiàng)目結(jié)構(gòu)更清楚,程序容易維護(hù),代碼重用性強(qiáng)。

計(jì)算機(jī)語(yǔ)言正本清源

一般來(lái)說,計(jì)算機(jī)語(yǔ)言分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。

機(jī)器語(yǔ)言是由01組成的數(shù)字序列,如某種計(jì)算機(jī)的指令為1011011000000000,它表示讓計(jì)算機(jī)進(jìn)行一次加法操作,而指令1011010100000000則表示進(jìn)行一次減法操作,其前八位表示操作碼,而后八位表示地址碼。從上面兩條指令可以看出,它們只是在操作碼中從左邊第0位算起的第7和第8位不同,這種機(jī)型可包含256個(gè)不同的指令,機(jī)器語(yǔ)言或稱為二進(jìn)制代碼語(yǔ)言,計(jì)算機(jī)可以直接識(shí)別,不需要進(jìn)行任何翻譯,并且對(duì)不同型號(hào)的計(jì)算機(jī)來(lái)說一般是不同的。

匯編語(yǔ)言是用特定的符號(hào)來(lái)代替某些操作,幫助記憶與學(xué)習(xí)。在匯編語(yǔ)言中,用助記符(Memoni)代替操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替地址,再由匯編程序?qū)R編語(yǔ)言書寫的程序翻譯成與之等價(jià)的機(jī)器語(yǔ)言,因此,和機(jī)器語(yǔ)言一樣,匯編語(yǔ)言依賴于具體的機(jī)型,不能通用,也不能在不同機(jī)型之間移植,針對(duì)蘋果機(jī)和惠普機(jī)相同的功能要開發(fā)兩套程序。

高級(jí)語(yǔ)言主要是相對(duì)于匯編語(yǔ)言而言,它并不是特指某一種具體的語(yǔ)言,而是包括了很多編程語(yǔ)言,如目前流行的C#,Java,vb.net、c/c++、foxpro、delphi等,這些語(yǔ)言的語(yǔ)法、命令格式都各不相同。在這些語(yǔ)言中我們可以寫這樣的句子:c=a+b,它是將a與b相加,然后將結(jié)果給c,高級(jí)語(yǔ)言是面向人類而不是面向機(jī)器的語(yǔ)言,不用考慮異構(gòu)機(jī)器內(nèi)部構(gòu)造的細(xì)節(jié),只需關(guān)心任務(wù)的實(shí)現(xiàn)方法。

高級(jí)語(yǔ)言克服了異構(gòu)硬件的程序移植問題,計(jì)算機(jī)不直接執(zhí)行高級(jí)語(yǔ)言,而是需要經(jīng)過編譯程序?qū)⑵滢D(zhuǎn)換成機(jī)器指令,然后計(jì)算機(jī)才執(zhí)行。從編譯的方式上分為解釋型的高級(jí)語(yǔ)言和編譯型的高級(jí)語(yǔ)言兩種。

高級(jí)語(yǔ)言又分為過程性語(yǔ)言、面向?qū)ο笳Z(yǔ)言、非過程性語(yǔ)言和管理解析語(yǔ)言等四個(gè)發(fā)展階段。

過程性語(yǔ)言是指編寫的程序包含一系列的描述,告訴計(jì)算機(jī)如何執(zhí)行這些過程來(lái)完成特定的工作,適合于那些順序的算法,用過程性語(yǔ)言編寫的程序有一個(gè)起點(diǎn)和一個(gè)終點(diǎn),程序從起點(diǎn)到終點(diǎn)執(zhí)行的流程是直線型的,即計(jì)算機(jī)從起點(diǎn)開始執(zhí)行寫好的指令序列,直到終點(diǎn)、如BASIC、COBOL、FORTRAN、Pascal、C等都是過程性語(yǔ)言。

面向?qū)ο笳Z(yǔ)言是建立在用對(duì)象編程的方法基礎(chǔ)之上的。對(duì)象就是程序中使用的“實(shí)體”或“事物”,按鈕、菜單、對(duì)話框都是對(duì)象。對(duì)象是基本元素,在面向?qū)ο蟪绦蛟O(shè)計(jì)中只需考慮如何創(chuàng)建對(duì)象以及創(chuàng)建什么樣的對(duì)象;另外同一對(duì)象可用在不同的程序中,這無(wú)形中擴(kuò)大了程序員的生產(chǎn)率。被一致認(rèn)可的是:C++是支持面向?qū)ο蟮腃語(yǔ)言,Java和J++是以C++為基礎(chǔ)的更適于網(wǎng)絡(luò)應(yīng)用的面向?qū)ο笳Z(yǔ)言,Java和J++尤其適于生成網(wǎng)頁(yè)上栩栩如生的圖畫和稱為applet的Java應(yīng)用程序。

非過程性語(yǔ)言只需程序員具體說明問題的規(guī)則并定義一些條件即可。意思就是你只用說做什么,具體怎么做不需描述,語(yǔ)言自身內(nèi)置了方法把這些規(guī)則解釋為一些解決問題的步驟,這就把編程的重心轉(zhuǎn)移到描述問題和其規(guī)則上,而不是數(shù)學(xué)公式。因此,非過程型語(yǔ)言更適合于思想概念清晰但數(shù)學(xué)概念復(fù)雜的編程工作,如數(shù)據(jù)庫(kù)查詢SQL語(yǔ)言和邏輯式語(yǔ)言Prolog就是非過程性語(yǔ)言的代表,SQL只需程序員和用戶對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)元素之間的關(guān)系和欲讀取信息的類型予以描述,邏輯式語(yǔ)言的語(yǔ)義基礎(chǔ)是基于一組已知規(guī)則的形式邏輯系統(tǒng),被廣泛應(yīng)用于各種專家系統(tǒng)的實(shí)現(xiàn)。

管理解析語(yǔ)言基于高層次的業(yè)務(wù)需求,涵蓋企業(yè)管理軟件開發(fā)的特定概念和抽象,由低層次的實(shí)現(xiàn)細(xì)節(jié)和具體事物抽象而來(lái),據(jù)有字典、單據(jù)、報(bào)表、工作流、審批流等管理業(yè)務(wù)描述的快速實(shí)現(xiàn),以最小的、不可拆分的業(yè)務(wù)規(guī)則作為管理解析語(yǔ)言的基本粒度,按照管理邏輯進(jìn)行組合,形成特定管理業(yè)務(wù)的標(biāo)準(zhǔn)實(shí)現(xiàn)。YiGo語(yǔ)言是第一個(gè)實(shí)現(xiàn)管理解析思想的計(jì)算機(jī)語(yǔ)言,擁有軟件開發(fā)的原子邏輯以及N多管理業(yè)務(wù)的分子操作及其界面元素,實(shí)現(xiàn)了對(duì)硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)的透明操作。

YiGo化繭成蝶

YiGo扮演這樣的角色:一種將技術(shù)和業(yè)務(wù)分離開來(lái),最大程度弱化用戶對(duì)技術(shù)的依賴,只需通過業(yè)務(wù)描述來(lái)推動(dòng)技術(shù)實(shí)現(xiàn),這種業(yè)務(wù)解析的技術(shù)實(shí)現(xiàn)機(jī)制是將用戶的需求描述成XML文檔,通過YiGo解析技術(shù)在集成開發(fā)環(huán)境中自動(dòng)生成系統(tǒng)應(yīng)用??梢钥闯觯粋€(gè)系統(tǒng)應(yīng)用的產(chǎn)生主要分為兩個(gè)步驟,一是描述用戶的需求生成XML,二是解釋XML生成系統(tǒng)應(yīng)用,這種簡(jiǎn)單的程序開發(fā)模式,使得編程不再是技術(shù)人員的專利,熟悉業(yè)務(wù)的人員也許做的更好!

程序升級(jí)本質(zhì)上就是需求重新定義或者修改的過程,反映在業(yè)務(wù)解析技術(shù)上就是導(dǎo)入原來(lái)的需求描述XML文件,修改相關(guān)屬性,重新生成滿足要求的XML文件,再提交自動(dòng)解析生成新的系統(tǒng)應(yīng)用。在這個(gè)過程中,解釋完全由系統(tǒng)執(zhí)行,用戶只需清晰描述需求,因此,極大降低了二次開發(fā)的風(fēng)險(xiǎn)。

這不僅是一次技術(shù)的變革,更是一種思維模式的變革,一種程序快速交付模式的實(shí)現(xiàn)。

因此,考慮到語(yǔ)法語(yǔ)義及人類思維模式的匹配等構(gòu)成要素,計(jì)算機(jī)語(yǔ)言經(jīng)歷了五次變革,相應(yīng)產(chǎn)生了五代語(yǔ)言體系:第一代計(jì)算機(jī)語(yǔ)言匯編語(yǔ)言具備了語(yǔ)法語(yǔ)義基本形態(tài),第二代過程性計(jì)算機(jī)語(yǔ)言克服了對(duì)硬件的依賴,實(shí)現(xiàn)了程序?qū)崿F(xiàn)了不同硬件平臺(tái)的可移植,第三代面向?qū)ο笥?jì)算機(jī)語(yǔ)言反映了人類意識(shí)形態(tài)的特點(diǎn),基于“實(shí)體”“對(duì)象”編程方法的運(yùn)用,使得人類跟計(jì)算機(jī)站在同一認(rèn)識(shí)高度進(jìn)行對(duì)話,第四代非過程性計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)了計(jì)算機(jī)輔助決策、人工智能等半結(jié)構(gòu)或無(wú)結(jié)構(gòu)問題的機(jī)器學(xué)習(xí),第五代管理解析計(jì)算機(jī)語(yǔ)言突破了軟件編程人員的自我限制,使得計(jì)算機(jī)編程語(yǔ)言成為一般的管理人員而非專業(yè)技術(shù)人員也能運(yùn)用和掌握的技能,并從軟件的開發(fā)模式、實(shí)施方法論等維度實(shí)現(xiàn)近似于自然語(yǔ)言的人機(jī)交互。

綜上所述,過程性語(yǔ)言重在分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了;面向?qū)ο笳Z(yǔ)言是把構(gòu)成問題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘某個(gè)事物在整個(gè)解決問題的步驟中的行為,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(Object Oriented Programmiing,簡(jiǎn)稱OOP)是把設(shè)計(jì)方法從復(fù)雜繁瑣的編寫程序代碼的工作中解放了出來(lái),符合人的思維方式和現(xiàn)實(shí)世界。而管理解析語(yǔ)言采用的構(gòu)件化的思想,是面向?qū)ο箝_發(fā)方法的一種發(fā)展與延伸,構(gòu)件和對(duì)象都抽象的描述了客觀世界,都將信息隱藏了起來(lái)具有相當(dāng)?shù)莫?dú)立性,但是由于構(gòu)件要求是自描述的,獨(dú)立性比對(duì)象更強(qiáng)。

發(fā)布:2007-04-21 11:06    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普長(zhǎng)沙OA軟件行業(yè)資訊其他應(yīng)用

長(zhǎng)沙OA 長(zhǎng)沙新聞動(dòng)態(tài) 長(zhǎng)沙OA信息化 長(zhǎng)沙OA快博 長(zhǎng)沙OA軟件行業(yè)資訊 長(zhǎng)沙軟件開發(fā)公司 長(zhǎng)沙門禁系統(tǒng) 長(zhǎng)沙物業(yè)管理軟件 長(zhǎng)沙倉(cāng)庫(kù)管理軟件 長(zhǎng)沙餐飲管理軟件 長(zhǎng)沙網(wǎng)站建設(shè)公司