谢谢邀请!我自己尝试过用Linux来应付一个周的时间,在完全不打开macOS和Windows的前提下,深度Linux基本上可以完全满足我的需求。
得事先讲清楚的是,我基本上已经很少玩游戏了,目前做的也都是互联网产研线上的工作,娱乐就是看视频听音乐、看博客逛开发者社区,其余的工作和学习也都是跟互联网软件开发相关的,因此Linux对于我来说可以满足基本需求。
微信后台是Linux C/C++技术栈,Google是定制Linux下Emacs/Vim为主硅谷有两种程序员,一种是用macOS的,一种是Linux的,基本上都是这两类程序员占主要,Google和Facebook就是这类硅谷公司的典型。两类程序员基本上都是用Emacs和Vim开发的居多,尤其是做后台的大部分都是在远程服务器上完成,而服务器上就是Linux系统。
Google之前一直用定制版Ubuntu、也就是goobuntu,现在逐渐转向了gLinux,也是基于Debian的Linux版本,Google不限制员工使用什么类型的操作系统,不过Google鼓励工程师实用Linux操作系统。
很多同学可能平时不大能接触上,国内也有不少的企业是用这样的环境开发的,比较著名的就是拥有着11亿注册用户的微信开发。微信PRC框架、服务器框架代码、微服务、路由策略、过载和自适应,消息队列等都是在Linux C/C++环境下开发,你所了解的微信的主要功能,比如朋友圈、公众号、支付等核心功能全都是在Linux下开发的。
基本上是采用的微信后台是采用SSH到服务器开发机,大部分基本上采用的是vim/emacs+gcc+gdb进行开发,听说只有很少一部分是本地IDE写好传到变以及进行编译调试,要知道微信这种级别的产品,用户量是10亿级的,代码量是千万行以上的,都还是在Linux C/C++为主要技术栈的环境下进行开发,因此Linux做开发是肯定没问题的。
接近生产环境的开发体验除了没有Visual Studio、Xcode这些Windows或者macOS下的专门开发工具,其他的主流开发工具,Linux上都非常全面,甚至体验上会更好。
作为生产力系统,Linux对于开发者是极度友好的,Linux是最接近生产环境的,大多数的互联网企业都会选择CentOS、Debian、RedHat Linux、或者一些企业专门深度定制的Linux发行版作为服务器,即使如WhatsApp、Yahoo使用FreeBSD作为服务器,Linux也是非常接近生产环境。
我自己使用深度Linux的体验我自己曾经尝试过在深度Linux下学习和工作一周时间,事实上深度Linux很好的完成了我的工作、学习和日常任务。
开发工具
Emacs/Vim、Visual Studio Code、IntelliJ IDEA、PyCharm是我用得比较多的开发工具,除此之外GCC、GDB、Git都是用得比较多的工具,深度终端已经非常好用了,不需要像Windows上弄个Zoc、Cmder这些第三方终端。
文档编辑、脑图工具
文档编辑我现在基本上已经很少用office了,大部分我都是云端用Google Docs、本地用WPS,除此之外就是做presentation的时候用keynote,基本上已经不用office了,主要是我也忍不office了。脑图一个在线的ProcessOn,本地用MindMaster和Xmind也绰绰有余了。
娱乐、社交
这可能是大多数同学平时会用的,娱乐和社交必然是大家要用的。看视频直接用网站就好了,客户端完全可以不需要,听音乐网易云音乐、Spotify都有Linux原生客户端。
游戏方面Linux也有Steam,大家可以去下载体验一些游戏,当然如果你是个资深游戏玩家,我还是建议你使用Windows,毕竟大多数经典的单机游戏、网络游戏都是在Linux上没办法玩的。
社交方面,现在微信、钉钉都可以用,微软为Linux开发了Skype原生版本,腾讯也为Linux开发了QQ原生版本,完全够用了。
总体来说,我觉得深度Linux基本上可以满足国内程序员的日常学习、工作、以及娱乐的大部分需求。
本文为作者EmacserVimer悟空问答原创文章,未经允许转载、抄袭必究!