就编程而言,Linux是否已经足够?

2021-11-12 11:21:33 浏览数 (1)

这篇文章是在我的Linux Mint上使用Typora编写完成

做为一个程序员,我用的一直是MacOS,其实它挺好的,我对它没有任何意见 。

但在我的心里,总有一种欲望,就是想去使用一个自由的操作系统,我不希望自己被MacOS约束,虽然它非常优秀。

我也非常想知道,对于程序员来说,Linux是否足够使用?

选择哪个Linux发行版本

Linux发行版本众多,甚至可以说是不计其数。所以使用哪个Linux发行版本是首要决定的。

但是,我们要透过表象去分析更深层的本质,对于Linux选择来说,决定你需要哪个版本的关键两点在于:

  • 第一,Linux发行的基础版本是什么。Debian系或RPM系或ARCH系?
  • 第二,Linux桌面选择哪种,gnome,kde还是xfce或是Cinnamon

Linux发行版本虽然众多,但原始发行版本只有少数几个,比如RHEL,Debian以及Arch。其它的大多是基于这些原始发行版本重新构建的,比如著名的Ubuntu是基于Debian构建的。

最终,在几乎用虚拟机安装与体验了众多有名的发行版本后,我最终选择了Linux Mint。

考虑原因如下 :

  1. Linux Mint是基于Ubuntu,隶属于Debian系,因为我在服务器方面已经全部使用Debian而不是CentOS,所以桌面Linux自然也会选择Debian系
  2. Ubuntu非常流行并且它的生态非常好,但它的默认那个Gnome桌面我个人不是非常喜欢。而Linux MInt桌面是Cinnamon,非常简洁,又兼具Ubuntu的流行度带来的良好的各种支持。

因此,最终选择使用Linux Min,周末折腾与使用了两天,第一感觉还是挺好的。

我的linux mint

对于程序员来说,它足够使用吗?

其实要论系统对程序员的友好程度,我认为MacOS可能是最佳的,它是Unix系统与程序员天然就亲密,而且桌面生态友好,不存在Linux这种五花八门的不同的生态。

所以,如果程序员不是从事的诸如Windows特定系统的一些开发,选择MacOS应该是最好的,无论是从系统体验还是国内软件生态来说,几乎都不存在问题。比如QQ还是微信,都有非常好的MacOS下的软件。

但是Linux对程序员仍然具有一种无形的吸引力,我感觉这种吸引力的关键可能在于:

在一个自由的操作系统上,使用自由的软件来自由的从事开发工作

这就是什么会有FOSS,自由与开放软件的理念与众多的追求者存在的原因吧。

那问题是,Linux对于程序员来说,足够使用么?

其实,我认为这个问题更确切的表述应该是:Linux对于国内的程序员来说,是否足够使用?因为,在国外,使用Linux的程序员并不是少数,只是国内一些软件的生态发展比较缓慢。

可行性调研确认

我曾写了一篇文章:一个程序员的正版清单,这个清单是我在MacOS上的使用的所有软件服务清单 ,如果使用Linux Mint,这份清单的表现性如何呢?

这个周末,在折腾了之后,把Linux Mint安装到一个外置的移动硬盘后(主机是Mac Mini),对这份清单上所列的软件,参照在我的Linux Mint上安装或寻找替换软件,总体结果如下 :

软件本身有Linux发行版本并成功安装

  1. IntelliJ IDEA CE 后端开发IDE,有Linux版本,体验无问题
  2. VirtualBox 虚拟机软件,有原生Linux支持
  3. DBeaver 这个是基于Eclipse RCP技术开发的开源数据库软件,Eclipse本身就是支持Linux的,自然它也支持
  4. MongoDB Compass 这个是基于Electron跨平台技术开发的桌面App
  5. draw.io UML,流程图等绘制工具。这也是基于Electron跨平台技术开发的,它也有在线网页版
  6. Visual Studio Code 好吧,还是基于Electron跨平台技术开发的,前端开发人员必备的IDE
  7. Android Studio 基于IntelliJ IDEA CE开发的,自然支持
  8. Typora Markdowm编写软件,我这篇文章就是使用它在Linux Mint上开发的
  9. Mitproxy 抓包工具,支持
  10. Postman 有Linux发行版本
  11. Jmeter 性能测试工具,这是基于Java的,当然支持Linux
  12. Sonar 这是个Java服务
  13. Docker 没什么好说的,Linux才是它老家
  14. Sublime Text 原生支持,非常好的一个文本工具
  15. WPS 国产良心,支持Linux,体验与UI几乎与MacOS下基本一致。
  16. tinypng 这是个网页服务,有浏览器就能用
  17. 下载工具 我在Mac上用的就是Motrix,这个工具其实也是基于Electron开发的跨平台软件。所以在Linux上使用它也足够了
  18. 云同步盘 国内的坚果云,国外的OneDriver,这两个都是可以在国内使用的。并且都有免费的额度。
  19. 截图工具 Flameshot这个工具足够好用
  20. 远程会议 腾讯会议已经支持了Debian,如果使用它问题不大。

没有Linux发行版本的

  1. Sourcetree git ui客户端,没有Linux发行版本,但支持Linux发行版本的则非常多,问题不大。比如SmartGit,我现在主要是使用命令行来操作git,不太需要ui工具。
  2. Xcode 这个不用想了,除了MacOS,绝无第二家
  3. Proxyman 这是抓包工具是MacOS专有,在linux上可以考虑使用Mitproxy
  4. Microsoft Remote Desktop 似乎没有Linux版本,但可有替代软件。
  5. gitmind 我在使用的思维导图,没有linux版本,可以使用网页在线版本

国内的主要阻碍

其实看了上面大家会发现,基本国外的针对程序员的工具,都有完整的Linux支持。

那到底国内程序员有什么不一样?难道我们用的不是这些技术,这些工具?

当然不是。

不一样的不在编程的工具上,在编程之外的。

而最主要的一个阻碍可能在于微信,腾讯的微信没有原生的Linux客户端,而QQ有一个非常简陋,应该很久没有更新过的版本了。

不过好在,国内还是有先行者,做了非常不错的工具,值得我们真心为他们赞赏,包括但不限于:

deepin移植了大量国内软件

deepin,也就是前雨林木风团队,在转向Linux,发行了基于Debian的Linux操作系统之后,为了推广它们的系统,基于Wine移植了大量的国内软件。

由于Linux Mint也是Debian系,所以也沾了它们的光。

感谢他们的工作,现在我在Linux Mint上,使用微信聊天是可以做到的了。

搜狗Linux输入法

感谢搜狗,出了一个Linux版的中文输入法,还同时支持拼音和五笔

WPS Linux版本

难以置信的工作,WPS提供了一个Linux版本,而且与我在MacOS上的体验几乎完全一致。

坚果云

由于几乎是全家桶,我在MacOS上使用的是icloud同步数据,在Linux上,感谢坚果云,它们有一个Linux客户端,而且还提供了一个免费额度的同步服务。

从尝试开始吧

在几乎使用了这些软件的Linux版本之后,除了没有办法做iOS方面的开发又外,Linux Mint对我来说完全是足够使用的。

如果国内生态能再进一步,比如腾讯的一些国民级的软件,能支持Linux,那我相信对于国内程序员来说,切换到Linux是完全具备可行性的。

如果你是MacOS的使用者,似乎Linux对你来说并无太多必要,但我建议你可以体验一下。

而如果你是Windows使用者,又不从事特定系统相关的开发,那使用Linux是个具有相当可行性的选择。

我建议你可以尝试一下,也许是个不错的体验呢。

如果你是Mac,想体验Linux,除了虚拟机以外,像我这样,把它安装在移动硬盘上,是个更好的方案。

去尝试下吧,也许你会发现你会非常喜欢它呢~

0 人点赞