黃金屋中文-免費小說,文字版,txt下載

 
  黃金屋首頁(yè)| 總點(diǎn)擊排行| 周點(diǎn)擊排行| 月點(diǎn)擊排行 | 總搜藏排行 繁體中文版| 收藏黃金屋| 設(shè)為首頁(yè)
 
黃金屋中文,黃金書屋 黃金屋中文,黃金書屋
首 頁(yè) 手機(jī)版 最新章節(jié) 玄幻·奇幻 武俠·仙俠 都市·言情 歷史·軍事 游戲·競(jìng)技 科幻·靈異 全本·全部 移動(dòng)版 書架  
  文章查詢:         熱門關(guān)鍵字: 道君 大王饒命  神話紀(jì)元  飛劍問(wèn)道  重生似水青春  
黃金屋中文 >> 重生八七之傳奇  >>  目錄 >> 第一百六十六章 Min軟件開發(fā)平臺(tái)

第一百六十六章 Min軟件開發(fā)平臺(tái)

作者:云霄之手  分類: 都市 | 都市生活 | 云霄之手 | 重生八七之傳奇 | 更多標(biāo)簽...
 
請(qǐng)記住本站域名: 黃金屋

重生八七之傳奇 第一百六十六章 Min軟件開發(fā)平臺(tái)

作為一個(gè)資深程序員,袁明對(duì)集成開發(fā)環(huán)境(IDE)認(rèn)識(shí)比這個(gè)時(shí)代的任何人都深。早期的編程語(yǔ)言在送進(jìn)編譯器處理之前,必須要先經(jīng)過(guò)流程圖、撰寫表格、打卡,所以當(dāng)時(shí)并不需要開發(fā)環(huán)境。作為第一個(gè)高級(jí)語(yǔ)言的Basic,是第一個(gè)有開發(fā)環(huán)境的編程語(yǔ)言,同時(shí)也是第一個(gè)可以直接在主機(jī)或終端機(jī)前編寫代碼的編程語(yǔ)言。當(dāng)時(shí)它的開發(fā)環(huán)境是采取命令行方式的,并不像后來(lái)的大多數(shù)開發(fā)語(yǔ)言使用選單和圖形化。但是它提供了編輯、檔案、管理、編譯、調(diào)試、執(zhí)行等功能,算是集成開發(fā)環(huán)境的雛形。

袁明用的第一款集成開發(fā)環(huán)境是TurboC,那還是因?yàn)榇髮W(xué)里開始學(xué)習(xí)C語(yǔ)言時(shí)才用到了。后來(lái)就是TurboC、BorlandC、CBuilder、VisualC,再之后就百花齊放。根據(jù)項(xiàng)目應(yīng)用環(huán)境的不同,從命令行到圖形界面,從Eclipse到Idea,從C到Java,從編譯到反編譯,從單機(jī)到網(wǎng)絡(luò),什么環(huán)境都要用。所以,后世的資深程序員任何一個(gè)拿出來(lái),都要秒殺這個(gè)時(shí)代的那些程序員大牛。

現(xiàn)在MinOS發(fā)布以后,只是對(duì)三方軟件開發(fā)商提供了一系列的DLL庫(kù)和資料,怎樣開發(fā)和集成還需要軟件商自己去琢磨。當(dāng)時(shí)袁明就想做一個(gè)開發(fā)環(huán)境,幫助三方軟件商提供工作效率,減少開發(fā)成本。他有著后世的經(jīng)驗(yàn),上來(lái)就準(zhǔn)備做插件式集成開發(fā)環(huán)境。

插件式集成開發(fā)環(huán)境是后世發(fā)展起來(lái)的終極開發(fā)環(huán)境,它基于微內(nèi)核架構(gòu),把各種開發(fā)工具作為插件,根據(jù)需要?jiǎng)討B(tài)載入軟件中,為集成開發(fā)環(huán)境提供了強(qiáng)大的擴(kuò)展能力。Eclipse、Idea等著名集成開發(fā)環(huán)境都是采用的這種架構(gòu),一經(jīng)推出就風(fēng)靡了整個(gè)軟件行業(yè),老牌的IDE提供商紛紛不敵退場(chǎng)。

這款開發(fā)環(huán)境由于基于微內(nèi)核架構(gòu),自然就可以載入多種編譯器,因此為跨語(yǔ)言編程提供了良好的支持。袁明目前暫時(shí)只準(zhǔn)備提供Basic、C語(yǔ)言和C語(yǔ)言,Basic和C都是面向過(guò)程的,C是面向?qū)ο蟮摹C嫦驅(qū)ο缶幊淘诖笠?guī)模軟件開發(fā)中,具有強(qiáng)大的優(yōu)勢(shì),相對(duì)來(lái)講面向過(guò)程編程在小規(guī)模軟件開發(fā)中具有優(yōu)勢(shì)。袁明知道未來(lái)不但有大規(guī)模的服務(wù)端系統(tǒng),也會(huì)有小規(guī)模的移動(dòng)系統(tǒng),所以兩者都支持在未來(lái)會(huì)具有更多優(yōu)勢(shì)。

袁明這次不但要支持多語(yǔ)言,他還有野心要做跨平臺(tái)的開發(fā)環(huán)境。跨平臺(tái)就是指軟件開發(fā)一次以后,可以在多個(gè)操作系統(tǒng)上執(zhí)行。這在后世Java語(yǔ)言之所以大流行,成為主流開發(fā)語(yǔ)言,和Java的跨平臺(tái)性直接有關(guān)。要在多個(gè)操作系統(tǒng)上執(zhí)行,就必須面對(duì)每種操作系統(tǒng)在內(nèi)核、接口、執(zhí)行機(jī)制上的不同。在沒(méi)有跨平臺(tái)能力以前,如果軟件商需要在多個(gè)操作系統(tǒng)上發(fā)布自己的程序,就需要在每個(gè)操作系統(tǒng)上都開發(fā)一遍。

比如蓮花公司,它的電子表格系統(tǒng)是在MSDOS、MakOS操作系統(tǒng)上提供的,當(dāng)威阮的Win操作系統(tǒng)出來(lái)以后,它不看好Win操作系統(tǒng),所以就沒(méi)有投資在Win操作系統(tǒng)上。當(dāng)Win大行其道之后,它再花了很長(zhǎng)時(shí)間才做出了Win版的電子表格軟件,而這時(shí)威阮的電子表格程序已經(jīng)完全占領(lǐng)了市場(chǎng)。最終蓮花公司失去了在電子表格市場(chǎng)的領(lǐng)導(dǎo)地位,破產(chǎn)被收購(gòu)。

從這一點(diǎn)上就能看出,跨平臺(tái)對(duì)軟件商是多么重要!如果蓮花公司當(dāng)初是基于跨平臺(tái)的開發(fā)環(huán)境下,開發(fā)出的電子表格系統(tǒng)就能很快遷移到Win上,而不用再做戰(zhàn)略選擇了。直接發(fā)布到Win就好了,軟件幾乎不用做什么修改。

跨平臺(tái)能力其實(shí)就是在操作系統(tǒng)和軟件之間加了一個(gè)中間層,叫做虛擬機(jī)。虛擬機(jī)的作用就是把軟件的指令轉(zhuǎn)為操作系統(tǒng)的指令去執(zhí)行,每種操作系統(tǒng)的不同由虛擬機(jī)去識(shí)別。軟件完全不用理會(huì)它會(huì)運(yùn)行在哪個(gè)操作系統(tǒng)之上,它只要關(guān)心和虛擬機(jī)之間的接口即可。這樣通過(guò)虛擬機(jī)就可以讓軟件開發(fā)更簡(jiǎn)單,開發(fā)速度更快,在多個(gè)操作系統(tǒng)上的發(fā)布更容易。

跨平臺(tái)得到了軟件開發(fā)和發(fā)布的便利時(shí),也付出了性能的代價(jià)。不過(guò)隨著計(jì)算機(jī)速度越來(lái)越快,這一點(diǎn)性能損失對(duì)于軟件開發(fā)和發(fā)布的成本來(lái)說(shuō),越來(lái)越無(wú)足輕重。未來(lái)誰(shuí)掌握的跨平臺(tái)的標(biāo)準(zhǔn)和基礎(chǔ),誰(shuí)就能統(tǒng)治軟件行業(yè),后世的Java已經(jīng)證明了這一切。

這一世袁明不準(zhǔn)備讓Java出現(xiàn)了,他準(zhǔn)備讓Basic、C和C直接運(yùn)行在虛擬機(jī)上,讓這些語(yǔ)言具備了跨平臺(tái)能力,這也算是為后世程序員做一些貢獻(xiàn)吧。上一世袁明就經(jīng)常吐槽,明明C和Java差不多,開發(fā)時(shí)還要用兩個(gè)環(huán)境寫,類庫(kù)和工具也是完全不同的兩套,一個(gè)項(xiàng)目做起來(lái)不知道有多辛苦。現(xiàn)在直接好了,C直接運(yùn)行在虛擬機(jī)上了,無(wú)論你是做服務(wù)端開發(fā),還是做桌面開發(fā),你都可以用一種語(yǔ)言了!無(wú)形中學(xué)習(xí)的成本被降低了很多。

當(dāng)然讓C直接運(yùn)行在虛擬機(jī)上,肯定會(huì)面臨被吐槽降低C性能,對(duì)于這個(gè)袁明根本不想理會(huì),上輩子見(jiàn)過(guò)太多C和Java性能之爭(zhēng),結(jié)果啦?跨平臺(tái)還是成為了主流。

1月開始袁明集中精力到了復(fù)興軟件,專門組建了一個(gè)Min軟件平臺(tái)項(xiàng)目組。Min軟件平臺(tái)項(xiàng)目組內(nèi)部包含兩個(gè)子項(xiàng)目,一個(gè)是虛擬機(jī)MinVM項(xiàng)目,一個(gè)是MinIDE項(xiàng)目。由于現(xiàn)在圖形界面還很簡(jiǎn)陋,MinVM項(xiàng)目直接就是命令行,MinIDE項(xiàng)目采用了最簡(jiǎn)圖形化界面形式,類似于當(dāng)初TurboC的界面。

由于MinVM存在,需要對(duì)標(biāo)準(zhǔn)的Basic、C和C語(yǔ)言進(jìn)行改造,主要的部分就在于內(nèi)存資源的分配和指針上。MinVM負(fù)責(zé)了內(nèi)存資源的創(chuàng)建和銷毀,所以編程語(yǔ)言將不再需要管理內(nèi)存了;指針既是C、C靈活性的特色,也是程序混亂和泄漏的源泉,而且內(nèi)存地址變成MinVM堆棧,無(wú)需再讓程序員自己計(jì)算地址了,所以袁明直接取消了指針。改變后,由于新的Basic、C和C語(yǔ)言的語(yǔ)法和標(biāo)準(zhǔn)的不同,袁明就把他們重新命名為MinB、MinC和MinC語(yǔ)言。

Min軟件平臺(tái)是一個(gè)龐大的項(xiàng)目,僅僅MinVM項(xiàng)目組就有40多人,MinIDE項(xiàng)目組更是有100多人。也虧了蘇省路9號(hào)地方大,裝下了復(fù)興軟件上下300多人。不過(guò)后面還是要準(zhǔn)備搬家了,以后人會(huì)越來(lái)越多,這個(gè)地方總會(huì)裝不下的。現(xiàn)在安達(dá)已經(jīng)對(duì)新買的新街地塊做設(shè)計(jì)了,后續(xù)準(zhǔn)備建成第一個(gè)綜合商貿(mào)實(shí)體的安達(dá)廣場(chǎng),其中會(huì)建三棟超級(jí)高樓,其中一棟60層最高樓,已經(jīng)被袁明預(yù)定作為復(fù)興控股的新總部,改名為復(fù)興大廈,未來(lái)將把所有復(fù)興系公司都搬入進(jìn)來(lái)。

袁明為保證這兩個(gè)項(xiàng)目的質(zhì)量,特地親自寫代碼開發(fā)了一個(gè)叫SVN源代碼版本控制系統(tǒng),參考了后世的SVN軟件,主要用于在團(tuán)隊(duì)開發(fā)模式下,代碼簽入簽出的版本管理。程序本身并不大,連1000行都沒(méi)有,關(guān)鍵是設(shè)計(jì)理念采用了無(wú)鎖模式,代碼的簽入簽出不需要給文件加鎖;采用差分編碼,只保留文件相繼版本之間的差異,這個(gè)方法可以更有效的存儲(chǔ)數(shù)個(gè)版本的文件;采用分支管理,可以讓同一軟件的不同版本以一棵樹的方式存在。

此外他引入了后世持續(xù)交付的開發(fā)模式,從最核心功能開始,每天設(shè)定目標(biāo),每天交付,每天做一輪集成測(cè)試,下班前要保證集成后的程序可運(yùn)行。把測(cè)試人員下放到開發(fā)小組中,基本2、3個(gè)開發(fā)人員和一個(gè)測(cè)試人員組成開發(fā)小組,測(cè)試每天檢查開發(fā)的單元測(cè)試用例執(zhí)行情況,以及持續(xù)集成測(cè)試情況,及時(shí)反饋到開發(fā)手邊,讓每一個(gè)發(fā)現(xiàn)的問(wèn)題都不留到第二天。同時(shí),也是起著督促開發(fā)人員提升開發(fā)質(zhì)量的作用。

有了這一個(gè)SVN和持續(xù)交付,研發(fā)團(tuán)隊(duì)的軟件質(zhì)量和開發(fā)效率有了極大提升。如此袁明才能把更多的精力放在設(shè)計(jì)、架構(gòu)和核心代碼上。

感謝書友20201011093627431、書友160727062848488、紅眼書癡的


請(qǐng)記住本站域名: 黃金屋

快捷鍵: 上一章("←"或者"P")    下一章("→"或者"N")    回車鍵:返回書頁(yè)
上一章  |  重生八七之傳奇目錄  |  下一章
重生八七之傳奇 手機(jī)網(wǎng)頁(yè)版
瀏覽記錄

字母索引: A |  B |  C |  D |  E |  F |  G |  H |  J |  K |  L |  M |  N |  P |  Q |  R |  S |  T |  W |  X |  Y |  Z


頁(yè)面執(zhí)行時(shí)間: 0.0352629
主站蜘蛛池模板: 馆陶县| 德江县| 杭锦后旗| 广德县| 巴楚县| 五台县| 信丰县| 沈丘县| 湄潭县| 库车县| 巴彦淖尔市| 娄底市| 德格县| 云浮市| 巢湖市| 建宁县| 霞浦县| 敖汉旗| 长汀县| 阿鲁科尔沁旗| 诸城市| 尚志市| 黎城县| 庄河市| 青冈县| 阿鲁科尔沁旗| 东辽县| 江城| 西宁市| 泽库县| 嵊泗县| 荥经县| 陈巴尔虎旗| 临桂县| 东至县| 资阳市| 达尔| 郴州市| 洞口县| 柯坪县| 梁平县|