目前后端服务器系统很多都是采用Linux或Unix系统,所以做后端程序开发的研发人员大多在Linux系列平台下进行开发。做前端开发的研发人员大多都在Windows平台下进行开发,其实在哪个平台下开发更多的是基于任务来进行划分的,如果程序将来会部署在Linux系统下,那么自然在Linux系统下进行开发更方便一些。下面根据不同领域的开发进行一个简单的介绍:
web开发领域传统的web开发语言比如Java、PHP、Python大部分都会把服务端部署在Linux系列平台,所以在Linux系统中对Java、PHP、Python的支持都比较全面,比如Linux会自带Python开发环境,所以在Linux下进行Python开发就比较方便,很多程序员都比较愿意在Linux下进行Python开发。使用PHP的程序员可能感触更为深刻一些,因为PHP的运维环境就是在Linux系列平台下,所以使用Linux进行PHP开发不仅方便,同时也统一了开发环境和运维环境。
大数据开发领域做大数据开发的程序员基本上都是在Linux系统平台下进行开发的,因为目前流行的大数据平台比如Hadoop、Spark等都是基于Linux平台部署的,编写完程序后也要在Linux平台下运行,所以基本上程序员都会在Linux平台下进行开发和测试。另外还有一些用于大数据开发的组件都只提供了Linux版本,所以在Linux下开发就成了必然的选择。
物联网开发领域物联网开发领域会更多的接触Linux平台,基于嵌入式系统的程序设计基本上都是在Linux平台下进行的,使用vi或vim编辑器在Linux平台下使用C语言进行程序设计是嵌入式工程师的标配。很多嵌入式硬件产品上的系统本身就是基于Linux系统的,所以这些运行在嵌入式设备上的软件使用Linux系列平台进行开发就很方便了。
云计算领域目前国内云计算领域Iaas的解决方案大部分都是基于Linux加openstack,目前无论是搭建公有云还是私有云这都是比较普遍的解决方案。当然这部分的开发也是基于Linux系列平台,所以在云计算领域Linux系列平台也是主流的开发平台。
应用程序组件开发应用程序组件开发主要指功能组件开发,这部分开发既可以基于Linux系列平台,也可以基于Windows平台。比如使用Java开发一个数据库中间件,在Linux下开发和Windows平台开发并没有太大的区别,用哪个平台方便就使用哪个。
综上所述,在大数据、云计算和物联网领域的开发很多都是基于Linux系列平台,而这部分开发的难度也比较大,所以给人的感觉就是很多高水平的研发人员都在使用Linux系统平台。但是并不是说使用Windows平台的研发人员水平低,用那个平台主要还是以开发任务为导向的。至于开发环境的问题就是仁者见仁智者见智的问题了,用习惯vim的程序员都觉得其它的编辑器不方便,当然不习惯vim的程序员也可能并不认为vim有多方便。