在企业中从事后台开发工作的程序员一般是在linux上写代码还是在windows上写代码?

开发人员是基于Linux系统来写代码还是基于Windows系统来写代码,是需要区分场景的,不同种类的应用,开发环境是有一定要求的:

(1)、如果开发人员开发的是EXE程序,毫无疑问,开发是需要在Windows平台上编写代码的;

(2)、如果开发人员开发的是iOS应用,必须在MacOS上写代码;

(3)、如果开发人员开发的是Android应用,可以在Windows系统或者Mac机上写代码;

(4)、开发Java应用,在Windows/Linux/MacOS上都可以写代码,但建议在Linux环境下写代码(虽说Java是跨平台的,但也有一些代码是平台不兼容的);

以上,可以总结一下:如果开发的应用是针对特定平台的,则需要在特定平台上写代码;对于跨平台类的应用,一般建议在和部署环境一致的开发环境中写代码,以此确保兼容性。

我在BAT工作,我们公司默认是这样的,校招/社招人员入职发放Mac机器,实习生入职配Windows机器。以上机器都是三年使用期,使用期到了之后可以更换,实习生的话继续使用Windows,正式员工的话可以自由选择Mac或者Windows。

根据我观察,基本正式员工,无论什么前端平台开发还是后端开发,都是使用Mac。

上面很多人提到了说在Linux环境开发的代码,编译出来可以直接放到服务器上运行。

这倒不是我们喜欢使用Mac开发的原因。在大公司,为了安全规范与稳定性起见,通常是不会允许你在本地打包,然后本地上传到服务器去部署的。因为不同的环境打出来的包是有差异的,有可能影响上线后的服务稳定性。举个例子,一个正式员工刚刚换了一个新的电脑,本地打了个包,看起来没啥问题,但是其实可能新电脑还有些配置没有配全,这个正式员工忘记了,导致上线后这个war包根本不可用,甚至服务起不来,就会带来不好的影响。因此,大公司都会有标准的流水线,程序员都是提交代码后,通过流水线打包,从而保证包的稳定性的。

基于上面这种情况,基本上大部分的后台开发,都不会挑剔代码是写在Linux还是Windows上的了,只不过考虑到Mac确实能覆盖大部分场景,以及可以用来zhuangbility,因此还是用Mac的程序员居多。

最后补充一句,程序员在提交代码之前,是需要自测的,因此还是要保证自己的电脑环境与代码运行环境相匹配才好。

以上是我的个人浅见,如有想法,欢迎在下方与我沟通或给我点赞。

我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。

企业中搞后台开发工作的程序员一般都是在linux上写代码的。原因嘛,一是企业没钱,二是linux支持社区成熟。详细来说是这样滴:

一、linux大多数免费

企业嘛,当然是以盈利为目的。那么使用的资产当然要选性价比高的或者完全就是免费的。比如程序员就可以选刚毕业的学生,便宜啊!

开发平台选linux是因为很多linux的发行版都是免费的。像用过的suse linux,centos linux等都是免费的,不要钱的。公司要上哪个linux的发行版,直接在网上搜索与下载,快的很,也方便的很。

windows嘛毕竟是微软耗时耗力开发出来的系统,可视化方面确实无人能比,封闭性又比较高。这么好的系统微软当然不会免费提供了。如果后台使用windows开发,首先要购买正版windows服务器版,然后每年可能还要缴纳维护费,一般企业谁受的了?

二、linux支持社区多

后台开发使用linux后,程序员肯定也会遇到系统问题。不过你以为免费的系统就没人维护吗?大错特错!

linux是这么的流行,吸引了全世界的众多程序员来保护它、维护它、完善它。网上linux维护社区特别多,基本你遇到的系统问题在维护社区里都能找到,根本不用担心linux用不了的问题。

你看,免费的linux还有这么人维护,谁还会用付费的win系统呢?

所以啊,后台开发使用linux是主流。今后你想从事程序员工作的话,还是得多多在linux上练习才行。

计科专业从事嵌入式软件开发十几年,代码基本上都在linux下完成,刚入行前两年代码还在windows上写,现在编程语言基本上都支持跨平台,所以无论是在windows上或者linux上写的代码都能通用执行,所以编译环境的没有必要上纲上线大惊小怪,这些问题可能只是局外人或者刚入行的人会在乎在什么环境下编程,选择什么操作系统编程主要和个人的使用习惯以及公司开发的项目有一定的关联,真正的编程高手也不会太在意是在什么系统上完成代码的编写。

程序员倒是一种非常奇怪的群体,最近部门有个人调试C语言的代码习惯在eclipse来调试,为了能够支持调试方便,每次在提交代码的时候,都要进行两次加工,毕竟eclipse建立的工程和直接在linux下用手动写的makefile规则有一定差异,每次代码提交的时候还需要折腾一段时间,但已经习惯于eclipse上调试代码,而且效率还非常高,所以个人的编码习惯非常重要,不要过分去追求什么操作系统一定就是最厉害的之类的话语。

曾经有一段时间特别执迷于linux系统,直接公司电脑上来就安装了linux,然后在linux里面安装个windows虚拟机,毕竟在linux不能完成所有的工作,比如淘宝买个东西,用网银支付这些在linux上支持的不是很好,还有一些常见的软件在linux下也很难找到,整体来讲linux对于PC端的支持距离windows还是有非常大的差距,但并不意味着linux就没有大多的市场,现在主流的服务器基本上都是linux,还有现在手机端操作系统基本上都是基于unix体系下构建出来的,linux操作系统使用人数并不比windows要少,算起来总量还会更多,至于对于程序员本身来讲属于萝卜青菜各有所爱。

写代码的本质是解决项目中遇到的实际问题,现在很多程序员属于理想主义者,或者有什么情怀整体来讲,喜欢活在自己的世界里,觉得技术就是神圣不可侵犯的,技术本身就是给产品或者项目服务,脱离开这个范畴的技术讲变得毫无意义,延伸到设计编程工作中,很多程序员对于各种需求响应态度不是很积极,觉得都是用户在改动需求都是不懂技术的一种表现,技术高手就是通过各种场景的技术攻关,提升在行业内的威望,程序员首先要有技术服务生活的意识,高的格局早就高的成就。

编程环境乃至编程语言都是围绕编程思想服务,过多的纠缠于细节很容易让技术困扰着自己的思想。应该来讲从事后台开发的技术人员涉及到的编程环境由个人喜好以及公司具体的要求息息相关,从本质上讲没有必要在编程的环境以及工具上较真,把精力放在编程核心上才是硬道理。

希望能帮到你。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注