{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

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

Mr_zhangMr_zhang 回答0 收藏1
问题描述:本人计算机专业,想做开发,现准备给生产力工具换个系统,目前使用的是win10,要不要换成Linux呢?哪种Linux更好呢?
收藏问题

10条回答

mcterry

mcterry

回答于2022-06-28 09:56

做开发要分情况,题主没有说要做什么样的开发。

  • 图形界面编程还是Windows有优势。做开发用什么语言,基本上都要借住图形界面的编辑器,有代码补全、代码提示等智能、快捷的功能。C/C++、Python、Java、JavaScript等流行的语言都有相应的编辑器。

  • Linux如果是文本界面,就一个vim编辑器,没接触过vim的人初学时会非常郁闷,而且只能键盘操作没有鼠标支持,什么代码补全、代码提示功能全都没有。Linux也有图形界面,对个人电脑支持最好的当属Ubuntu系统,一些常用的编辑器也可以支持,只不过没接触过Linux的人要熟透一阵子。

  • 建议Windows下安装虚拟机来支持Linux的安装。大多数开发的程序,最后都要部署到Linux系统上去,比如ucloud云、ucloud云等。那需要Linux环境来测试,本机最好的方式是安装Vmware,然后在Vmware安装Linux虚拟机,可以模拟完整的Linux操作系统。

  • 哪种Linux更好,要看具体用途。最流行的是CentOS和Ubuntu两大Linux系统,根据不同需求来选择,必要时相互转换也是可行的。

评论0 赞同0
  •  加载中...
dunizb

dunizb

回答于2022-06-28 09:56

我们知道,现在熟为人知的操作系统主要有: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。

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

评论0 赞同0
  •  加载中...
jonh_felix

jonh_felix

回答于2022-06-28 09:56

确实,题目范围还是太粗糙了。猜测题主是计算机专业的学生,还没毕业。

其实除了Windows和Linux系统,还有苹果的MacOS也不可忽视。

这三个平台:

Windows

对办公软件和游戏软件支持最好,同时题主也很熟悉。

用来办公、完成课程中的语言学习(如C,Python)、进行单片机开发、Android开发、Matlab开发等都不错。硬件工程师用来做PCB设计也很合适。


Linux

对开源相关开发支持最好,对非微软体系的后端开发支持最好,对EDA软件支持很好,硬件支持的范围最大,游戏和办公软件很差。

如果题主想做Web/App后端开发,想做点芯片设计(从芯片架构到后端布局布线),想做点复杂算法研究(考虑代码向超算中心移植的方便性),Linux更合适。

至于发行版,可以考虑Ubuntu Linux和国产的深度系统,安装和桌面都算比较容易入门的。


MacOS

苹果的macOS系统介于Windows/Linux两者之间:办公和游戏软件支持中等,对开源相关开发支持中等。

如果题主想做移动App开发,macOS是不二选择。iOS的Xcode,Android的Android Studio,第三方工具链如微信小程序、Cocos2D, Unity3D等等,都能很好的支持macOS系统。用来做Web前端开发也不错。


最后,如果是用来学习,建议试试Ubuntu Linux/macOS系统。给自己换换环境,换换思路,能坚持下来肯定不会白费这番功夫。

评论0 赞同0
  •  加载中...
mgckid

mgckid

回答于2022-06-28 09:56

mac最佳 → linux稳定 → windows一般

把三个系统都装在你的电脑上,使用一段时间你就知道。

评论0 赞同0
  •  加载中...
jkyin

jkyin

回答于2022-06-28 09:56

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

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还有相对友好的图形界面,是合适的。

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

评论0 赞同0
  •  加载中...
techstay

techstay

回答于2022-06-28 09:56

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

评论0 赞同0
  •  加载中...
isaced

isaced

回答于2022-06-28 09:56

单纯的三个字——“做开发”,我是没有办法向你推荐使用什么操作系统的。因为,“开发”的种类太多了。不同的语言,不同的用途,使用的操作系统是完全不一样的。

举个例子,如果你需要学习的是C#语言,准备开发.Net程序,我傻不拉几的推荐你学习Linux系统,估计会被各位看官打出Shit来……

所以,我只能假设你想要从事的开发工作,是既可以在Windows平台上开发,又可以在Linux平台开发的。因为只有这样,才有所谓的选择操作系统的问题。

其实我本人一直都是使用Linux或者MacOS系统来进行开发工作的,我是一个前端工程师,有时候需要写点Python脚本或者Shell脚本,所以我使用Linux系统是非常方便和舒服的。

但是,绝大多数开发者都是使用Windows平台的。因为大多数开发者从小就是在Windows平台上学习和工作的,因此使用它来进行开发工作就再正常不过了。所以,如果你从事的开发工作对操作系统没有特别的要求,选择你最顺手的操作系统来进行开发是完全没有问题的。

毕竟对于你的客户来说,最重要的是你产出的产品的质量如何,而不是你使用什么平台开发的更重要。只要你的产品好用,哪怕你是用智能冰箱上的系统开发出来的,客户也没有任何意见。

只是,我个人建议,作为一名开发工程师,还是要开阔自己的眼界。如果你一辈子只会使用Windows操作系统,虽然不会对你的开发工作产生任何的不良后果,但是总是让人觉得有一点点遗憾的。

所以,如果可以的话,我建议你还是稍微学习和掌握一些Linux操作系统会比较好。

如果仅仅是把Linux系统作为服务端,你可以选择CentOS或者Ubuntu Serve这两个版本的系统。前者在国内十分流行,因此中文资料相当好找。后者则是后来居上,目前在国外来说,已经超越CentOS成为最主流的服务端操作系统。

如果准备把Linux系统作为终端系统,用于平时的开发工作,我个人建议你首先选择Deepin系统,因为这款系统上手比较简单。有了一定的Linux基础后,可以尝试Ubuntu系统或者Debian系统,可以玩,也不难。如果想要深入了解Linux,建议在有一定的基础后,使用Arch Linux系统。玩转之后,基本上没有一般的Linux问题可以难住你了。

所以,工作方面,你可以选择自己熟悉的Windows。作为拓展,你可以尝试Linux系统。在两个操作系统都有所了解之后,你会根据自己的内心去选择适合你的操作系统的。

以上。

我是FungLeo,关注科技领域。如果喜欢我的回答,请一定要点赞!关注!多多转发哦!当然,各位看官有不同观点,欢迎在评论区与我一同讨论哦!

评论0 赞同0
  •  加载中...
jsdt

jsdt

回答于2022-06-28 09:56

那就要看具体的工做需求了

从工作需求来看



在做开发之前,首先确认一下自己要做什么,是手机APP计算机应用,要用哪种语言,C++还是java?因为linux和windows这两种开发环境还是有不小的区别的,理论上除了windows专用开发环境(.NET之类)在windows上的体验更好以外,绝大多数开发环境在linux上也跑的通。像java为,python都可以跨平台,从yum直接下载安装包就行了,速度慢就换一个源镜像。而且在linux下安装会更方便,全部是自动配置。不用想windows下还得自己手动添加path路径。只会更方便。 现在linux社区越做越好,IDE也很丰富,觉得那个顺手就选择哪个。


如果是是开发网站,就需要再从易用性和稳定向两方面考虑

开发网站和开发应用不同,网站考虑的问题要多一些。比方说安全性,因为windows毕竟是一个面向个人用户的系统,问题比较多,微软都努力了这么多年了,还是在不断的打补丁修漏洞,所以在稳定性略微逊色。而linux则要稳定的多,因为开源的特性,一直都有人在维护和更新,漏洞比较少。而且linux的图像界面占用资源不多,运行速度也要更快一点。


还有就是易用性,windows只用点点鼠标就好,但linux几乎全是命令,不熟悉的人看了肯定会一头雾水,一条命令输错可能就会导致整个网站崩盘。所以在这一方面,选择windows作为主机要更好一些。

评论0 赞同0
  •  加载中...
curlyCheng

curlyCheng

回答于2022-06-28 09:56

首先给你明确一点的是,我们做开发不是选操作系统,而是选开发语言。语言都是支持跨平台的,也就是说你开发出来的软件既可以部署在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能早日广泛应用。加油!

评论0 赞同0
  •  加载中...
Wuv1Up

Wuv1Up

回答于2022-06-28 09:56

做开发?是在基于系统来做开发,还是只是想换一个电脑系统?


Linux系统与windows系统作为当今使用的最多的两个系统,对于开发人员我们怎么来选择呢?


首先,如果我们的工作或者学习,不使用Linux系统,而是在其他软件上做开发,我建议采用windows系统。

(1)windows相比于Linux系统而言,我们应该是再熟悉不过了,如果使用Linux系统,我们需要花大量的时间去学习怎么操作该系统,那操作的难度相比windows大很多。linux都是用命令行操作,不像windows只需要点击。

(2)在windows系统上安装我们所需的软件,网上也有很多教程可参考,而且学习和操作起来也有很多资料参考;而对于linux而言,可能难度就很大了。


如果,你是做linux开发的,有两种选择一是使用windows,还是就是使用linux。如果这样,我还是建议你使用window,在他的基础上装一个linux,这样两个系统都可以使用;如果只有Linux系统,估计只能用来开发了,其他聊天,开视频这些就比较麻烦了。


最后,哪么对于linux这么多版本,哪个比较好呢?目前,流行的Linux版本有Ubuntu,CentOS,Debian,OpenSUSE Leap,Fedora,Red Hat Enterprise Linux,Oracle Linux,Mageia,Arch Linux,Slackware等,这些都是基于linux内核,其实都大同小异。这么多版本,一般对于企业大部分用CentOS,Debian;对于学校,学生而言大部分用Ubuntu,在windows上安装虚拟机。


最后,做开发这些,没必要只去安装linux系统,就在电脑上装两个系统,建议使用centos,毕竟公司很多用这个。


评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<