开发用linux还是windows linux开发和windows开发区别

网友提问:

做开发,到底是选择Linux系统还是Windows呢?

优质回答:

我们知道,现在熟为人知的操作系统主要有:Windows、Linux、UNIX、macOS。因为Windows的可视化视窗操作体验让它在国内最为流行,无论是普通家用还是企业办公99%都是用Windows系统。

但要知道,像IT行业用Linux系统的居多,有不少开发者就存在这样的疑问:开发者到底是选择Linux系统还是Windows系统呢?

线上服务器操作系统强烈建议选择Linux类系统

在这些系统中,Windows和macOS主要是用来家用及日常办公的,而Linux和UNIX就是偏于专业化的生产环境了。

虽然Windows家族也有Windows Server服务器操作系统,但是在IT圈内而个共识就是Windows的稳定性及安全性不如Linux(虽然Windows系统也是很好的系统),所以对于线上服务器操作系统的选择强烈推荐选择Linux类系统,这也是大势所趋!

为什么说Windows Server在安全性及稳定性上不如Linux类系统呢?主要原因有以下几方面:

1、Windows Server桌面式操作相比Linux更耗资源

Linux虽然也有桌面版,但线上生产环境99%情况下不会安装桌面环境;而Windows Server桌面化操作会占据较多系统资源,对服务器硬件要求高。

2、Windows Server在权限控制上不如Linux

如果你身边有一些.NET开发者,你会发现当他们遇到权限问题时就会简单粗暴的给文件夹设置everyone可读可写可执行权限。另外Windows很多系统文件的权限设置也不合理,不如Linux权限严格。

3、Windows Server在安装某些补丁或功能时要求强制重启

举个例子吧,Windows在安装某些系统补丁或者像IIS安装SSL证书时会要求强制重启服务器,这对于线上服务器而言就是致命性操作!Linux则不会出现这种情况。

线下开发环境建议采用Windows宿主机+虚拟机方式开发

对于开发人员的开发环境,并不建议直接使用Linux操作系统,因为在开发时会涉及到很多对接工作,如:

要用聊天工具沟通需求;

查看各种类型的开发文档等。

Linux系统并不适合家用办公使用,有它的局限性。所以为了高效开发建议开发人员在Windows宿主机上安装虚拟机,将Windows上的目录挂载到Linux虚拟主机里,在Windows上开发及访问,在Linux下运行代码。

Linux发行版本的选择

无论是线上生产服务器还是线下虚拟主机安装的Linux系统,建议选择主流的Linux发行版本。

现在Linux发行版本太多了,最常用的有:RHEL、CentOS、Ubuntu、Debian等。考虑到普及度,建议采用CentOS。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

其他网友回答

这个问题本质不是哪个系统好。而是你需要什么。

1,开发和运行平台。你开发的软件主要运行在哪个平台,就应该尽量选哪个平台。或者说你是OS工程师?如果你是Windows工程师,当然要选择Windows当开发机方便,反之,如果是Linux开发者,使用Linux内核的是标配。

2,开发环境。要选择成熟稳定适合开发的环境,效率优先,选择熟悉的平台。比如你对Windows熟悉就要选Windows,反之亦然。另外主流语言和IDE工具都多平台支持了,使用上没什么区别。要熟悉相关键位,不同OS键位有区别。

目前mac风气和Linux崇拜风气很盛,这里面有原因的。中国大部分程序员都是互联网程序员,其中又大多数是高级语言开发工程师,如Java,Go,PHP,Python等。也有偏前端的,如iOS,Android,Nodejs等。

高级语言的互联网项目,服务端一定会部署到Linux中,后续运维要打交道。所以对于Linux有要求。而前端和客户端要不必须xcode要不就是nodejs也是对于类Linux有要求。 mac不但类Linux还有相对友好的图形界面,是合适的。

对于新手不要盲目去图形界面。因为开发需要环境更需要效率。没有图形界面很难保证效率。

其他网友回答

没有必要特意去选择系统,因为以后开发环境不是你算了算的,公司让用啥就用啥。你也不用担心,现在用Windows,以后要用linux会吃力。这个你完全不用担心,我自己原来是在Windows下开发的。后面换公司,换成linux。我linux渣渣,现在一样用的挺好。多用比你看书,有用的多。

其他网友回答

首先给你明确一点的是,我们做开发不是选操作系统,而是选开发语言。语言都是支持跨平台的,也就是说你开发出来的软件既可以部署在Windows系统上,也可以部署在Linux系统上。根据本人这么多年的软件开发工作经历,谈一下自己的一些观点

1.就操作系统而言,现在主要为Linux,Windows,android,ios,而Linux和windows主要用于PC或服务器,android主要是移动终端了。苹果专属IOS就不说了。

2.移动终端来说,目前IOS和android占据主导地位,而且相互之间不能兼容。所以开发移动端APP程序都需要分别开发android版本和IOS版本。对于开发者来说增加了很多工作量。

3.PC机器来说,目前主要是Linux系统和Windows系统,而服务器端两种操作系统均占据一定份额,终端机器来说,目前还是Windows系统应用居多。Linux系统开源免费,用户可定制修改,而windows系统收费,有微软提供技术服务。Linux系统相对于Windows系统来说稳定性及安全性更高,所以目前广泛应用于大型系统服务器。

4.我们目前的开发语言,很多都是支持跨平台开发的,也就是说开发出来的软件可以同时支持在多个平台上部署。而现在很多的应用系统都是BS架构,主要是开发部署在服务器上的服务程序。我们就选择支持跨平台的开发语言就可以了,比如java,c#,python等都是很主流的开发语言。

5.当然,我们也希望我们国家自主研发的操作系统鸿蒙OS能早日广泛应用。加油!

其他网友回答

Windows作为电脑的宿主OS,使用虚拟机软件如VirtualBox安装自己熟悉的Linux发行版本。

具体做法可以是:Vagrant管理虚拟机Virtualbox、虚拟机内部安装Docker和Docker-Compose软件包管理开发测试环境。编程IDE直接用VS或者其他的都可以。


为您推荐