V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sotvokun  ›  全部回复第 1 页 / 共 1 页
回复总数  2
我最近也在考虑逐步把日常环境切到 Linux 上,起因也和 OP 差不多。

甚至我前两年因为被微软在 vscode 里面塞入一些奇奇怪怪的新功能(比如彩虹括号),而我每个月都要手动关掉他们更新的新功能,一怒之下切到 neovim ,现在主要编码是用 neovim ,虽然现在为了用 Copilot Chat 和写一写文档也还是偶尔在用 vscode 。

我目前是在 ThinkPad X1 Carbon 6th gen 在上面跑了一个 Debian 12 KDE ,因为没有 N 卡而且没有独显用起来其实还行,国内环境解决网络之后用起来基本没啥折腾的。

14 寸 2K 分辨率,也只有 150% 非整数缩放看着舒服一些,但是之前装了 Fedora Workstation 原生自带的 Gnome 开了非整数缩放之后,绝大多数通过包管理器装的软件都能正常缩放,但是 Flatpak 装的 Chrome 和 Vivaldi 的就不太行,然后切到 KDE 发现没啥问题。

当然除了 KDE 缩放没啥问题外,Gnome 要变得好用,多少还是要折腾一下 Extension 啥的。KDE 丑就丑点吧,开箱即用,要啥自行车(。)

目前这台电脑被我丢到公司当工作机了,除了偶尔内存和 SWAP 都跑满导致(不太清楚是系统还是 KDE )卡住外。应付公司的开发工作还是没啥问题。

看 OP 的描述,绝大多数问题都能解决,感觉如果不是 N 卡的话主力 Linux 完全没啥问题。

---

我现在大概是日常生活开 NUC ( Windows ),有打高画质电动的需求开高性能 Windows ,一台 MBP 带出门用。

两个 Windows 都在一个桌台上,然后只有一个显示器,要切换的时候要手动去插拔输入和输出设备。

打算搞个 KVM 切换器,这样就不用那么麻烦了,而且好像这样打电动和写代码也可以比较轻松切换,虽然比起在单个系统里面麻烦一些。

也考虑把 NUC 切换成 Linux ,不过我目前还有 AutoCAD + 天正插件 和 M$ Office 的需求,装好之后又再搞个虚拟机太折腾了。所以暂且还没考虑换,之后有机会了感觉还是说可行的。

比起八九十年前的 Linux ,现在的 Linux 在国内解决网络问题之后,基本开箱即用了不用咋折腾了,甚至比 Windows 还少折腾的错觉(指在控制面板和设置里面各种调整)(。
只从语言层面来看缺点的话,大概有以下几点:
1. Primitive Type 不是对象,不是对象就算了,也不像对象一样进行操作。
2. 没有值类型,到处都是引用类型,然后还没有 null-safety 的语言层面的配套设施。
3. 同上一条,因为都是引用类型,所以函数的传参在函数内部可能被修改,只能靠人为规范规避问题( C# 的话可以通过 ref/in/out 来显性标识)。
4. 没有原生的 getter/setter 支持,只能用 lombok 这种代码生成器来 hack 实现。
5. 标准库设计得稀烂。

单从语言层面上来看的话,Java 是一个彻底贯彻落实面向对象但是又仅此而已的语言……好处的话,语法糖很少,学起来很简单,所有人的写法都是差不太多的。对比 C++ 和 C# 这种,一个问题的解法每个人都可以写出自己的风格来,算是一种很强的优势了。

某种意义上来说 Java 在行业的应用和发展算是双向奔赴的结果,老板放心,打工人喜欢。

唯独不好的地方大概就是有如果你喜欢写代码的话,Java 这门语言用起来不会很开心。

和其他语言其他,C++ 的话就是自由,你想怎么写就怎么写,你甚至可以在 C++ 里面实现 Rust 的 trait 。Go 的话就是简单,写的时候没有任何心智负担,因为啥高级特性都没有。Rust 弥补了 C++ 中的部分缺点,用自由和编译速度换来了安全和更好的包管理。


来到更上层,大家其实都差不多,Java 的唯一优势就是这些年积累下来的生态比较丰富。但是这个优势又没那么大……出活速度不如 PHP, nodejs 快,速度不如 golang, Rust, C++ 快,那些引以为豪的生态,在绝大多数时候都不是一开始就需要考虑的问题。


不过语言这种东西顶多就是个工具,围绕他的一切事物甚至算不上知识。还是数据结构算法、系统设计、数据库设计,这些东西更重要。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6012 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 02:13 · PVG 10:13 · LAX 18:13 · JFK 21:13
Developed with CodeLauncher
♥ Do have faith in what you're doing.