工作中的技术选型会优先考虑linux,因为确实有很多优势。

选择GUN/Linux的理由优点:

1安全 – 几乎不存在诸如病毒、间谍软件、流氓软件之类的问题。

2易维护 – 请忘掉扫描病毒、磁盘碎片整理、清理注册表以及频繁的被要求重启等等诸如此类的问题。

3稳定 – GNU/Linux 是非常稳定的。 虽然个别应用程序可能会崩溃,但操作系统本身的崩溃是非常罕见的。(事实上一些非官方打包程序是较为不稳定的)

4软件自由/开源 – 您可以随意的使用软件。如果您愿意的话,甚至可以自由地学习程序源代码,修改程序以及任意的分享程序,而不用受制于所谓的用户许可协议。(当然要在GPL或者其他开源许可协议的条件之下)

5开放标准 – GNU/Linux 和运行在其上的应用程序,大多数都符合开放标准,这使得与其他平台的无缝兼容成为可能,并帮助您避免受制于一些厂商的限制。

6社区 – GNU/Linux已经被形容为 “world wide team sport”,由全世界的优秀程序员提供支持。

7低成本 – 大多数 GNU/Linux 发行版是可以免费下载的,并且拥有大量的免费程序支持。此外,大多数 GUN/Linux 对硬件的要求较低,这意味着您并不需要频繁的对硬件进行升级。

8合法 – 人们可以合法并且免费的获取一些高质量的软件,这意味着我们并不必要去盗版或者使用盗版(当然这是非法的),也不会受制于一些利用垄断地位而滥用市场支配手段的企业。(是不是该特指下微软…)

9透明公开 – 绝大多数 GNU/Linux 是开放开发的,使用公共邮件列表、公共IRC频道、公共bug追踪、公共新特性追踪等等。

10多样选择 – 在 Linux 的世界中,有很多不同的发行版本,有些由商业公司支持,有些则由非商业组织维护。这些不同的发行版本可以运行在不同类型的计算机上,比如手机、个人计算机甚至超级电脑。我们甚至可以根据自己的爱好和需要选择不同的桌面环境,以更好的完成我们的工作。

11尝新 – 或许仅仅是为了不断的尝试一些新的或者不同的东西,成为很多人最原始的动机。

改用GUN/Linux的一些挑战

1从头学起 – 您将会学习一个全新的不同的操作系统、很多新的程序,以及很多全新的名词术语。 ——并且您需要 忘却 在其他操作系统(如MS Windows)上学习的旧知识。

2缺失的应用软件和游戏 – 您会失去一些熟知的应用程序,典型的如Microsoft Office、 Adobe Photoshop 和其他流行的大型主流游戏。双系统启动、WINE或虚拟机会提供这问题的部分解决办法。当然有很多可选的高质量 GNU/Linux 原生软件值得用,后面将介绍各种 GNU/Linux 下的应用软件。

3缺少硬件支持 – 绝大多数硬件是支持的,但不是全部——在购买新硬件组件前建议您研究一下兼容性 ——越新的和分布越少的组件,出问题的风险越大。

4寻求帮助更难 – 通常朋友、家人、同事不能帮您解决 GNU/Linux 相关问题,所以您需要在线获取帮助,这通常并不如您的朋友“现场”帮您解决那样高效。

我是程序猿,不过不是什么大牛,既不在git上有项目,也不是供职于BAT这种大企业,我觉得当今大部分程序员应该也和我的处境是一样的,我自己的理解是

1 linux免费 目前大部分的项目都是B/S类型的 那服务端不用linux用啥?用win么?

2 linux轻量 服务端的linux一般是命令行,没有图形化,这就比win好,有纯命令行的win么?没有把?

3 传承问题 因为国内大部分服务器都是linux,所以你能在很多来源社区,论坛上面找到很多linux的运维资料,这样就形成了一个良性循环

4 linux开源 不过这对于90%的程序员来说并没什么卵用,大部分程序猿(如鄙人) 并没有多少机会,或者说目前这个阶段还达不到修改底层源码的水平,能真正接触,甚至优化os内核的这样的程序员毕竟是少数顶尖大牛,不过也就因为这样,在少数的巨头企业的带动下,这种开源os成为大家挣相学习的对象,主要还是成熟,优秀且免费的东西,上哪找去?linux不火谁火?

有前置条件,服务端,且在生产阶段。win的很大力量用在交互上,可以看winapi,对用户交互的行为占了很大篇幅,导致数据处理的系统资源被占用。而服务端的业务更多是与数据处理相关,所以win不经济。开发阶段因人而异,我喜欢notepad++组合一堆手册开发,然后部署在centos上。

还有几个系统上的差异。linux进程更小浪费资源,所以稳定。ext4比ntfs冗余少。epoll更快。fork很爽。。 。

人云亦云的各种解释。看的很无奈。。。我说一下自己的看法。

第一,程序员用Mac开发的(注意是开发!!!)更多一些(IT公司标配),Linux系统跟Mac有一定的类似,服务器用Linux多一些。原因更多的是Linux系统对内存调用要比Windows好。memcached(调用缓存的脚本,网站用的很多)这类的缓存软件,在Linux运行要远远超过Windows。

第二,Linux同等配置情况下。运行.调试速度要优于Windows,Linux的编码是默认UTF-8,回车是/r(跟Windows不同,跟苹果的几乎一样)。写点决定了Mac的代码放到Linux是不需要改动的。

第三,Windows对很多处理软件调用太差,速度慢。(做视频处理的应该有深切体会,Mac配置很低,但比Windows就是快。)Linux相对好一些。

第四,Linux很多版本,不同版本内置很多所需的东西。例如编程环境,省时省力。

第五。没有好坏之分。。。