{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Linux各个发行版与OS X相比,哪个写代码更舒服,为什么?

ivydomivydom 回答0 收藏1
收藏问题

10条回答

chuyao

chuyao

回答于2022-06-28 10:01

当然终归还是那句话,如果作为一个程序员,你始终还在纠结哪个平台到底更爽,那么首先你就不是一个合格的程序员,这是我们通常的看法。但是正如那句老话“工欲善其身必先利其器”所说,好的工具能够能够事半功倍,而就我的体验来说,macOS是我能够在工作、生活、学习之间寻求最完美平衡的解决方案。

当然你要说你做运维的,那么我无话可说,如果你说macOS没有Linux下deb/rpm/pacman/portage等等丰富的包管理,brew毕竟用起来很痛苦,macOS下至今缺少系统级别的包管理工具。

macOS算是正统的Unix血统,虽然Unix演化树上你一般看不到她的身影

苹果公司早早地让macOS通过了Unix的认证,虽然因为各种原因,即使macOS基于Unix的FreeBSD分支,并且Darwin内核也是开源的,但是毕竟macOS桌面不是开源的,所以到现在macOS也没办法进到Unix各大演化树上。

但是macOS几乎继承了所有Unix的优点,各种shell环境,而且都是bash环境,和Linux基本上都可以无缝连接。Java/PHP/python/Ruby/C/C++环境可以说是应有尽有。

macOS拥有更加美观的桌面,更稳定的环境

这点是毫无悬念的,我的MacBook Pro几乎常年不关机,除非更新系统,而且非常稳定,也基本没遇到什么糟心的问题,美观、大方的桌面环境,这一点是Linux所比不了的,当然我相信你也能列举出一大堆Linux的优点。比如做服务器,Linux强大的优势就体现出来了,脚本自由组合工具的能力Linux也具备更大的优势,平铺式的桌面,总是能获得最新的软件更新,很多开发者把用过的命令行都存储在~/.bash_history中,加上自己的工具查询优化,效率依然非常高。

但是macOS我同样能列举出一大堆的优点,比如对于我来说keynote是必须的,WebStorm和IDEA在macOS下体验更棒,MWeb/Ulysses/Alfred/Final Cut Pro/omni/Parallel Desktop等等这些工具都是Linux我没法获得的。所以相对于我来说,这些的价值超过Linux能给我的,毕竟我不怎么倒腾服务器,不怎么倒腾运维。

macOS拥有更丰富的应用生态,能同时兼顾好生活、学习、工作

更重要的是macOS能够很好的兼顾好我的学习、生活、以及工作,macOS是我工作的好搭档,我做Web开发,主要工作语言是Java,平时自己C/C++/Lisp/Python都有涉及,虽然做深度学习我的Mac显卡不够,但是基本使用是够的,毕竟要想做好,几块1080显卡是必要的,那就可能要搭工作站级别的电脑了。

而且我的日常学习、生活,都可以用macOS来实现,这一点Linux就没办法很好的兼顾,毕竟Linux是纯生产力工具,而macOS则是在娱乐工具和生产力工具之间寻求了一个相对完美的平衡。

因此一定要投一票的话,我把这一票投给macOS,不过就我日常使用来说,生活、工作中主要用macOS,学习中我还会用到Arch Linux/Fedora/Debian/Gentoo Linux这些Linux发行版,而且使用的时间占比并不小,但是当然这些环境花费时间也不少,所以更多的是学习和研究,少数时候工作环境用到。

评论0 赞同0
  •  加载中...
linkin

linkin

回答于2022-06-28 10:01

看到有人说在windows下面开发条件是最好的,我简直乐喷了。

首先申明,没有什么是windows做不到的!!!所以不要再说这句话来反驳我!!!我只强调这句话的后一句——没有什么是windows能做好的!!!

不说太高深的内容,就最简单的前端开发,windows都做不好。node环境各种奇葩问题相比已经困扰了很多的windows前端开发工程师,为什么就是不行,为什么就是报错,为什么为什么为什么?不为什么,换个系统,啥问题都没有。

返回主题,是linux和macos哪个写代码更舒服?这取决于两个问题,第一,你是否更加依赖图形界面。如果是,macos当然更加舒服。第二,你是否依赖于linux的独特特性,如果是,linux自然更好。

但对于绝大多数工程师来说,两者没有什么太本质的差异。有人说mac的核心过于老旧。这话没错,但是绝大多数场景并不需要那么新的核心。

我个人更偏向于macox。

第一,非常优秀的支持4K屏幕以及多屏幕输出。从显示器上看更加舒服。

第二,最优秀的文字渲染能力。

第三,最优秀的颜色色准输出能力。


第四,配合 brew 实现命令行包管理,满足正常工作需求。

第五,非常优秀的虚拟机软件加成,可以随时使用各种linux发行版。当然,也可以装windows,并且体验绝佳。

第六,更加严格的命令行模式,培养自己良好的命令养成习惯。

但如果没有mac电脑怎么办?deepin linux 系统很不错。作为主力办公系统非常优秀。不过最近系统更新到15.7貌似小问题比较多,应该不久就全部修复了。至于其他发行版,见仁见智。

最后,珍爱生命,远离 windows。

======追加==某人的教程的开篇===

在 mac 或者 linux 系统上,一般都已经自带了 python 2.7 的版本。但是我们是基于 python 3.5+ 的版本进行开发的,我个人使用的是 python 3.6。所以,我们需要对开发环境进行一些配置。

一般,我们都可以使用命令行来进行安装

mac

brew install python3

Ubuntudebiandeepin 等 linux

apt install python3

redhatcentos

yum install python3

archlinux

pacman -S python3

windows

请到官方网站下载 python3 安装包,然后进行图形界面的下一步下一步的安装。(一对比,怎么就这么诡异-_-|||)

评论0 赞同0
  •  加载中...
dack

dack

回答于2022-06-28 10:01

Linux是Unix旁系,OS X(macOS)是Unix直系.

我个人两款系统都有接触过,Linux的操作类似于DOS系统.虽然Linux也有图形化界面,但开发的还不够完整.macOS相对来说美观很多、在常用软件方面也是macOS版更多.

我之前也有在Linux系统下做C的开发,由于那种目录式的操作,需要开发者有着高超的记忆里.相比之下,macOS这边则好了很多.

但提到哪个系统敲代码更爽,当然还是Linux.因为日常操作都需要键入命令的系统,岂不是和大神更配?

macOS相比于Linux,在平面设计、视频制作方面有着先天优势.如果是Linux好,一般也是针对Windows来说,个人认为舒适程度的话:macOS最为舒适.

当你使用过Windows再来使用Linux时,明显感觉到了系统前所未有的流畅和轻快.但和macOS来比还是不值得一提.

这个世界上什么操作系统最好?是Unix.你可以把macOS就当作Unix来使用,Linux怎么说也差了点距离.




评论0 赞同0
  •  加载中...
姘存按

姘存按

回答于2022-06-28 10:01

请各位搞清楚类Unix 并不是说基于Unix,类Unix只是Unix like ,和Unix类似的,很像的。所以没学过操作系统的,不了解操作系统的请补补课了。什么是基于?MIUI?锤子os?没错,他们只修改了大部分的用户接口,内核层面改没改?改了,那是不是基于?是的,你没有重写。改了哪部分?改了和用户接口相关的部分,以及需要系统层面支持的部分,核心内核改没改?可能改了。

言归正传,作为开发者用哪款发行版都是大同小异,内核都是一样,你说各个Linux发行版差别能有多大。但是不同的发行版,他们的侧重点不一样,有些版本偏向服务器使用,有的是桌面。喜欢折腾得人可以考虑Arch Linux,不喜欢折腾的deepin 也可以接受,不过呢,稳定性呢需要考虑考虑,其次,Ubuntu号称是最适合新手用的发行版,其他的debian ,Centos 也挺不错,适合自己的才是最好的

评论0 赞同0
  •  加载中...
vincent_xyb

vincent_xyb

回答于2022-06-28 10:01

用过Windows、Ubuntu、Suse、OS X,按照喜好程度排序,OS X>Ubuntu >Windows

原因: OSX可以一直不用关机,开盖就能用。Windows用了几年之后,开机没有十几分钟别想开程序,Ubuntu好用,但是好多程序没有,而且并没有mac流畅。

Linux上最重要的东西,shell,macOS也有,而且并不逊色。

开发环境方面,我用C语言,macOS自带的Xcode也很好用,并且还有Idea的IDE也很好用。

评论0 赞同0
  •  加载中...
ghnor

ghnor

回答于2022-06-28 10:01

用不起macos,linux就是最好的替代。写软件首推Fadora,因为部署服务器一般再rhel或者centos,基本能平迁。如果不涉及服务端用ubuntu比较好。arch类的太激进了

评论0 赞同0
  •  加载中...
KnewOne

KnewOne

回答于2022-06-28 10:01

其实还有个CDE,AIX,HP的专用终端系统还是很好用的。

Unix是正统不错,但如果是开源软件玩家,还是推荐Linux。

传统软件开发工作的,建议MacOS,系统稳定,交互人性化。

评论0 赞同0
  •  加载中...
RichardXG

RichardXG

回答于2022-06-28 10:01

我用deepin,懒得折腾环境,基本开箱即用了,有中文输入法,国内源,还算好用的桌面环境。而且有linux的环境和终端,足够了。

Windows命令行玩不惯,终端也好丑。

评论0 赞同0
  •  加载中...
diabloneo

diabloneo

回答于2022-06-28 10:01

Mac更舒服,可以兼顾工作,学习,娱乐。

评论0 赞同0
  •  加载中...
luodongseu

luodongseu

回答于2022-06-28 10:01

对于软件开发来说,一个操作系统应具备:

  1. 对常用开发工具及软件的良好兼容性支持
  2. 对常用开发工具及软件运行的高稳定性和高可靠性
  3. 对开源项目的一些底层基础支持,具有高定制性及扩展性,从而便于开发


那么:

linux做开发,一般具有2和3,但由于用户数量以及生态问题,导致还是有很多常用的开发工具及软件没有linux版本(如微信开发者工具等),所以开发起来还是比较不方便的

windows做开发,一般具有1和3,而稳定性确实要比其他平台的操作系统要差一些。windows10更甚。另外由于windows是闭源操作系统,有些开源项目并不直接包含在操作系统内,甚至没有(比如C的一些库,windows需要找一些替代方案),所以3来说也不完全被支持的

MacOS做开发,1、2和3基本都可以满足。目前除了一些较早出现的底层软硬件开发软件(如单片机开发用到的IDE等),开发工具及软件基本都有MacOS版本,而且由于基于unix内核的操作系统,软件运行极为稳定,几乎不会崩溃,苹果对生态的重视程度也让兼容性很有保障。


综合看下来,还是MacOS更适合做开发,毕竟谁也不想把时间浪费在折腾操作系统或者开发环境的事儿上来吧。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<