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

郜素清


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

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

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

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

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

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

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

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


苏苏思量


计科专业从事嵌入式软件开发十几年,代码基本上都在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要少,算起来总量还会更多,至于对于程序员本身来讲属于萝卜青菜各有所爱。

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

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

希望能帮到你。


大学生编程指南


在企业中从事后台开发,一般用什么操作系统,其实主要还是得看你在什么企业、具体从事什么岗位。

国内程序员大军还是Windows最多

国内的码农,基本上有80%以上还都是用Windows电脑进行开发,这主要有两个原因。

  • 对中国码农来说Windows是用户习惯

跟美国深受Linux/Unix哲学影响不同,中国的程序员基本上都是在Windows环境下成长起来的,计算机进入中国市场的时候,基本上都是Windows电脑走入千家万户。


加上中国的计算机教育开始比较晚,Windows已经成了主流桌面系统,等到个人计算机开始普及的时候,我国基本上才有成熟的计算机教育体系,Windows电脑就顺理成章成了主流。

国外的程序员则不一样,尤其是发达国家,很多家庭很早就能买起个人电脑,几乎每个家庭都有,即使是现在,国内计算机都没有完全普及。国外的程序员成长起来伴随的是Unix/Linux哲学,跟国内不一样。

  • 对企业来说Windows电脑相对成本更低

问题来了,macOS成本又比较高,那么就只能买Windows PC或者Linux PC,不会选择Mac电脑,毕竟对于小企业来说,Mac的成本确实有点太高了。

而大部分在Windows环境下成长起来的中国程序员,还是会更多的选择Windows,而不会选择将自己的电脑换成Linux,毕竟玩命令行对于很多人来说难度太大,从头学起成本饿又太高,除非必要,否则主力Windows系统。

大厂基本都是MacBook Pro

不过现在有个趋势,在互联网大厂,基本上都是MacBook Pro作为开发机,除非是有个人要求或者说特殊需求,比如有的会用Linux、有的会用Windows,或者根据自己的需求不得不用Windows等等,除此之外基本标配MacBook Pro作为主力开发机。

  • 那么这些大厂包括哪些呢?

比如在Google基本上就是定制版的Ubuntu和macOS作为主要系统,Facebook大多数人都会使用MacBook Pro,年轻的一些Uber、snapchat、Instagram也大多会用MacBook Pro作为主流开发机。

国内比如阿里巴巴、腾讯、百度、字节跳动、小米、滴滴、美团、饿了么、拼多多、蘑菇街等众多的比较靠前的企业,办公电脑也会有很大比例的MacBook Pro电脑,并且一般也都是高配15寸的作为主要开发机。


  • 为什么大厂喜欢给员工配Mac电脑

总结起来其实就一句话:省心、高效!

macOS是FreeBSD亲儿子,也就是说这货是Unix,基于Unix意味着Unix/Linux众多的工具拿来就可以用,什么Emacs/Vim、各种shell等等简直不要太方便。

而且能够兼顾好日常使用和办公,Windows写代码没有macOS爽,Linux很难兼顾日常生活使用,macOS则是寻求了一个相对平衡。

最后就是稳定、高效,我用这么多多年Mac,不用考虑关机、从来没有过病毒、从来没有出现过崩溃的问题,盒盖即走、开盖工作。一切都是为生产力工具而定义的。

当然Mac电脑还有很好的工艺设计水平,本身也可以算作一种员工福利。总之,目前来说Windows是主流,少部分Linux,大厂都基本标配MacBook Pro,我觉得一个程序员应该拥有一台MacBook Pro,当然你说你是.NET除外,你说你忍不了苹果居然没有一个像样的官方的包管理除外。


EmacserVimer


看做什么具体开放方向咯 ,现在很多语言都能通用 看公司开发使用习惯的历史了 。第一 这个一般由高层和技术负责人来定调 。如果公司文化传统用Win, 那么大家就普遍会用Win,如果传统用Linux , 也就技术队伍就会普遍用。 第二 和公司项目有关 如果负责嵌入式和服务器之类底层方向的就多些 用linux, 如果是负责一些对象客户需要win方便的话 ,那也必须用win啊,比如税务系统要求用win才能装纳税软件. 那开发这软件就不会用Linux ,毕竟这是政府项目随时要看情况的 .三 从程序员个体来说 ,和周围朋友观察了解 ,应该Linux>Mac>Win ,毕竟编程久了还是直接面向底层方便些 ,也更容易把握电脑安全情况 .Win的通用漏洞太多 ,随便一个非技术人员搞到几个高端黑产工具就容易一不小心中招 , 麻烦 , 自我系统管理也不自由太多约束 , 所以单独来说 , 觉得程序自己私底下应该是Linux多些。


人前摇扇


大多数企业应该是优先使用linux,就以我上班公司为例,除了qa设计之类跟代码不相关的工作岗位一般都是用windows系统,跟开发相关的几乎都是linux系统,原因无外乎以下几点。

linux开源

linux是开源,使用linux是不需要付费的,相反windows系统企业使用的话,可能需要花钱购买。

命令行功能强大

其次,linux命令行功能极其强大,windows在这方面可能就逊色许多了,命令行功能强大,对于开发来说是一件极有帮助的事!linux下shell>

性能和安全

由于轻巧的架构,linux的运行速度比Windows 系统都要快。还有两者权限设计有很大差别,Linux相较与windows权限多而且复杂,windows权限设计上过于简单,这就导致linux安全性较windows高。

所以企业可能选择linux的较多,对于开发人员来说,也习惯于使用linux!

不足之处,欢迎补充!


凉了个小秋


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


一、linux大多数免费

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

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

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

二、linux支持社区多

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

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

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


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


C语言编程答疑


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

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

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

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

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


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


网络圈


我是做python开发的,我们每个人都有一个linux开发服务器。代码是写在服务器上的。


无关肿痛


大部分在Windows...少部分在macOS.......Linux写不了代码...或者说Linux也就只能写代码...


ACME63610374577


我都是装个虚拟机,然后把代码全部拷贝到windows下用sourceinsight查看代码找问题,然后回到虚拟机里用gedit直接写或者ctrl c/v,调试嘛一般printk或者printf就可以了!有没有和我一样的?为啥不专业,因为做的太多了,设计机械图,电路原理图,布线,写FPGA程序,还得调试硬件,上位机的qt界面也要做,有时候还得上simulink仿真优化算法,实在是没时间研究那么细,除了c和verilog好一点,别的都是用的时候语法都会忘,必须把以前的代码打开看看,就像微信的小程序即开即用,用完即忘!


分享到:


相關文章: