共计 1811 个字符,预计需要花费 5 分钟才能阅读完成。
前言
就在上周,我打算开始正式学习Netty这个异步的网络框架,在此之前还需要了解NIO和多路复用IO的通信方式,为此又从GitHub上找到了《UNIX网络编程卷1:套接字联网API(第3版)》,了解了Unix中主要的五种IO通信方式,并写了一篇博客:Unix中的5种IO模型。在学习IO模型的过程中,学习到了很多Unix底层的网络通信方面的知识,我也打算我的Netty学习最终以实现一个基于Netty的内网穿透工具结束,同时也想更深入地了解一下Linux操作系统(毕竟这学期有一门闭卷考试的操作系统课)。
但好巧不巧的是,在我学习完UNIX的IO模型后,对大语言模型中RAG技术又来了兴趣,甚至超过了Netty(毕竟Netty底层原理太难了),于是又花了一周左右的时间写了个基于个人知识库实现的AI对话系统,该系统目前核心功能均已实现,于是我的兴趣也逐渐从RAG转向Linux操作系统。
就在昨天晚上,我从GitHub上下载了一本《只是为了好玩:Linux之父林纳斯自传》和一本《鸟哥Linux私房菜第四版》作为我学习Linux的主要资料。其中林纳斯自传是我之前学习Linux时就想看的一本书,或者说在我Linux入门时,视频中就有介绍过林纳斯。当时给我留下很深印象的是这句话:林纳斯在一个暑假写下了Linux的内核。作为技术爱好者,我一向崇拜🤩技术大佬。
4月8号17点48分,电子书下载到了我的电脑上(别问下载时间是怎么精确到分的,文件操作是有记录),看到了第二天也就是今天凌晨4点多(全书大概260多页,此时看到了182页),接着今天下午继续看,一口气看完。书中内容完美阐述了书名:只是为了好玩(Just for fun)。
读后感
林纳斯是个什么样的人?简单来说就是对计算机抱有浓厚兴趣的人,热衷于探究事物运行原理。拿他母亲的话来讲:林纳斯是个很好养的小孩,只要把他和一台电脑关在一个黑乎乎的小屋里,再时不时扔一点面条进去就行了。
我不是林纳斯,但对于这种情况却深有体会。我有时候因为写代码写得过于投入,可以写一个通宵,并且大多情况下,白天一旦投入到写代码中,就废寝忘食,一天只吃一顿晚饭对我来说是常有的事。对我来说:计算机的学习必须以兴趣作为驱动,只有强烈的兴趣,才能在一些毫无头绪的问题理清问题的来源并想出解决策略,当你的解决方案成功生效时,就像一位热爱数学解决了一道苦思好久的题一样,感受十足喜悦的同时还有十分的自豪。
因为兴趣他能在Minx上自己写一个Linux操作系统,为了好玩,他将Linux代码开源出来,因为这样可以收到来自世界各地的爱好者的反馈,这些反馈能帮助他找到更大的挑战让自己保持兴奋。尽管他与理查德·斯托曼(《自由软件,自由社会》一书作者,这本书我也看过,我崇尚开源工作也是受这本书的影响)有过一面之缘,但他并没有受理查德·斯托曼的影响极力致力于开源工作,反之林纳斯还非常不喜欢理查德·斯托曼,因为理查德·斯托曼希望所有代码开发者都将代码代码,这对林纳斯来说,是不可能的,而且也侵犯了作者的意志。
在全美达工作和Linux开源工作上,他将二者进行了平衡,没有让Linux被资本或商业侵染,通过利用平时在全美达的工作经验来更好地维护Linux。他能果断拒绝乔布斯,仅仅因为看乔布斯不爽;在打着开源的名义举行商业活动的演讲上,他能大骂一声愤然离席...
如今,桌面操作系统上Windows和MacOS仍然是两座不可撼动的大山,但是在服务端操作系统上,Linux一直占领绝对优势,因为开源性,所以Linux的安全性一直是有保证的,担保人就是全世界各地参与Linux开发的开发者。开源可以让一个程序长期安稳地走下去,让无数开发者体验到参与开发的乐趣,这从人文思想上看,开源是程序员最求自由的一种方式,程序拿到手,想怎么改就怎么改,想怎么用就怎么用。但是绝对的开源环境是一种理想的社会环境,开源也不等于免费,这也就是为什么早期free software变为了open source software。但这么说吧,只有源源不断的人参与open source工作,才会有更多的free software,而那些付费软件存在的唯一意义,就是提供软件核心功能之外的附加功能。也就是说,一款可接受的free software是这样的:用户不必付出任何代价就能享受这个软件的核心功能,并且这个软件的核心功能在任何时候都不会改变。