只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 软件开发 >  为什么要在 Linux 下编程?


为什么要在 Linux 下编程?

发布时间:2019-09-01 20:03:21  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
告他,因为你鹅的服务器是用Linux的,要是你有能力换,我也可以在Windows下写,没能力别瞎逼逼。(仅针对某些无良,傻逼面试官)
为什么要在 Linux 下编程?告他,因为你鹅的服务器是用Linux的,要是你有能力换,我也可以在Windows下写,没能力别瞎逼逼。(仅针对某些无良,傻逼面试官)因为互联网公司的服务器都是Linux的因为信仰这问题够奇葩,技能树已经点成这样了啊,我只会用linux给windows或者osx做开发,有什么办法?
是要我们重新投胎么?

因为不要钱。

因为不要钱所以社区人多。

因为不要钱所以社区人多所以不要钱的开源软件多。

因为不要钱所以社区人多所以不要钱的开源软件多所以对基于开源软件的开发生态更友好。


本质原因:不要钱。就这样。想想,如果公司出钱给服务器配备Windows Server,给我的开发机配备Visual Studio,然后给我钱雇佣我给它写程序,业务不算太无聊开价也合理,那么当然是OK的。对吧。

之前答过一个类似的问题,关于为什么要用Linux编程其实无外乎开源、省心、高效等等。

后来深入一点,发现在某些时候windows和Linux是没有本质区别的:作为工具而言,两者都可以很好的完成任务。除非有特殊情况,比如有些东西完全没有为Linux或者windows提供支持,否则更换常用系统付出的适应成本会高于系统本身附加的价值。

所以使用Linux编程,我认为最朴实的理由应该是习惯。

因为在最开始,我就是在Linux下学习编程,我习惯于Linux的一切,而我现在又没有任何动力去切换到Windows。

我用Linux是为了编程,而不是“在Linux下”编程。


你想更深入了解学习Linux知识体系,你可以看一下我们花费了一个多月整理了上百小时的几百个知识点体系内容:

【超全整理】《Linux云计算从入门到精通》系列实战笔记全放送

最主要的现实需求有两个吧:

1. 绝大部分的服务器环境是Linux;
2. 绝大部分开源软件的首要适配平台是Linux,很多第三方库只有Linux版。甚至像Swift,到目前还没有Windows版。

还有很多原因,Windows系统真的就那么不屑一用吗?非也,很多人都是因为别人说“用Linux才算是'黑客'”,所以装装逼而已╰( ′? ω ? `)╯

P.S. 我就一般是在Windows下编程,有需要时就到Linux下调试、编译、运行啊......

为什么?很简单啊,因为你要写的程序是跑在Linux下的啊。
类似地,如果程序是跑在windows上,难道你会选择在Linux和Mac上开发吗?
至于跨平台的程序,你熟哪个就在哪个下开发,效率第一,纠缠平台和工具,纯属吃饱了没事干闲的。难道不是因为不想被QQ,微信,360,鲁大师,腾讯游戏平台.......打扰么?因为 Windows 在鄙视链底端 Linux shell command有几个好处。用好了威力会超强。

其中之一是非常适合做文件,尤其是大批量文件的管理(用起来方便,速度也快)。比如一个大型的软件公司有几百人做开发。那么搞一个微信群或者qq群传文件是必然不现实的。你实践过就知道微信群或者fb群有多么不适合做文件管理。只要大家一水群文件瞬间就不见了。Slack会好一些。不用linux的办法是用电子邮件。另外,用一些商业文件管理软件也是不行的。很容易因为速度问题出现更新漏洞。这个在软件开发里也是要命的。比如商业文件管理软件没有及时的把一个文件更新,那么假如A拿到的是没有更新的版本然后写代码,代码的漏洞就这么种下了。

我对Embedded development不熟悉,但我知道Linux是可以用在硬件开发方面的。

看到有朋友提到科学计算。为啥科学计算喜欢用Linux?稳定,好维护。有一些比如我和老霍@霍开拓用的LAMMPS,linux下才能发挥全部功能。

另一个是Linux有非常非常卓越的安全性能。还有一个是非常适合联网操作。总之,好处实在太多。我要是做CTO,我也会用Linux做服务器。

干货:William Scoots的The introduction to Linux command。美中不足是有五百多页。用的时候看目录去查。Linux的语法可是出了名的怪。因为要用Emacs和Haskell,这俩在win下总觉得不如lin上舒服(某些拿hs玩WinAPI的除外

另外Windows下的JVM实现很菜, IntelliJ Renamer慢的跟刚开箱时上手了一样,Linux下运行速度和Windows上不是一个级别的

这个问题的上下文是在面试中被问到此问题, 那么我来尝试回答下为何面试者要问出此问题.

如果在没有其他相关前序问题的情况下突然问你这么一个问题, 那么我的结论是:

此面试者是傻逼.


如果想考察候选人对liunx平台特点是否熟悉, 那么可以直接针对linux平台的具体特性展开提问.

单纯的抛出一个所谓的"开放式"问题, 是无法考察候选人的.

如果他想考察候选人面对模糊问题时是否能主动询问讲问题明确化的能力, 那么有很多其他的方式可以考察这个能力. 例如系统设计, 或者是一个编程问题都可以.

如果这个是一个考察偏好的问题, 看候选人喜欢windows mac 或者linux, 这种问题根本不应该出现在面试当中. 一个人的偏好和她的胜任力没有任何关系.

如果面试者想让你一头雾水不知如何作答, 然后找个借口让你面试不通过, 那么这种做法也太low了.


能问出这种问题来, 我只能说面试者根本不知道如何面试, 他浪费公司的时间, 更浪费候选人的时间.


不要以为腾讯里都是牛人, 傻逼多的很. 这个问题本身就不是一个有效的问题.

大部分人都需要广义的Linux编程技能,而“使用Linux桌面发行版作为工作环境”这种技能对于大多数人来说是没有必要的。你用Win或者Mac在本机跑精品真环境或者SSH上服务器都可以写Linux程序。

因为我蛋疼啊。我就是喜欢qt creator + clang code model提示,就是喜欢gdb命令行,就是不喜欢vs。

因为可以控制开发过程中的每一个步骤和细节。

Windows 上没有能用的 Lisp 开发环境

Q.E.D.

尽快适应程序跑的环境,然后在开发中发现错误,减少Bug.

得到领导赏识升职加薪。

然后建立成为架构师的基础条件。

然后可以创业?

当然,这并不是标准答案。

其实我当初是因为喜欢DejaVu Sans Mono字体在KDE下面的显示效果,所以用Linux写代码的。那个字体下代码看着非常养眼,也能缓解分析bug时抓狂的感觉。

直到后来我发现VS Code配合Consolas在Windows下的效果也非常好,我开Linux就少咯。

现在继续用Linux的编程主要理由之一是C++在Windows下编译速度实在是慢。骨子里的慢。几种编译器的速度都不是很好。

1、Linux无版权问题,如果在windows下进行编程其实也很方便,但是需要对你编程的版本有一个正版的要求,如果你所编程的,包含了一些没有被授权的,就是说一些非正版的东西,那你就有可能要背负一些高风险的被起诉侵权的问题,随之而来的还有一些高昂的赔款

2、安全性,Linux大家都知道是一个开源的系统,一旦说出现一些什么漏洞,会在第一时间被Linux的高手们及时解决掉,出BUG的出现到问题的解决这个时间是想当短的,所以就没有让病毒扰乱的时间。

Linux的权限管理也是十分的严格的,如果有病毒或者有人想要修改文件或者系统日志,除了想办法得到管理员的密码别无他法,即使就算是中了病毒他的影响范围也是十分的小的,发现病毒解决了就OK啦!

3、稳定性,Linux虽然比Unix和windows出现的晚了那么一丢丢,但是他具有和其他大型系统比如IBM一样的可靠性,Linux共享的是Unix的设计体系是经过漫长岁月长河所打磨出来的,Linux采用了最现代化的操作系统设计理念还有最令人瞩目的开发源代码的开发模式这就大幅度保证了问题的发现到解决的时间。

4、成本低,因为Linux是一个开放的源代码操作系统,所以是不需要支付一些代理费或者是版权费用的,而且不管是系统程序还是应用程序都是可以从网上免费获取的。

5、效率高,根据选择的语言,比如RUBY在Linux下进行的会比较顺畅,但是如果在Windows下就会很耗费人力、物力、财力了。在Linux下安装语言进行会很顺畅并不需要在网上搜索环境安装包,Linux下的一个命令就可以解决他的依赖。而Windows就需要一个包一个包的去找。所以说Linux下编程效率是十分高的!

我也整理了一些系统的资料,分享给你,希望对你有帮助!

知乎专属资料30G全套Linux进阶资料

责任编辑:
热门阅读排行
© 16货源网 1064879863