昨天上网的时候,看到一个21岁的美国大学生,自制了一个叫Sage的编程语言。
(https://github.com/adam-mcdaniel/sage)
我刚开始并没在意,因为现在能自制编程语言的人太多了。
不过,在Sage的GitHub上一看,我发现他竟然用Sage写了一个操作系统:SageOS。
这个SageOS是实现在用户态,用VirtIO drivers连接各种IO设备,支持键盘,平板,可以访问硬盘,GPU,实现了Shell,可以执行ELF文件,还实现了一个简单的PPT。
虽说界面比较丑陋吧,但已经具备了操作系统的雏形。
用的是自制的编程语言,这就厉害了!
在GitHub的末尾,他放上了自己的邮箱,说是2024年毕业,正在找工作,感兴趣的话可以联系他。
说实话,我要是招人的话,确实挺想和他聊聊的。
我想起了大学的时候,《编译原理》这门课实在是无聊,都不想学。如果能用学到的词法分析,语法分析写个表达式分析器,大家都会向你投来佩服的目光,认为你是大牛。
更多的人还是去学Java,学框架,做Web编程。
后来,年轻的程序员成长起来,就不满足于表达式的解析了,他们要自制属于自己的编程语言。
这时候,市面上的资料也开始丰富起来,像《自制编程语言》,《两周自制脚本语言》,《自制编译器》等等。
(不得不说一句,日本人在写通俗易懂的计算机书方面还是挺厉害的。)
只要你有自制编程语言的爱好,能耐得住性子,跟着书上的步骤,照猫画虎写个编程语言是不成问题的,然后再改吧改吧,加强一下,就能成为自己的。
这些自制的编程语言,不仅仅可以输出Hello World,还支持基本的数据类型,基本的控制结构(顺序,循环,分支),支持函数调用。
用它来写个斐波那契数列,甚至用来刷LeetCode都不成问题。
写到简历中也是成就满满,“用自己的编程语言刷了300道LeetCode”,很吸引面试官的眼球。
现在的学生就更厉害了,自制编程语言不仅仅可以写算法,竟然可以深入到系统级,写操作系统了。
要知道,虽然是用户态的操作系统,也涉及到IO操作,图形界面,Shell。
这对自制编程语言的要求不可同日而语。
仔细想想,这并不是更卷了,而是一代更比一代强。
写到这里,我想起来2019年,我和上海一个编程小神童聊过,五六年级就开始看CODE,CSAPP,TAOCP,说是要做个MMIX虚拟机。
还非要加入我的读书群,在里边大侃C++的编译,把我们这些码农看得目瞪口呆。
CSAPP的读书笔记写得极有个性:
还有一个初中生,做了基于canvas的动画引擎,像flash一样可以进行脚本化:https://github.com/Bug-Duck/newcar
看看这国际范儿的纯英文的文档,比很多程序员都强多了吧?
每次看到他们,我都感觉我这个前浪很快就被拍死在沙滩上了。
我在他们这个年纪,还不知道计算机为何物,放学后只想着赶紧去河湾里疯玩,差距太大了。
如果他们沿着这个路子狂奔下去,以后的成就可不得了。
只是他们必须暂时把自己的爱好放下了,因为他们要参加小升初,要中招,“要准备下一轮中考复习”。
等他们考上大学,毕业后,又可能会遇到房子、教育、医疗、加班等各种问题,到时候还能保持现在的爱好吗?只有天知道了。
全文完,觉得不错的话点个赞或者在看吧!
近期精彩:
我们的世界,运行在无人能懂的屎山代码之上
巴西都发明两门流行的编程语言了!
继Linus之后,又一个动辄就“F**k You”的技术天才和营销大师出现了!
世界最强计算机,极少人见过,让程序员高薪工作一辈子!
这个波斯人的名字,成了无数程序员的梦魇!
四次刮骨疗毒,苹果是无可争议的卷王!