① 軟體開發技術路線
應用 GIS 系統多種多樣,形式各異,但從開發實現的角度考慮,基本上可以概括為三種形式: 獨立開發、單純二次開發、集成二次開發。
獨立開發的優點在於無須依賴任何商業 GIS 工具軟體,這樣一來不僅減少了開發成本,而且同樣的演算法設計與代碼運行可以運用於以後的類似的應用系統開發中,這樣可以為許多最終用戶節省購買 GIS 工具軟體的費用,但進行這種方式的開發一方面要求開發者具有深厚的計算機程序設計功底,另一方面對於大多數開發者來說,能力、時間、財力方面的限制使其開發出來的產品很難在功能設計和使用上與商業化 GIS 工具軟體相匹敵,而且在購買 GIS 工具軟體上省下來的錢可能還抵不上開發者在開發過程中絞盡腦汁所花的代價,因此這種開發方式僅為少數開發者使用。
單純二次開發由於是藉助於 GIS 工具軟體提供的宏語言進行的,省時省心,但不管是ArcView 提供的 Avenue,還是 MapInfo 提供的 MapBasic,作為編程語言都只能算是二流的,用它們來開發應用程序仍不盡如人意,效率低下,且在界面設計上相對單一,難於發揮開發者的想像力以及不同 GIS 應用的需要。
集成二次開發既可以充分利用可視化軟體開發工具的高效方便的編程功能,又可以充分利用地理信息系統工具軟體完備的空間數據可視化分析處理功能,集二者之所長,不僅能大大提高應用系統的開發效率,而且使用面向對象的可視化軟體開發工具開發出來的應用程序具有良好的外觀、完善的功能,且可靠性好、便於維護。尤其是使用 COM 技術利用 GIS 功能組件進行集成開發更能表現出這些優勢。
綜上所述,集成二次開發正成為應用 GIS 系統開發的主流方向。GIS 工具軟體一般是有計算機專業技術人員組成的科研集體完成開發的,系統的設計技術較高,而實用 GIS 系統一般是非計算機專業人員開發、用於特定行業或特定地區的軟體系統,具有較強的應用專業性或區域性。從某種意義上來講,GIS 工具和應用 GIS 系統在功能上沒有本質的差別,主要體現在通用性和專用性上,既從通用界面到專用界面,從通用模型到專業模型。地理信息系統軟體設計技術較高,在應用 GIS 系統開發上重復開發 GIS 技術的基礎功能無疑會造成人力和財力的巨大浪費,而且對非計算機專業的技術人員來講也存在有巨大的難度。在地理信息系統工具上開發應用 GIS 系統無疑是一條捷徑,不僅可以節省軟體開發的人力、物力、財力,而且也大大縮短了軟體開發周期,提高了應用系統的整體水平。
近幾年來,GIS 工具得到了快速發展,而且日益成熟,有些軟體已經提供了功能強大的二次開發功能,為迅速建立應用 GIS 系統奠定了基礎。任何一個地理信息系統應包括如下幾方面的內容: 數據輸入、數據編輯、數據查詢、空間分析模型、信息輸出。在 GIS 工具上進行應用 GIS 系統的二次開發主要完成如下幾方面的工作: 專業化界面開發,使通用GIS 工具轉化為專用 GIS 系統; 高層次的專業應用模型開發與模型管理,完成特定行業要求的空間模型運算。
本系統軟體開發技術路線為:
( 1) 以 Windows 98 為操作系統,以 MapGIS 為 GIS 支撐環境平台。
( 2) 使用 MapGIS 的 API 函數進行二次開發,以 Visual C + + 為開發編譯工具,重新開發 C + + 類庫,實現系統界面風格上的一致。
( 3) 在系統開發中要充分利用現有的軟體開發成果,以縮短系統的開發周期和可行性,嚴格按照軟體開發規范開展工作。
( 4) 引入成熟的演算法與源代碼。
( 5) 注重軟體的測試工作,將軟體問題消滅於萌芽之中。
② 如何利用百度地圖製作出行路線圖
1、首先我們打開網路地圖,點擊 右上角的工具 ->標記 。
③ 如何寫軟體設計的技術路線
技術路線:
本課題將應用軟體工程原則,嚴格按照項目計劃、需求分析、概念設計、邏輯設計、物理設計、編碼、實現與維護等步驟進行。
④ 軟體設計方案要怎麼寫
我覺得應該從幾個方面來寫:
第一、整個設計方案的概要闡述;
第二、 設計核心理念的體現;
第三、軟體設計的目標展現;
第四、整個軟體設計的流程中能預計到的阻礙和處理方法;
這只是我的個人想法,希望能夠幫助到你。
⑤ 論文中軟體開發的技術路線怎麼寫
指進行研究的具體程序的操作步驟,應盡可能詳盡。每一步驟的關鍵點要闡述清楚並具有可操作性。如有可能,可以使用流程圖或示意圖加以說明,以達到一目瞭然的效果。
可以到網路文庫中查找,有範文、有指導性文章。
⑥ linux 怎麼寫軟體模塊詳細設計
概要設計階段通常得到軟體結構圖
詳細設計階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等
概要設計和詳細設計
在軟體設計中,大家經常問到的一個問題是:概要設計應該怎樣一個概要法,詳細設計應該怎樣一個詳細法?
這個問題在公司內部經常有人問。現在陳述一下。
我們公司的研發流程是瀑布型的,這個模型中的分析、設計階段是基於經典的結構化方法。
結構化設計方法的基本思路是:按照問題域,將軟體逐級細化,分解為不必再分解的的模塊,每個模塊完成一定的功能,為一個或多個父模塊服務(即接受調用),也接受一個或多個子模塊的服務(即調用子模塊)。模塊的概念,和編程語言中的子程序或函數是對應的。
這樣一來,設計可以明顯地劃分成兩個階段:
概要(結構)設計階段:把軟體按照一定的原則分解為模塊層次,賦予每個模塊一定的任務,並確定模塊間調用關系和介面。
詳細設計階段:依據概要設計階段的分解,設計每個模塊內的演算法、流程等。
概要設計階段:
在這個階段,設計者會大致考慮並照顧模塊的內部實現,但不過多糾纏於此。主要集中於劃分模塊、分配任務、定義調用關系。模塊間的介面與傳參在這個階段要定得十分細致明確,應編寫嚴謹的數據字典,避免後續設計產生不解或誤解。概要設計一般不是一次就能做到位,而是反復地進行結構調整。典型的調整是合並功能重復的模塊,或者進一步分解出可以復用的模塊。在概要設計階段,應最大限度地提取可以重用的模塊,建立合理的結構體系,節省後續環節的工作量。
概要設計文檔最重要的部分是分層數據流圖、結構圖、數據字典以及相應的文字說明等。以概要設計文檔為依據,各個模塊的詳細設計就可以並行展開了。
詳細設計階段:
在這個階段,各個模塊可以分給不同的人去並行設計。在詳細設計階段,設計者的工作對象是一個模塊,根據概要設計賦予的局部任務和對外介面,設計並表達出模塊的演算法、流程、狀態轉換等內容。這里要注意,如果發現有結構調整(如分解出子模塊等)的必要,必須返回到概要設計階段,將調整反應到概要設計文檔中,而不 能就地解決,不打招呼。
詳細設計文檔最重要的部分是模塊的流程圖、狀態圖、局部變數及相應的文字說明等。一個模塊一篇詳細設計文檔。
概要設計文檔相當於機械設計中的裝配圖,而詳細設計文檔相當於機械設計中的零件圖。文檔的編排、裝訂方式也可以參考機械圖紙的方法。
我們公司對模塊的認識和傳統定義有所不同,認為是較大的軟體功能單元才可以稱作模塊。這種認識使大家對概要設計和詳細設計的分工產生了混亂的理解,降低了文檔的可用性,應該予以糾正。
概要設計中較頂層的部分便是所謂的方案。方案文檔的作用是在宏觀的角度上保持設計的合理性。
有的項目採用面向對象的分析、設計方法。可能在概要設計、詳細設計的分工上疑問更多。其實,面向對象的分析、設計方法並沒有強調結構化方法那樣的階段性,因此一般不引入概要、詳細設計的概念。如果按照公司的文檔體系,非要有這種分工的話,可以將包的劃分、類及對象間的關系、類的對外屬性、方法及協作設計看做 概要設計;類屬性、方法的內部實現看做詳細設計。
1.需求分析--產生軟體功能規格說明書,需要確定用戶對軟體的需求,要作到明確、無歧義。不涉及具體實現方法。用戶能看得明白,開發人員也可據此進行下面的工作(概要設計)。
2.概要設計--產生軟體概要設計說明書,說明系統模塊劃分、選擇的技術路線等,整體說明軟體的實現思路。並且需要指出關鍵技術難點等。
3.詳細設計--產生軟體詳細設計說明書,對概要設計的進一步細化,一般由各部分的擔當人員依據概要設計分別完成,然後在集成,是具體的實現細節。理論上要求可以照此編碼。
概要設計和詳細設計的區別與聯系
軟體設計採用自頂向下、逐次功能展開的設計方法,首先完成總體設計,然後完成各有機組成部分的設計。
根據工作性質和內容的不同,軟體設計分為概要設計和詳細設計。概要設計實現軟體的總體設計、模塊劃分、用戶界面設計、資料庫設計等等;詳細設計則根據概要設計所做的模塊劃分,實現各模塊的演算法設計,實現用戶界面設計、數據結構設計的細化,等等。
概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經復查確認後才可以開始詳細設計。概要設計,必須完成概要設計文檔,包括系統的總體設計文檔、以及各個模塊的概要設計文檔。每個模塊的設計文檔都應該獨立成冊。
詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經過項目經理的同意。詳細設計,應該完成詳細設計文檔,主要是模塊的詳細設計方案說明。和概要設計一樣,每個模塊的詳細設計文檔都應該獨立成冊。
概要設計裡面的資料庫設計應該重點在描述數據關繫上,說明數據的來龍去脈,在這里應該結合我們的一個結果數據,說明這些結果數據的源點,我們這樣設計的目的和原因。詳細設計里的資料庫設計就應該是一份完善的數據結構文檔,就是一個包括類型、命名、精度、欄位說明、表說明等內容的數據字典。
概要設計里的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,並對各功能模塊進行詳細的圖文描述,應該讓讀者大致了解系統作完後大體的結構和操作模式。詳細設計則是重點在描述系統的實現方式,各模塊詳細說明實現功能所需的類及具體的方法函數,包括涉及到的sql語句等。
⑦ 軟體開發過程是怎樣的
軟體開發過程,或軟體過程,是軟體開發的開發生命周期,其各個階段實現了軟體的需求定義與分析、設計、實現、測試、交付和維護。軟體過程是在開發與構建系統時應遵循的步驟,是軟體開發的路線圖。
軟體過程方法涉及交付和工件的預定義、軟體產品在項目團隊中的開發與維護。過程方法的應用可以完善軟體設計、產品管理和項目管理。敏捷開發是現代軟體開發中被廣泛使用的範式。過程模型則意圖解決軟體過程中的混亂,將軟體開發過程中的溝通、計劃、建模、構建和部署等活動有效地組織了起來。
軟體過程為軟體的開發定義了一個框架,將自動化工具、軟體開發方法和質量管理緊密結合在了一起。軟體過程構成了軟體項目管理控制的基礎,創建了一個環境以便於技術方法的採用、工作產品(模型、文檔、報告、表格等)的產生、里程碑的創建、質量的保證、正常變更的正確管理。
⑧ 海地道路軟體設計一條路的步驟誰能告訴我下!
1.新建一個文件夾(用來存你之後設計的資料的)
2.新建項目(項目的路徑就是第一步新建的那個文件夾),填寫好基本資料就確認。
3.項目管理中的技術標准規范控制參數編輯中,需要改平曲線加寬值(海地2004用的是舊的規范,加寬值不同)
4.項目管理中的交點文件的編輯
5.平面-平面設計-交點法,讀入交點(你可以路線標注看下)
6.縱斷面-輸入地面高文件,輸入完後地面高文件檢查
7.項目管理-縱斷面文件編輯,輸入你拉坡的資料,在豎曲線檢查
8.項目管理-地質狀況文件編輯
9.橫斷面-輸入地面線文件,輸入完好地面線文件檢查
10.橫斷面-基本資料輸入,然後進行帽子制定-戴帽子(如果設置了擋牆,在帽子制定中要先輸入資料)
11.如果設置涵洞,在項目管理-構造物文件編輯,涵洞中插入,填寫資料.
涵洞-涵洞設計基本資料,輸入文件(帽子)選中一開始我們新建的文件夾中的帽子文件.構造物的路徑也是,輸出也選新建文件夾
涵洞設計,要跟構造物文件相符!
涵洞和擋牆沒辦法說得很詳細了,需要的話找個人在跟前教比較好!
交點文件編輯完後可以生成直曲表之類的了,輸入完地面高可以生成平面圖,輸入完縱斷面文件可以生成縱斷面圖,帶了帽子可以處橫斷面圖了!
......
基本上我是這么做的~希望對你有幫助
⑨ 計算機軟體開發學習路線是什麼
Java零基礎的小夥伴,我建議看Java的在線教程去學習。
第一:先學習Java的核心庫(JavaSE)
JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程……..
第二:MySQL資料庫
搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費。
由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建的比較多的時候,免費就很重要了。)
第三:WEB前端
以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。
包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…
第四:JavaWEB
WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的。
包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)
學習到這里為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。
第五:最好能夠停留下來,做一個項目。
這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)
這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….
在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)
第六:學習高級框架
Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)
SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)
當你走到這里之後,基本上你可以出山了。(去找工作應該問題不大,但前提是你學得好。學習的深度夠了,廣度夠了。)
第七:最好能有一個大型項目是使用框架來完成的。
SpringBoot做一個項目。
Spring SpringMVC MyBatis做一個項目。
這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)
第八:如果你的薪資想達到15K的話,你可能需要還要學習一些分布式相關的一些技術。
能夠應付高並發的一些技術,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
最後在啰嗦一下,一定要形成自己的編程思想。
編程思想的形成很難。需要大量代碼的堆積才可以。怎麼形成編程思想呢?
千萬別死抄代碼。不要像行屍走肉般的抄代碼,沒有用。只能提高指法速度,無法形成編程思路。
1、打好基礎是重中之重
基礎部分可能很枯燥,但是一定要耐心堅持下去。因為打基礎好比是在造輪子造汽車,沒有打好基礎在後面的學習就好比走路,可以說後面遇到的百分之七八十的問題都是基礎沒學好造成的。
2、多看官方文檔多讀源碼
一定要看JDK相關類庫、常用框架各種功能的源碼,去了解其底層實現的原理。總的來說這個也是在打基礎的部分,Java基礎非常扎實才能看懂,在我們學習一個類的源碼時,肯定會衍生出其他各種各樣的問題,供我們來了解和學習,這也就是我們下一步學習的目標和方向。慢慢的,我們就會學習更多的知識,並積累更多的經驗。
3、系統性學習,循序漸進
不要急於求成,每個知識點都要看,並且每個知識點都要勤加練習。有的同學在學習過程中覺得這個知識點簡單,就跳著學習,其實這是個很大的問題,知識點細節必須要了解。我們學習Java需要循序漸進,一步一步來,不能操之過急。
4、遇到問題
遇到不會做的問題,當然不能置之不理。先在網上查,目前網路上針對很多問題都有完美的解決方案,如果網上沒有類似的問題,那可能是你犯了什麼小錯誤。也不要在這個問題上花費太多時間,這需要一定的學習技巧。Java中的知識有很強的相關性,有不懂的地方,可以用其他周邊相關知識再回過頭來理解,這樣既不會耽誤學習進度,又能理解自己不懂的地方
1)jvm有很多種,其實jvm是一個標准,sun做的那個叫hotspot,作者就是後來v8的作者lars bak,其他公司也做過jvm,其中做得比較好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在內,都做得不行,所以jvm主要是整合淘汰掉這些做得不好的jvm(s),整合成一個統一的openjdk。
2)java是典型的oop語言,其執行效率的優化,最早就是lars bak等人從smalltalk等長期優化的經驗中總結出來並apply到hotspot上去滴,而smalltalk在早期apple機上搞出了那種拖拖拽拽就開發出app的做法,後來vc,delphi之類的其實都是抄襲或者說借鑒apple的smalltalk的做法,jobs說微軟從頭到尾都在抄襲apple是空穴來風,這里空穴來風跟王垠使用的空穴來風是一個意思,有趣的是,java的gui並沒有繼承這種搞法,反而對這種拖拖拽拽就作出app的做法批判有加,到今天,其實java的gui都還不能真正做到拖拖拽拽就作出來,問題很多,個人建議對於純java的gui開發,還是以寫代碼為主。
3)jee也是一個或者說是一堆標准,知乎上有些人把maven,jenkins都算做jee是不對滴,jee的標准核心是ejb,其實就是一個xml配置化的java文件,這個標准在4的時候,達到了頂峰狀態,幾乎所有的挨踢大廠都主動支持該標准,之後開始走下坡路,支持的廠越來越少。
4)java和javascript的關系比很多人認為的要密切,javascript裡面的java這四個字母可不是白叫的,比如js的版權和商標都控制在oracle手裡,oracle對於js的支持甚至超過其對java的支持,並且喜歡捆綁銷售,比如jvm裡面就有一個js引擎。
5)jvm裡面除了js engine以外還有一個瀏覽器排版引擎webkit,就是apple safari和google chrome用的那個那個。
6)java支持絕大多數腳本語言,你能叫得上名字的腳本語言,幾乎都可以在jvm上執行,比如常見的js,ruby,python,甚至php,lua,只不過除了js以外你需要找到相關的腳本引擎。
7)spring的版權被控制在vmware手裡,其實spring的那一大堆東西,本質上是一個非標準的jee實現,比如在jee裡面用的inject,在spring裡面就是autowire,當然spring曾經深刻滴影響了jee,所以有些東西比如di標准,是spring影響下制定出來的,所以spring的做法會比較特例一點。
8)maven上的jars數量前兩天突破800萬,其他語言的類庫,排名第二的是npm,大概數量是maven的十分之一,也就是幾十萬,不知道現在突破100萬沒有,然後是gem,也就是ruby那個,大概是十幾萬,下來是python的mole,大概數量級是幾萬,沒突破十萬。
9)java的標準是由一個叫做jcp的組織制定的,所有標准需要經過jcp的執行委員會通過方可執行,jcp幾乎包括了你所知道的絕大多數知名挨踢公司和組織,比如google,apple,ibm,intel,arm,red hat,twitter等,還有一些教育機構,比如我國的北京大學,阿里最近一次申請jcp執行委員會成員資格,似乎投票不通過,最近一次執行委員會新增兩個成員是arm和jetbrains。
10)微軟也曾經是jcp甚至是java的主要貢獻者,但是利益驅使下,想擴展java,從而破壞java跨平台的特性,所以跟sun鬧翻,其本質原因就是想讓客戶寫的java代碼跟windows綁定,sun堅決不同意,鬧翻,今天回頭看這個結果,只能說:雙輸,sun掛了,微軟的ria也離掛不太遠了,silverlight已經放棄了,比起當年ie自帶有jvm的支持來說,那完全就是兩回事。
11)除了微軟以外,jcp還缺少一個重要組織apache,因為apache跟oracle也鬧翻了,oracle似乎並不在乎開源組織,而更在意商業公司的支持。
12)java曾經有一個內置的資料庫,9之後被剝離。
13)j2me是j2se的子集。
14)vert.x作者tim fox最早在vmware做spring時候看到了node.js,萌生出了製作支持多核的node.x的想法,並在離開vmware後加入red hat將其實現,vmware看到後開始耍無賴,claim node.x後來改叫vert.x的版權,不惜跟red hat打官司,後來各方妥協,將其交給eclipse foundation。
15)oracle在收購bea之前,一開始的目標並不是bea和bea的weblogic,而是jboss,但是jboss表現出了極為有種的一面,在oracle收購成功之前,投入了red hat的懷抱,因為都是開源組織,從此jboss成了red hat的一個子部門,oracle收購jboss失敗之後,轉向bea,庄思浩氣死了,但是沒用,最後還是被惡意收購。
16)sun在玩不下去之前最早嘗試接觸的目標是ibm,ibm嫌太貴,放棄之後,被轉手給了oracle。(Java學習交流QQ群:589809992 我們一起學Java!)
17)vert.x的作者tim fox在離開red hat之前曾經發過twitter抱怨,外人比如我們,猜測是因為red hat內部已經有了一個jboss,所以跟vert.x在應用上有了重疊,所以導致tim fox的出走,但是出走之後,red hat答應對vert.x做持續性的戰略投入,所以vert.x core的幾個developers,其實拿的是red hat的工資,但是vert.x的版權並不在red hat手裡,而在eclipse foundation手裡。
18)vert.x的幾個核心開發人員都是google summer of code的導師,每年年初時候會招收在校大學生搞項目。
19)教育機構相關:scala的作者馬丁是德國人,eth的博導,groovy的主要領導人是法國人,jruby背後是東京大學,jboss的作者是法國大學校x的校友,x就是伽羅瓦考不進去的那所大學,伽羅瓦進不了x,所以改讀巴黎高師,tim fox畢業於帝國理工,主席去的那個,netty作者trustin lee是acm銀牌,現在line工作,畢業於sky裡面的延世大學,kotlin是毛子公司jetbrains的作品,看linkedin,很多人畢業自聖彼得堡大學,spring作者rod johnson是悉尼大學的音樂博士,hibernate作者gavin king是澳洲莫那什大學的數學本科畢業生,james gosling這種cmu和calgory的估計爛大街了,sun是斯坦福大學網路的意思,夾帶兩個私貨,aspectj有一個維護小組在mcgill,hbase跟waterloo關系密切。
20)java早期被人認為慢,跟java堅持不用硬體加速渲染有關,死活就是不肯接入directx和opengl,7之後總算開竅,搞了一個圖形引擎接入了directx/opengl。
21)casssandra是facebook做失敗的項目,被貢獻給了apache之後老樹開花。
22)groovy被貢獻給了apache,現在叫做apache groovy,ceylon被貢獻給了eclipse,現在叫做eclipse ceylon。
23)netflix現在是java shop,之前是用.net的。
先想到這么多,有空再寫。