能说说为什么你要是使用 Linux 系统开发吗?

2019-04-20 23:57:14 +08:00
 shanlan

我是一开始就使用 windows 系统的,一直到现在大概有 12 年电脑的使用经验。

中间也学习过命令行的 Linux 系统,也试玩过桌面版的 Linux 系统,总体来说不好玩,一个是太复杂,还以一个原因是可玩性不强,便利性也不如 Windows,因为缺失了我很多的软件。

但是,我经常看到有网友说他在使用基于 Linux 的系统开发、办公、日常,到底有哪些亮点让我们去使用 Linux 呢?我最近也在考虑要不要跟风试试,装一个双系统,就在刚才,我已经把 s 的 ISO 文件下载了。

欢迎大家友好交流~

23252 次点击
所在节点    程序员
179 条回复
FakeLeung
2019-04-21 01:23:43 +08:00
@Humorce #4
老哥,我想问下,现在我就是 wsl 开发。但是有个很严重的问题:
文件在 windows 系统,在 wsl cd 到文件夹下跑 webpack,然后 git 就出问题,只要回滚一个文件,必定抱 permission denied 的错误,然后整个文件就消失了,需要重新打开 vscode 再将删掉的文件再回滚才行,这是啥原因啊?
AngryMagikarp
2019-04-21 01:29:22 +08:00
我从大学就开始用 linux,那时候也只是玩个新鲜,现在 linux 的“可玩性”确实没以前强了,我记得 gnome2 的时候还有一大堆特效插件可以搞点点点点点点。
但熟悉后,开发效率不知道比 windows 高多少倍。前提是熟悉命令行,包括各种常用命令、系统目录配置等。根据实际情况还有各种开发环境的配置。

linux 下你可以非常方便地安装很多服务,redis、mongo、nginx、elasticsearch、docker 等等,换句话说可以很容易模拟出一个服务器的运行环境,这时候调试开发什么的效率又不知道比 windows 高了多少。当然前提是这些东西你都玩得转。如果你是那种配置个 nginx 都不会的人,那真的就不要用 linux 了。

ubuntu 和 fedora 的桌面版是很稳定的,网上很多人人云亦云,把 linux 的桌面版说得太次。其实只要你的硬件不要太新,尤其是 GPU 不要太新,现在 linux 支持得都不错。我自己的电脑 1060 5G 显卡完美支持,DOTA2 最高特效 12v12 流畅运行。公司的电脑 1070TI 的显卡,就反而差点,但不影响开发。


说个题外话,你也可以想想,为什么那么多开发工具都要出 linux 版本,linux 这么难用,国外的开发者都是智障吗?
国外的环境和国内很不一样,国内太多人还处于用 Mac 能找到优越感的阶段;国外(主要是美国)经历了整个计算机操作系统的发展过程,因此他们对于 linux 并不像国内开发者那么陌生。linux 在美国的消费级产品中绝对是小众,但在开发者圈子里却是主流。很多工具,诸如 node、python、go 等,linux 才是他们的“原生平台”。

说句实话,使用 linux 其实是选择一种生活工作方式,不 FQ 的话会差劲很多。
ochatokori
2019-04-21 01:37:20 +08:00
趁还在读大学为了折腾而折腾

linux 开发前端两年了
qq github 上有 appimage
微信有 electronic-wechat 或者 deepin-wechat
wine-ps
我能接受这 3 个东西有点小 bug 能凑合用的话用 linux 做主力是没问题的

游戏不是不能玩,steam 上也有很多支持 linux 的游戏,我玩过的有 csgo,壶男,空洞骑士,欧卡
AngryMagikarp
2019-04-21 01:39:26 +08:00
要用好 linux 得花很多时间,跟风就算了。而且这也得看你的目的是什么,你是做什么开发的,做 Java、Android 开发?那就不要折腾了,这些是差不多的。做 Python、Go、Node 之类的用 linux 是有好处的。
Trumeet
2019-04-21 01:55:34 +08:00
Windows 10 太烂
Linux 没有那么小白化的东西,我不是傻子
包管理
Arch 大法好(方便装逼
可以折腾

PS:日常学校建议 Windows,开发 Linux
Trumeet
2019-04-21 01:55:59 +08:00
还有 Windows 奇葩的设定 Orz
huiyifyj
2019-04-21 02:08:12 +08:00
windows 命令行太 tm 垃圾了。
1998qiu
2019-04-21 02:26:21 +08:00
喜欢命令行和快捷键操作,感觉像弹钢琴一样?我没弹过钢琴,不知道会不会像钢琴师弹钢琴的感觉。
yanaraika
2019-04-21 02:32:41 +08:00
一旦和 C 特别是 gcc 打交道,Linux 以外的系统(包括 BSD 系)就会变得特别蹩脚
weakish
2019-04-21 02:35:31 +08:00
其实内存大的话,各种开发相关的包安装方便并不是问题,毕竟很多语言的包管理在 Windows 和 macOS 下都工作得很好,实在不行的话还可以在虚拟机里跑 Linux。当然,虚拟机的 I/O 和 GPU 性能损失还是挺大的,如果库、框架很依赖 I/O 和 GPU 的话,虚拟机大法无效。

Windows 10 有一些问题,比如自动升级、HiDPI 2x 支持差等。macOS 没有这些问题,不过 macOS 的硬件比较贵。

所以能想到的亮点就是:

- 比 macOS 便宜。
- 需要用 Windows 或 macOS 下安装不便或根本不支持的,同时对 I/O 或 GPU 性能敏感的库、框架。
reus
2019-04-21 02:39:14 +08:00
有 zfs、lvm 等文件管理方案

没有各种不知所谓的后台进程

gui 可以随意配置

开源软件兼容性好

实在需要 windows 软件,可以用虚拟机
Humorce
2019-04-21 03:05:55 +08:00
@FakeLeung #20
git 是 win 环境下的还是 wsl
ldm0
2019-04-21 03:13:41 +08:00
WSL 有一堆隐藏的坑,想 mtr 看一下网络都不行。
fakeshadow
2019-04-21 03:31:51 +08:00
开发效率高,和部署环境接近。而且娱乐功能不强。
littlesubgirl
2019-04-21 03:43:47 +08:00
@Humorce wsl mangodb 装不上
quinoa42
2019-04-21 06:44:37 +08:00
你不如问为什么要用 win 开发
玩游戏是开发的一环吗? linux 不能玩游戏吗?
weiping1992
2019-04-21 06:54:41 +08:00
我一直想在 wsl 上装 docker,却一直失败
xiaotuzi
2019-04-21 07:19:13 +08:00
就开发而言,Windows 下写的程序不分大小写,如果你在 Windows 下开发,很容易导致这个错误,项目一上线就报 bug。
silkriver
2019-04-21 07:28:20 +08:00
以前我是用 windows 桌面,后来 win10 的自动更新重启烦到我了,于是改用了 Manjaro,觉得这是目前的最佳桌面系统,推荐开发者装这个。
nightcat
2019-04-21 07:56:38 +08:00
我就一点,windows 的字体渲染实在太辣眼睛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/557147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX