大家好,我是良许。
最近有个朋友问我,为啥程序员不直接在Linux环境下写代码?
你看那些大厂的服务器不都跑Linux吗,本地开发环境也用Linux不就完美对齐了?
听起来很有道理对吧?
但现实是,大部分程序员还是抱着Mac或者Windows不撒手。
Mac才是程序员的真爱
你去任何一家互联网公司转一圈,十个程序员里至少七个用Mac。
为啥?
因为Mac这玩意儿太香了。
它底层是Unix内核,跟Linux是亲兄弟,终端命令基本通用。
你在Mac上敲的那些bash、git、docker命令,到了Linux服务器上无缝衔接。
但关键是,Mac有个Linux永远学不会的东西——生态。
想开个会?
钉钉、企业微信、飞书,双击就开。想摸个鱼?
微信、QQ、网易云音乐,应有尽有。
想查个文档?
Office全家桶伺候着。
这些在Linux上要么没有,要么是半残版本,要么得折腾wine虚拟化,体验能把人逼疯。
更别说那块视网膜屏幕了,看代码看一天眼睛不累。
触控板丝滑得像在摸绸缎,Linux那破触控板驱动,能用就谢天谢地了。
Windows也不是吃素的
别看网上天天黑Windows,人家现在有WSL2啊。
Windows Subsystem for Linux,微软亲儿子,直接在Windows里跑一个完整的Linux内核。
你可以在Windows下用Chrome刷网页、用微信聊天、用Word写文档,然后打开终端秒切到Ubuntu环境写代码。
两个世界无缝切换,爽到飞起。
而且很多公司就是Windows全家桶,AD域控、企业邮箱、VPN客户端,全是Windows定制的。
你非要用Linux?
行啊,IT部门先给你开个特殊通道,然后你自己折腾去吧。
Linux桌面的真实困境
不是程序员不想用Linux,是Linux桌面真的不争气。
显卡驱动永远是个坑。
N卡在Linux下性能打折不说,偶尔还给你来个黑屏。
想外接个显示器?
祈祷别遇到分辨率识别问题。
想调个亮度?
可能得手写配置文件。
软件生态更是灾难。
你想用个Photoshop?没有。
想用个Sketch?没有。
想用个微信?有是有,但网页版功能阉割得只剩骨架。
想打开个企业发的.docx文件?LibreOffice打开格式全乱了。
还有那个包管理器的依赖地狱。
装个软件要先装七八个依赖,卸载的时候又不敢删,怕把系统搞崩。
更新个系统?
先备份数据,因为你不知道这次更新会不会把桌面环境干废。
真正的痛点在这儿
程序员要的不是装逼,要的是效率。
你写代码的时候,可能要开着IDE、浏览器查文档、终端跑命令、数据库客户端看数据、Postman测接口、微信问同事、钉钉开会。
这一套流程下来,哪个环节卡壳都影响产出。
Linux桌面就是那个最容易卡壳的环节。
你可能花半小时解决一个输入法bug的时间,在Mac上已经写完一个功能了。
而且现在都容器化了,本地开发环境跟生产环境的差异,Docker一个镜像就抹平了。
你在Mac上开发,打包成镜像扔到Linux服务器上跑,根本不存在环境不一致的问题。