开发者对操作系统的4个需求


俗话说,吃什么补什么。一个开发者(也可以叫“程序员”)需要具备4个特色:办事利索(性能)、相貌平平拒绝杀马特(外观)、消化能力优秀(易安装)、知识技能储备雄厚(软件多),所以他们使用的操作系统也应该符合这些要求。

性能:性能必须足够的好,因为开发者动辄要调用大量工具来处理一个问题,或者同时打开十几、几十、上百个网页来搜索网上的解决方案,而且上网工具firefox或chrome都是吃内存大户,所以必须牺牲后台程序以加快系统速度适应开发者的需要。

外观:为了性能,必须牺牲酷炫的外观,过炫的桌面影响桌面性能;但是过于简单的桌面需要花时间配置还不一定能完全配置好,也是影响工作效率。所以,外观普通即可,默认桌面选择xfce4、lxde、mate甚至仿制windows界面都是不错的。

易安装:对任何一个工作者来说,时间就是衡量一切价值的标准,节省时间就是延长生命尺度。拿archlinux为反面典型,虽然其性能高可以节省工作时间,但是如果安装它都要从头开始学习ABC,那价值就大打折扣。就安装系统的便捷性来说,archlinux、gentoo、lfs这样的系统真没必要尝试。

软件多:同上,为了节省不必要的折腾时间,开发者手头上的工具是越多越好、越容易获取越好。centos、slackware这些软件奇缺或者需要非常复杂的途径才能找到安装源的系统就没必要尝试了。ubuntu系软件比较丰富,但QQ/TIM这样的基本软件还需要折腾一番,还未必能稳定使用。archlinux系软件包异常丰富,无情碾压deb和rpm系诸多发行版,例如manjaro下可以一条命令安装好无比稳定、功能全面的deepinwine-tim或deepinwine-qq。

1.Mint(小撸评分A) 性能、外观中上等;易安装程度是所有Linux发行版里首屈一指的;基于debian或ubuntu,软件数量中上等。
2.Debian(小撸评分A-) 原生祖师爷级发行版,没有添加剂,性能上等,速度真牛逼,也蛮稳定;外观都是原生,无美化痕迹;易安装;软件数量中等。不过不贴心的地方有很多,要做大量的配置才能达到易用的程度。而且这个发行版有个特点就是坚持挂GNU的名,信仰非常执著。
3.Manjaro(小撸评分A+) 基于archlinux,解决了安装大难题;性能上等,速度上跟archlinux差不多,没有大量冗余的后台程序;外观中等偏上,有一套自己的壁纸、图标和控件主题;软件数量上有archlinux系无与伦比的优势,关于这点,我已经在《什么Linux发行版软件最多?——一张列表看哭百万Debian、RedHat系同学》博文里说得很清楚了,而且manjaro默认就开启aur模式,直接调用github上的大量资源。不过archlinux系发行版的一个通病就是软件包过于激进,导致系统可能不够稳定,滚动升级之后常有bug出现,有可能需要花一点时间修复系统。
4.Ubuntu(小撸评分B+) 作为Linux界的龙头发行版,Ubuntu背后的公司真的花了很大血本,但并不能因此说它就是最好的发行版。其默认桌面Unity,为了这个桌面,使用了大量添加剂,导致系统启动和运行速度一般,兼容性不够,内部错误频出。Ubuntu的流行得益于它早期的亏本赚吆喝的市场营销策略,那时或许还能称得上最好用的桌面发行版之一。经过这些年Unity在几种设备终端上进军的失败和2017年停止开发Unity的决定,现在作为桌面发行版已呈现日薄西山的颓势;Unity桌面有仿苹果的顶部Globalmenu,外观上等;易安装;软件数量中上等。
5.Antergos(小撸评分B) 加了安装程序外壳的archlinux。整体评价同manjaro,但是目前来看,中国用户想要成功安装Antergos需要会折腾、运气好。
6.Solus(小撸评分C) 新锐发行版,全新的包管理系统,软件包数量不敢恭维。Linux桌面已不再红火,如今又分裂出另一派,其惨淡前景可以预见。
7.Fedora(小撸评分B) 当年跟Mandrake并驾齐驱、如今却经常掉票的老牌发行版,属rpm系,缺点就是软件偏少,贴吧里有人移植一个网易云音乐就嗨翻天了,而在manjaro里安装网易云音乐只需要一条yaourt命令。毕竟Fedora是Redhat的外围发行版,对桌面软件那种冷淡的态度可想而知。
8.openSUSE(小撸评分B) 当年号称最华丽的发行版。虽然比较稳定,但易安装程度比ubuntu系略差,小撸就曾遇到过禁不住要吐槽的安装经历。另外,openSUSE也是软件包奇缺,坊间有人说可以使用apt-get来弥补不足,但是deb系跟rpm系的lib库位置大相径庭,所以不推荐这种方法。openSUSE跟fedora一样也是服务器专用SUSE的外围发行版,所以对桌面软件的热情不如archlinux和debian这些个人用户及其社区拥趸的发行版高。
9.elementary(小撸评分A-) 漂亮的基于Debian/Ubuntu的发行版,同时也很轻快,但是跟LinuxMint相比,开发者实力不足,桌面的零星小bug还是有的。
10.TrueOS(小撸评分D) BSD系发行版。不易安装,软件奇缺。
11.Zorin(小撸评分A-) 同elementary。
12.deepin(小撸评分B+) 最漂亮的Linux发行版,大概主创人员受Apple产品影响太大,不惜为了漂亮的界面牺牲系统性能。为了其炫酷的界面和易用性,deepin在系统后台添加了臃肿的程序(例如为了使所有硬盘自动加载,让dde-file-manager常驻后台),加载了很多并不常用甚至不成熟的模块和功能,导致系统卡慢。卡顿的漂亮系统只能拿来欣赏,没法正儿八经的工作,关键时刻一次出人意料的卡死足以让人郁闷到给它打0分。 如果电脑硬件配置不够或不兼容的话,不适合作为生产力平台使用。在软件包数量上,因为有创新活力十足的私有公司专职人员维护,所以比普通Debian或Ubuntu系要多,直逼arch系。
13.CentOS(小撸评分C) 这个发行版给我的印象是软件奇缺,连wine默认都不给用。上面已经说了,像这种主要作为非桌面用途的服务器发行版,软件都很稀缺。为了系统稳定,更新也非常的慢。所以不适合作为(非运维)程序员开发用的操作系统。
14.Arch(小撸评分B) 非常不错但又非常难安装的发行版,就算安装完成,之后配置系统和X桌面也是非常消耗时间的,无论对新手,还是弄坏了ArchLinux分区的老鸟,我都不推荐安装ArchLinux。不多说什么,参考我的博文《人生苦短我用Manjaro》和Manjaro.cn首页。
15.PCLinuxOS(小撸评分C) 当年稳居distrowatch排名第一的Mandriva的衍生版本。软件包数量甚至比fedora还少,中文化工作没人做了,国内无软件源,纳闷它怎么存活到现在还排名不错。
16.Kali(小撸评分B-) 渗透用的发行版,有特殊需求的人才会用到它。
33.Slackware(小撸评分D) 基本上没人用了,据说要懂软件包之间的依赖关系才能成功驾驭这个发行版,反正我是不敢轻易尝试。
41.Gentoo(小撸评分C+) 配置好的Gentoo系统非常干净,性能超级强悍、魅力十足;软件包数量让人意想不到的多,所有新的旧的开源软件在gentoo上几乎都有保留;但它的缺点是比archlinux更消耗安装和配置时间(有一定Linux基础的新手要5天安装好基本系统,15天配置好桌面;没有Linux基础的基本遥遥无期),而且它有一个更浪费时间的“bug”,那就是安装每一个最基本的软件都需要编译源码,虽然编译过程都是全自动的,但要求电脑硬件配置足够好,还需要人有足够的耐心。我曾经折腾过两个月,因实在无法忍受安装软件浪费大量时间而忍痛割爱转回archlinux。
所以,我认为,如果把电脑作为正儿八经的生产工具,最适合软件开发者使用的Linux桌面系统只有5个:Mint、Debian、Manjaro、elementary、Zorin,如果再缩小范围,那就只剩下一个Manjaro。很遗憾Ubuntu、Fedora、openSUSE、deepin、archlinux、gentoo这些大牌都不能入选,原因在上面已经说明。

开发者用的linux系统推荐的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. 实用推荐:12款Linux系统恢复工具

    12款Linux系统恢复工具 电脑死机,系统崩溃,总会给电脑使用者带来一定的损失.你是否不小心删除你的纪念图片?安装新系统时候,擦除了分区表?无法读取旧CD里面的数据?别急嘛-我们将会给您推荐一些免费 ...

  3. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  4. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  5. [Linux发行版] 常见Linux系统下载

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...

  6. 通过Linux系统Cron执行OwnCloud计划任务

    通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...

  7. Linux系统下C++开发工具-远程终端软件使用

    通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件.从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习. ...

  8. Linux系统(二)软件的安装与卸载

    序言 上一篇我们了解啦Linux系统中,根目录下的各个文件夹是做什么用的啦,也学会文件如何压缩打包.那么接下来我们就该用到这个系统啦.用这个系统,就是用这个系统的软件,那么我们对我们需要的软件如何安装 ...

  9. Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. 『计算机视觉』各种Normalization层辨析

    『教程』Batch Normalization 层介绍 知乎:详解深度学习中的Normalization,BN/LN/WN 一.两个概念 独立同分布(independent and identical ...

  2. 『计算机视觉』经典RCNN_其一:从RCNN到Faster-RCNN

    RCNN介绍 目标检测-RCNN系列 一文读懂Faster RCNN 一.目标检测 1.两个任务 目标检测可以拆分成两个任务:识别和定位 图像识别(classification)输入:图片输出:物体的 ...

  3. Educational Codeforces Round 48 (Rated for Div. 2)G. Appropriate Team

    题意:求满足条件的(i,j)对数:\(gcd(v,a_i)=x,lcm(v,a_j)=y\) 题解:\(x|a_i,a_j|y\),\(x|y\),考虑质因子p,假设a_i中p次数为a,x中次数为b, ...

  4. spring boot(十一)MongoDB的使用

    mongodb是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多.由于很多公司使用了云服务,服务器默认都开放了外网地址,导致前一阵子大批 MongoDB 因配置 ...

  5. MVC实战之排球计分(三)—— 模型类的设计与实现

    此软件使用的数据库连接方式code first 由EF框架产生数据库. code first需要对模型类设计和实现.模型类是现实实体在计算机中的表示.它贯穿于整个架构, 负担着在各层次及模块间传递数据 ...

  6. Oracle 视图和索引

    一.视图 1.什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表 (3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起 ...

  7. Java中涉及到金额业务的处理

    一.MySql数据库中如何定义关于金额字段: 建议定义成[DECIMAL]类型,而不是float或者是double,因为这个两者是以二进制储存的,存在一定的误差.具体事例可参考https://blog ...

  8. BIT-区间修改单点查询

    正好刷题时碰到了这个之前遇到过的问题,类似的还有区间修改区间查询,以后学了会补上. 我们知道BIT只支持单点修改区间查询,如果现在问题变成每次让一个区间的数同时变化,然后询问的是某一个点得值的时候该怎 ...

  9. Git中的文件上传、修改、撤消修改和删除

     1.添加文件.提交文件 1.1在learngit目录下创建一个readme.txt文件,并且输入内容. 1.2添加文件到版本库learngit 1.2.1使用git add 文件告诉Git把文件添加 ...

  10. Hive的用法

    1.Hive是Hadoop的一个子项目 利用MapReduce编程技术,实现了部分SQL语句.而且还提供SQL的编程接口.Hive推进Hadoop在数据仓库方面的发展. Hive是一个基于Hadoop ...