<p>我从2016年10月,开始完全使用Ubuntu工作,那个时候其实很重要的一个原因是不想玩lol之类的很火的游戏。毕竟经常有人叫我一块打游戏,内心是不想打的,而我又不好拒绝。所以只好把系统换了,依次算作借口。</p>
<p>其实在此之前我已经在linux环境下编程了,原因有两点,命令行的技术是值得学习的,<a href="http://algo.site/?cat=19">而且这项技术是永远不会过时的。</a></p>
<p>另一个原因就是,我要参加的acm/icpc的编程环境就是linux,所以就算是提前适应环境了。</p>
<p>我现在挺喜欢linux系统的,现在最新版本的Ubuntu17.04所使用的桌面环境是gnome,在此之前都是Unity,Unity我不喜欢,所以我当初安装系统之后的第一件事情就是更换桌面环境。
</p>
<p>
现在主流的操作系统有微软的Windows,苹果的MacOS,和开源世界的Linux。其实对于Windows,只能说盖茨先生非常聪明,容忍盗版系统的存在。所以现在才能占有第一的市场份额。不过微软公司,他们的Windows系统是真正为用户设计的系统。因为普通用户不需要做那么复杂的事情,他们用电脑无非就是office和上网之类的罢了,所以桌面系统可以让简单的事情变得更简单。</p>
<p>
不过我毕竟是一个程序员,而且是想要走的长远的程序员。对于linux来说,Windows系统能做的事情,它也都能做,虽然有两大硬伤--图形处理和游戏。而且林纳斯作客TED的时候也说过:如果被困在孤岛上,前提是你作出一个精美的GUI才可以逃离,他宁愿选择孤死。不过对于后端程序员来说,这两处硬伤无关痛痒。其他的,linux系统确确实实对于程序员来说是很方便的。</p>
<p>比如,linux系统比windows系统流畅的很多,而且对硬件的要求也不是很高。我家储藏室初中时代的那个电脑。我寒假搬出来,给它装了CentOS,在虚拟终端下生活一点都不卡,挺流畅的,不过估计换了win10,硬件这关就过不了。</p>
<p>而且,linux占用内存也是比windows小的,虽然你通过top去看你的内存使用情况时,看上去linxu"吃掉了"你的内存,但其实是做了swap。</p>
<p>我很清楚的记得,小学时候,我家长培养我良好电脑习惯的时候,其中就有开机之后不要着急,用360之类的软件去清理一下垃圾,每几个月用一键还原精灵去还原一下系统。</p>
<p>不过前不久去看了Minix之父Andrew S.
Tanenbaum写的那本操作系统之后,了解了一下这是为什么:windows系统在内存的最低地址和最高地址区都有,会有内存泄漏。而且微软的白皮书里确实建议到每半年重装一次系统。(逃</p>
<p>
有一点我其实觉得不错,我在linux系统上从来没考虑过安装杀毒软件的事情。也就是说系统本身是比较安全的。毕竟开源了嘛。那么多顶尖黑客去阅读代码,去修改系统bug。而且黑客们也都使用这个系统,怎么可能不把它变得安全。而且windows上的病毒在linux上是不起作用的(是时候病毒也要夸平台了。</p>
<p>
最后,想说的是linux安装东西问题,在windows下,基本都是从网上下载一个.exe的安装包,然后双击无脑的下一步就好了。不过这也有一个缺点。就是它不具有原子性,也就是说如果你安装软件的时候安装到了一半,你用任务管理器结束进程了(自己闲的没事),那样,你先前安装的文件是存在在你电脑上的。而linux却不一样,它有软件包管理,如果你用命令行去安装软件,及时你中途按下了ctrl+c终止了安装,那么它之前安装的文件是不存在的。也就是说,它要么安装成功,要么就没有安装。而且,对于一些编程所需要的环境,框架,也可以轻松的一行命令行解决,而不像windows那样去各种配置。</p>
<p>其实linux系统还是挺好的。如果你想学好linux系统的话,那就直接在电脑安装linux吧,也不要使用虚拟机或者双系统。</p>