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

问答专栏Q & A COLUMN

是不是Linux下开发更高效?

yuxueyuxue 回答0 收藏1
问题描述:如果是,为什么?如果不是,为什么很多前辈鼓励菜鸟学习linux和开发,意义何在?
收藏问题

3条回答

iflove

iflove

回答于2022-06-28 09:56

先回答问题:不是

我自己服务器选择的是Linux系统,带的团队也让他们清一色Linux,公司服务器我也是选择这个系统,说一下为什么有的时候要选择Linux系统,或应该学习linux系统。

对系统的熟悉会决定开发效率

首先回答下题主的问题,选择Linux与否,其实与开发效率关系并不是太大,有的时候,换系统带不来更高效的开发效率,反而增加了不少学习成本,使用自己熟悉的会比较好一些,反而开发效率更高。

虽然Linux下有vim这类大神级别的编辑器,但win也弱,07年那阵子,一直就在win上开发的,一样不慢,我认识的很多人,有不少在win下开发的,需要Linux环境,装个虚拟机解决,所以,其实与开发速度没什么太大关系。

服务器系统需求

开发项目,要上线,你迟早要部署的,就是部署到服务器环境,这就导致你不得不学一些Linux相关的操作或知识。

大部分情况下,服务器都会选择Linux系统的,win占很数。

虽然开发环境和生产环境(服务器系统)有时候不一样,并不会对你的项目有太大的影响,比如我第一家公司一直在win下开发java,公司里所有人都用的win系统。但最好的情况,是你的开发环境与服务器环境要保持的高度的一致性,包括版本和补丁。

因为,一个小的改变会引起很多操作上的不同。

比如去年在Ubuntu下做了个java有关socket的项目,但服务器用的是CentOS,部署时那个费劲,Ubuntu不用关心的东西在CentOS下是另一个样,整整费了我一天时间才弄好。


开发语言不允许

是的,与开发语言有关的,大部分语言是跨平台的,但有少量语言比较奇葩,比如我上家公司用的语言,ruby同学。

你可以在Linux下用,也可以在mac下用,都可以获得非常好的体验,但是,如果你在win下用,嘿嘿,你可能会很耗心力。

一般过来人会这么劝你,如果你不想给自己找太多麻烦,不要在win下做ruby的开发。

因为你会遇到各种各样的奇葩问题,而且有很多时候没有解决方案。但在Linux下,前辈们都趟过水了,你可以在网上很容易找到相应的解决方法,以帮助你度过难关。

Linux系统优势

很多人接触了linux环境做开发,比较多的感受是:配置环境容易,自由度好一些,安装软件也方便,比如你在centos下可以用yum install 或在ubuntu下用apt-get install就可以直接安装。

比如要安个版本控制器,你可以直接apt-get install git,就安上了,不需要你去网站搜下载安装包,再安装。


不管如何,还是建议学学Linux,相关的部署方法和操作方法,毕竟你迟早需要自己部署应用环境的,迟早学也会给自己加分不少。

有什么问题可以留言或评论!

以上,希望能帮到你,祝好!

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

leanxi

回答于2022-06-28 09:56

嵌入式为例,许多程序必须要在Linux下运行;在服务器上面,许多服务Linux都已自带,只需配置下就可以了,但是许多常规软件,win平台的公司更专业。

评论0 赞同0
  •  加载中...
姘存按

姘存按

回答于2022-06-28 09:56

我现在主要用的是ubuntu。我的体验是,感觉在linux下不管学什么语言的编程,配置环境都好容易,要java有java要python有python,缺什么东西一行命令就装好了。直到在linux上自己用cc编译了C语言代码,才开始搞明白编译链接等等这一套流程,对于IDE中点了一个按钮之后所发生的事情开始有了一些概念,并且发现:原来只需要一个.c文件(而不需要IDE生成的工程中包括的其他很多文件)就可以生成一个可执行文件。另外C语言最初就是针对Unix系统订制的,像stdin和stdout这些概念在类Unix系统中容易更好地被解释。不过我也认同,对于C/C++,在刚开始学的时候,搞清楚编译链接这一套流程的意义并不大,如果非要尝试去搞清楚这些,倒有可能打击学习语言本身的兴趣。C/C++ Linux服务器开发免费学习地址:https://ke.qq.com/course/417774?flowToken=1013300

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

最新活动

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

我的邀请列表

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