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 分享你的经验。可以在龙芯社区上注册账号,下载开发资料,与其他开发者进行交流,在获得一定的开发成果后则可以将之提交到社区上,让全世界的龙芯用户都能够受益于你的贡献,共同把龙芯生态建设得越来越好。