張國棟爲銀河計算機的軟件開發分配了70名工程師,這已經是張國棟能拿得出手的極限了,雖然龍騰有着2000多名軟件工程師,可是既要懂軟件又要在硬件上面有着非凡造詣的人真的不是很多,加上中科院以許峯雄爲首的三個人,暫時組成了一個73名核心工程師的技術團隊,加上外圍的服務人員,也達到了一百多人了。這在龍騰的隊伍中算是比較龐大的團隊了,能夠與之相比的恐怕就只有操作系統開發團隊和遊戲開發團隊了。
“周博士,這次叫你過來呢,主要是想聽一聽你對於虛擬機的看法以及你們的進度。”早在兩年前張國棟就開始佈置這方面的任務了,周新銘加入進來後很快就成了這個團隊的領導者,而原先的諸如朱崇軍等跟隨張國棟一起的創業者則另有用途,畢竟他們只是個本科畢業生,再有天賦,有些東西搞不出來就是搞不出來。
“老闆,我們是這麼想的,根據我們的討論,虛擬機它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能模擬來實現的。而老闆讓我們開發出java的虛擬機來我們覺得這是一個天才的創舉,目前java的語言語法部分已經完成了,我們現在在集中解決兩個部分,一自然是java自帶的編譯器了,第二個就是java虛擬機了。java虛擬機有自己完善的硬件架構,如處理器、堆棧、寄存器等,還應該具有相應地指令系統。”
“那你們應該明白了java的跨平臺性和虛擬機的關係了吧。”張國棟笑眯眯的問道,這種不需要自己動手只需要一個念頭下面自然有一大票人爲你來實現你的想法的感覺是在是太好了。難怪有那麼多人希望穿越回去,就衝這一點也能讓人多活不少年啊。
“是的,目前我們設計地java語言的一個非常重要地特點就是與平臺的無關性。而使用java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而引入java語言虛擬機後,java語言在不同平臺上運行時不需要重新編譯。java語言使用模式java虛擬機屏蔽了與具體平臺相關的信息,使得java語言編譯程序只需生成在java虛擬機上運行地目標代碼(字節碼),就可以在多種平臺上不加修改地運行。java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。只不過老闆,我們真不明白爲什麼要叫java語言,對於我們來說java真的非常拗口。難道叫龍語言不好麼?”
“這個怎麼說呢,你也知道我們推出java的目的是一統市場上的高級開發語言,至少讓要c系列語言的使用大大減少。但是如果我們使用龍語言這個名字的話在西方容易受到抵制,畢竟在西方人眼中龍是邪惡地。更重要的事。在計算機世界中,人們一般習慣於將名字命得比較神祕,這能增加吸引了。反正大家以後就會慢慢習慣的。”還有一個沒說得原因自然是因爲java可是後世萬千程序員心中的最喜歡的開發語言,雖然前世的林興華是微軟地,但是這並不妨礙他喜歡java,相反,他還比較鄙視跟風的c#。無非是把java的import搞成using,把java的大寫搞成小寫,把java的小寫搞成大寫,然後改一改其他java設計得不是太合理的地方,然後微軟就宣稱他們開發了一種新語言,在世界範圍內推廣。如果不是visualstudio這款開發工具實在是做得不錯,而且也提供了一種傻瓜式的程序開發方法的話,c#能不能在市場上推廣開還不知道呢。
其實java還有個讓人詬病的地方就是要進行環境變量的配置了。有很多初學編程地小白直接在這一關就給倒下了,聽說還有進行配置他們直接就打了退堂鼓,畢竟軟件對於他們來說就是下一步再下一步,自然還要進行什麼環境配置,什麼jar包導入,什麼服務器設置。什麼資源池配置,這對她們來說太複雜,所以他們寧願學給傻瓜一點地c#。所以這一世的張國棟吸取了這一特點,將一個java地大致語法框架與機理特點告訴開發人員後,重點就讓外圍人員將這些東西寫清楚,最好是每一步都截圖,這樣即使再小白的人都會使用java了。想一想後世的sun,幾乎所有賺錢的產品都是從java衍生開的,雖然被甲骨文給收購了,可是sun並沒有沒落!
“那你們這些設計人員都理解java虛擬機的機制麼。要知道一旦java語言向世界推廣後就是一個巨大的複雜的工程。將來可能出現各種各樣的問題,我是立志於將java打造得比目前的vb和c++以及dephi這類的語言更加出色的。將來我們還可以建立認證考試嘛。”
“是的,我們在開發的過程中已經在對我們的工程師培訓了,java虛擬機是java語言底層實現的基礎,只要是對java語言感興趣的人都應對java虛擬機有個大概的瞭解,更何況我們還是發明人員。上次老闆說的3000人推廣計劃已經在實行了,目前深圳大學,廣東中山大學,湖南的湖南大學,四川的四川大學,重慶的重慶大學等中部的高校已經和我們達成了協議,而這些學生的加入將對我們java地推廣起到直接的效果。我們正在對她們培訓,我告訴他們瞭解java虛擬機有助於理解java語言的一些性質,也有助於使用java語言。而對於要在特定平臺上實現java虛擬機的軟件人員,java語言的編譯器作者以及要用硬件芯片實現java虛擬機的人來說,則必須深刻理解java虛擬機的規範。另外。我們目前設計地java是個開放式的語言,就像unix一樣,世界上所有地java愛好者都能爲我們的java擴展類庫。”周新銘略帶自豪的說道,畢竟他們這是在改變歷史,改變中國人在計算機語言方面沒有發言權的歷史!
“沒錯,就是要開放,以後軟件的趨勢就是開放。雖然對於我們的核心產品的核心組件我們不會開放,但是開放也是我們龍騰將遵循地一個趨勢。只有集中世界人民的智慧才能將產品做到極致。”林興華曾經也是世界開放軟件組織的一員,對開放也情有獨鍾,其實像微軟那樣根本沒有爲世界軟件行業的發展作出過太大貢獻的公司或組織他是比較鄙視的,他欣賞的是萬維網的發明人這種人。
“嗯,目前我們將java虛擬機地體系結構設計爲五個部分,一組指令集、一組寄存器、一個棧、一個無用單元收集堆(garbage-collected-heap)、一個方法區域。這五部分java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。”
“那你覺得你們的工作大概什麼時候能夠完成,我以及有些迫不及待了。你知道,該死的c++中那些該死的指針總是讓人很頭痛,還有垃圾資源地回收,哎,每次寫程序必然要事先進行大量的規劃和計算,不然最後測試的時候總是測出許多莫名其妙的錯誤,上次你們軟件事業部的王嘉就告訴我,他已經對寫程序沒什麼信心了。我瞭解了一下。基本上就是每次測試他負責的模塊總是內存泄漏,他呢就老是挨批評,我想我們java出來後這種情況應該會改變不少。”
“年底我們爭取將1.0的語法完成,然後爭取在90年的時候將一整套工具做完,然後進行大規模測試,估計要到好91年年中才能做完了。這還是最理想的情況。”周新銘咬咬牙將大家討論過得時間又提前了半年,倒不是他好大喜功,畢竟有很多事情可以交給其他非java組的項目小組去完成嘛,完成機密也不會泄lou,內包嘛。
“好好,對你們地工作我基本上還是表示滿意地,不過這次叫你過來呢還有一個事情,你也知道以前中科院的應用軟件室有個石油軟件研發小組是不是,以前我們龍騰沒有他們地用武之地,所以讓他們解散後充實到其他小組裏面去了。這次我們接到中東阿聯酋的委託。說是讓我們爲他們開發一整套石油軟件,他們也提出了要求。要有油藏連通圖生成系統,綜合地質柱狀圖編輯系統,油藏開發製圖系統,地質層對比圖編輯系統,圖文資料庫管理系統,等等,可能中間要用到corel公司的某些產品,到時候需要協調你再來找我吧,如果是人少了的話你去找史魚柱,讓他替你去招一點人,哎,現在是恨不得將國內給挖空啊。”
“老闆的意思是將這些人重新召集起來成立一個新的項目小組專門來做這麼一套軟件啊,那老闆,這麼做劃不划得來啊,要知道我們的人力成本目前很貴啊,要是隻爲他們專門開發有點不劃算啊。”周新銘憂心忡忡的說道。
“哎,你以爲我想麼,這是國家攤派下來的任務,而且我們也拿不到什麼錢,他們和國家簽訂了一個石油購買協議,這是協議的一個補充條件。”
聽到是國家任務,周新銘馬上不說話了,只是點了點頭默默地走了出去。!~!
..