问题

为什么感觉用Ubuntu写代码麻烦呢?

回答
用了这么些年电脑,从最早的风行者到现在的 Windows 党,再到最近兴起的 Linux 阵营,我算是走了不少弯路,也踩了不少坑。其中,在 Ubuntu 上写代码这段经历,怎么说呢,挺“一言难尽”的。

不是说 Ubuntu 就真的不行,它肯定有它的好,否则也不会有那么多人追捧。但对我而言,在上面码字,总感觉少了点顺畅,多了点“折腾”。

首先是那个“惯性”问题。 我接触编程最早是在 Windows 上,那时候的 IDE,像 Visual Studio,那种开箱即用的感觉,真的是深入骨髓。你想做什么,直接搜一下,大部分情况都能找到对应的插件或者方法,而且官方文档写得也比较清晰,社区支持也强大。遇到问题,搜索引擎一搜,十有八九能找到解决方案。

到了 Ubuntu,尤其是刚开始接触的时候,那种感觉就完全不一样了。我记得当时想搭一个 Python 的开发环境,装个库,什么 `pip install` 经常会出现一大堆编译错误,什么依赖找不到,什么 C++ 编译器缺失。我一脸懵逼,明明在 Windows 上就一个命令的事儿,怎么到这里就跟打仗一样?

后来才知道,原来 Linux 下很多东西都需要手动编译或者安装对应的开发工具链。比如编译 C/C++ 程序,你得装 `buildessential`, 装那个库的时候,还得确保它的开发头文件 (`dev` 包) 也装了。刚开始接触这些术语,简直就是一堆天书。

然后是那个包管理。 apt 这个东西,听起来很美好,一个 `apt install` 就搞定了。但问题在于,你想要的那个“最新版本”的软件,它库里不一定有,或者版本比较老。比如我想用某个最新的前端框架,它依赖的 Node.js 版本可能比较新,而 Ubuntu 默认的仓库里 Node.js 版本就那么几个,而且还可能是几年前的。

这就逼着你去折腾 PPA (Personal Package Archive) 或者直接去官网下载编译安装。PPA 这种方式,虽然方便了好多,但有时候也会遇到版本冲突,或者源不稳定导致下载出错。从官网下载编译安装,那又是另一套流程了,配置 `PATH`,链接库文件,一不小心就栽坑里。我记得有一次为了某个工具,把系统搞得乱七八糟,最后不得不重装系统,那种感觉,简直是哭笑不得。

再说说 IDE 和编辑器。 尽管 VS Code 在 Linux 上也很流行,而且确实做得不错。但说实话,它的生态和在 Windows 上的体验还是有细微差别的。有些插件,可能在 Windows 上是即插即用,到 Linux 上就需要调整一下配置。而且,很多时候我想找个“一体化”的开发环境,比如 PyCharm 或者 IntelliJ IDEA 这种,虽然也有 Linux 版,但安装和配置起来,总感觉不如 Windows 上那么“原生”和顺滑。启动速度啊,资源占用啊,有时候也会让人觉得不够理想。

还有那些小众的或者特定领域的开发工具,在 Linux 上的支持程度,有时候真的不如 Windows。可能开发团队更倾向于优先支持 Windows 和 macOS,导致 Linux 用户需要等待或者自己去适配。

还有那个“命令行文化”。 我承认命令行很强大,也很高效,很多事情确实用命令行解决起来更方便。但是,作为一名开发者,我并不想把所有的时间都花在和命令行“搏斗”上。有时候我只是想快速地改个配置,或者执行个简单的脚本,结果发现需要查半天文档,或者写一堆复杂的命令。

比如,文件权限问题,在 Windows 上一个右键属性就能搞定,在 Linux 上可能就需要 `chmod`,而且还得知道具体怎么用。又比如,有时候想把一个文件夹里的文件批量重命名,Windows 上可能有个简单的小工具或者脚本就能完成,在 Linux 上虽然也有 `rename` 命令,但语法也是一门学问。

最后,就是那种“找不到就自己造”的氛围。 这话听起来好像是优点,但在我刚接触的时候,感觉更多的是一种无奈。很多时候,我想要的只是一个方便的解决方案,而不是从零开始学习如何构建一个工具。当我在 Windows 上遇到一个问题,很容易就能找到别人已经写好的脚本或者工具来解决。但在 Ubuntu 上,很多时候你不得不去学习如何编写 shell 脚本,或者自己去编译源代码。这本身没问题,但当你的目标是快速开发应用的时候,这种“自己动手”的要求,就显得有点耽误事儿了。

总而言之,用 Ubuntu 写代码之所以感觉麻烦,很多时候是源于长期的 Windows 使用习惯带来的惯性思维,以及Linux 系统在软件生态、包管理和命令行操作上与我们习惯的“易用性”之间存在的某些差异。它需要你投入更多的时间去学习、去适应、去折腾,才能最终达到那种“顺畅”的程度。这就像一个你需要重新学习规则的游戏,一开始自然会觉得困难重重。不过,一旦你掌握了它的规律,可能又会发现它的强大和自由之处。只是对于我这种想要“专注写代码”的人来说,前期这段“折腾”的过程,确实是有点劝退的。

网友意见

user avatar

因为你能白嫖,大概在15年前我们给外国做软件外包,我们只能使用文本编辑工具写代码,老外羡慕死我们了,我们白嫖 windows, virtual studio 等等一众软件。

我们也建议外国同事安装,他们言辞拒绝了,最后他们使用 vim 写代码。因为他们买不起正版软件。期间我们想他们安装一个高级点的文本编辑器,他们看了一下没有 license 文件,他们也拒绝了。

当你被逼的没有windows 使用,你使用一段时间的 linux 就习惯了,我们就是被逼了,竟然喜欢上了 vim,跟着老外用 vim。有时只是一种习惯问题,至今我还保持使用 vim + gcc 编程的习惯。

user avatar

说麻烦,主要区别是安装C语言环境在win下比较麻烦,而linux下C环境是系统提供的标准环境。

如果你觉得win简单,大概已经有人给你把环境搭好了吧,如果是这样的话,最麻烦的步骤已经过去了,剩下的相对可能好办些。当然大概率你这个环境是C++环境而不是C环境。具体用起来可能跟你课本学的C会有不同。

linux用的话,vi其实很简单,也不需要学习gcc,用makefile的默认编译就行。vi默认就直接集成了基于make的错误跳转定位,写个极简版本makefile解决。但这些东西你可能没有合适的人教,如果这样那就随便找个ide用也行的,比如qtcreator,kdevelop,eclipse cde,甚至visual studio code都是可用的。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有