- 龍芯應用開發標準教程
- 靳國杰 張戈 胡偉武
- 1491字
- 2019-10-23 18:19:54
1.5 龍芯開發者
1.5.1 兩種程序員
在任何一個軟件生態中,存在兩種類型的開發者,也可以叫作兩種程序員。一種叫作“系統軟件程序員”,這種程序員主要面對的是操作系統本身,工作的目標是把操作系統平臺打造好。另一種叫作“應用軟件程序員”,他們工作的層面要比操作系統高一級,主要目標是開發無窮無盡的應用軟件,每一種應用軟件都使這個軟件生態更加多姿多彩,如圖1-13所示。

圖1-13 兩種不同角色的開發者
一般來說,系統軟件程序員的技術門檻要高于應用軟件程序員。由于系統軟件和底層硬件結合非常緊密,需要開發者對硬件設備、操作系統、編譯器、體系結構、匯編語言都要有清晰的了解,并且對于所開發軟件的性能要求非常苛刻,只要是計算機專業的基礎課程都能派上用場,所以要求開發者的“基礎素質過硬”。而應用軟件程序員的技術要求則相對簡單一些,只需要弄清楚功能需求,使用Java、C/C++、Python等某一種面向應用程序的編程語言正確地實現功能,一般就能夠勝任開發工作。正因為如此,市面有不少書籍傳授“21天精通Java”,事實上只要稍加努力也不難做到,但是從來沒有書籍號稱“21天能夠精通操作系統”,系統軟件程序員需要閱讀的書單如圖1-14所示。
對于龍芯的開發者來說,系統軟件的開發者當然可貴,而應用軟件的開發者更為重要。因為系統軟件的開發是有一定邊界的,只要把操作系統做到功能齊全、穩定可靠,能夠滿足普遍的使用要求,一般不太會有持續開發的工作任務,這時候系統軟件程序員基本就是“完成使命”了。而應用軟件則是沒有邊界的,不同領域、行業都需要大量的應用軟件來支撐業務運行,而且是隨著需求變化而不斷維護升級的。社會越發達、經濟發展水平越高,對應用軟件開發的需求則越大。
應用軟件開發者不僅需要吃透傳統的Java、C/C++等編程語言,還要掌握Web領域的JavaScript、HTML、CSS等語言,更要追趕jQuery、Bootstrap、AngularJS等框架,應用軟件程序員需要閱讀的書單如圖1-15所示。

圖1-14 系統軟件程序員的書單?

圖1-15 應用軟件程序員的書單
總的來說,應用軟件程序員會比系統軟件程序員的學習任務更重,在建設軟件生態的道路上付出更多的勞動。經過十多年的積累,龍芯的操作系統已經基本達到穩定狀態,后面的推廣工作需要將大量X86電腦上的應用軟件移植到龍芯電腦上,在這個階段唱主角的顯然是應用軟件開發者。
1.5.2 怎樣成為龍芯開發者
本書的寫作目的就是為讀者介紹龍芯電腦的操作系統、軟件平臺、編程環境,使讀者能夠在短時間內學會在龍芯電腦上開發應用軟件的技術,進一步促進龍芯軟件生態的繁榮。
想成為龍芯開發者非常簡單,只要執行以下步驟,如圖1-16所示。

圖1-16 龍芯開發者的成長之路
STEP 1 獲得一臺龍芯電腦。由于龍芯 CPU 和 X86 是“不兼容的”,這個本質的不同點決定了不能在龍芯電腦上安裝 Windows,也不能在 X86 電腦上安裝 Loongnix。所以如果要進行Loongnix 的應用開發,購買一臺龍芯電腦是必要的,前文已經介紹了通過開發者計劃購買龍芯電腦的渠道。
STEP 2 在龍芯上電腦安裝Loongnix。要熟悉基于Loongnix的開發環境,明白其和Windows開發環境的區別,以后就要在這樣一個全新的環境中工作。
STEP 3 通過學習本書,掌握在龍芯電腦上開發應用軟件的技術。如果讀者只需要進行某種編程語言的開發,那么不必要從頭到尾閱讀全書,只需要直接跳到介紹這種語言的相關章節就可以學習開發。
STEP 4 通過實際案例不斷增長經驗。讀者經過若干個項目的鍛煉,對于龍芯電腦能夠積累更多的使用經驗和心得體會,這樣就完成了從不熟悉到熟悉的轉變,就會發現在龍芯電腦上開發應用的更多優勢,以后會越來越喜歡龍芯電腦。
STEP 5 分享你的經驗。可以在龍芯社區上注冊賬號,下載開發資料,與其他開發者進行交流,在獲得一定的開發成果后則可以將之提交到社區上,讓全世界的龍芯用戶都能夠受益于你的貢獻,共同把龍芯生態建設得越來越好。
- 龍芯應用開發標準教程
- SDL Game Development
- 計算機組裝與系統配置
- Unity 5.x Game Development Blueprints
- AMD FPGA設計優化寶典:面向Vivado/SystemVerilog
- Artificial Intelligence Business:How you can profit from AI
- Svelte 3 Up and Running
- 嵌入式系統中的模擬電路設計
- 基于Apache Kylin構建大數據分析平臺
- 筆記本電腦應用技巧
- Source SDK Game Development Essentials
- The Artificial Intelligence Infrastructure Workshop
- 計算機電路基礎(第2版)
- 微控制器的應用
- USB應用分析精粹:從設備硬件、固件到主機端程序設計