治白癜风要花多少钱 https://disease.39.net/bjzkbdfyy/170521/5390504.html整理
郑丽媛
对许多不擅长英语的编程萌新来说,乍一看代码中各类英文关键字、变量名、函数名等,难免十分头大,甚至还会对自己能否学好编程提出质疑。
如此心境下,他们脑海中往往会冒出一种想法:“要是可以用中文编程就好了。”
你还别说,最近真有人落实了这个想法:一位湖南长沙的软件工程师Jason.shao用中文编写了一个操作系统,并自信道:“火龙操作系统是全宇宙首个采用中文编写的操作系统”!
自创了甲、乙、丙语言
既然要开发操作系统,编程语言必不可少——为了更好地“砍柴”,Jason.shao自然要先“磨刀”,为此他创建了三种编程语言,取名还透着一分随性:
甲语言:一门对机器码助记语言,让人更容易理解的语言,发明目的是为了开发操作系统。
乙语言:一门对甲语言进行结构化过程化的语言,发明目的是为了提高开发效率。
丙语言:一门面向对象的高级语言,可以理解为把任何东西看做是一个对象,这个对象应该有什么样的属性,面向对象语言更容易用计算机去描绘这个世界。
“刀”磨好了之后,Jason.shao便开始设计其“全宇宙首个采用中文编写的操作系统”。
据项目介绍,火龙操作系统使用其自创的甲语言和乙语言开发,支持64位多核多任务图形化、分页式内存管理,还拥有Windows11界面风格,支持x86_64、ARMv8(仅QEMU测试)架构。
与此同时,火龙操作系统具备一系列基础功能,甚至还在向区块链、元宇宙方向进发(第14、15条):
1.中文显示。2.图片显示。3.文本阅读。4.支持32位真色彩,最高*分辨率。5.实现个常用winapi,支持部分x程序。6.全新文件系统。7.支持USB。8.支持sb16、ac97、s、s、hda等声卡。9.支持N、PCnt、intlEM、intlL、intlLM等网卡。10.支持物理机TigrLak核显,VmarsvgaⅡ虚拟显卡。11.红白机游戏。12.自举编译。13.斯坦福兔子。14.区块链元宇宙(正在进行中)。15.元宇宙之镜像世界(正在进行中)。
光说无用,Jason.shao还在项目介绍中特地展示了几张火龙操作系统的运行截图:
从运行效果来看,火龙操作系统的整体表现可圈可点,那么接下来需要验证的就是它是否真的由中文编写。
随便点开一个系统中的内存管理源代码:
有点不信邪?那就再打开一个图层管理代码:
由此可以看出,火龙操作系统的源码“画风”显然区别于往常见到的其他代码,满屏中文也印证了其“用中文编写”的特点。
“抄袭”风波?
然而,就在我们惊叹于Jason.shao真的可以用中文编写操作系统的时候,项目评论中
dragon-os的一条留言却激起了巨大讨论:
这个就是日本人川合秀实《30天自制操作系统》里的“纸娃娃操作系统”,所谓的“甲语言”其实就是asm汇编语言,使用了拙劣的文本替换方式,把诸如mov这样的指令用蹩脚的“移送”来替换,就是换了个名称罢了。“乙语言”就是c语言。那个z_tools目录就是《30天自制操作系统》源码光盘里的文件夹,太明显了。
《30天自制操作系统》是什么?简单来说这是一本从计算机构造、汇编语言、C语言等角度全面解说如何自制操作系统的书籍,旨在帮助开发者从零编写所有代码、30天即可创建出一个具有窗口系统的32位多任务操作系统。
而据
dragon-os分析,火龙操作系统其实就是这本书里的“纸娃娃操作系统”,甚至项目中的“z_tools目录”也是《30天自制操作系统》源码光盘里的文件夹,盗用痕迹“太明显”。
面对负面质疑,项目作者Jason.shao直接在评论区回复道:
“请你仔细阅读30天自制操作系统的开源协议再来吐槽,作者明确说明了代码可以随意修改,修改后的代码也不必开源,拿来商用都是可以的,关于本项目之后的代码都不在开源!”
不仅如此,Jason.shao也早在“参考文献”中,明确指出项目有引用这本书籍:
尽管Jason.shao已将事件起因解释清楚,但仍有部分开发者认为这种行为须注明来源:
akmimadoka:“请注明基于《30天自制操作系统》的源码开发。”
longwar:“这种非%自研,建议作者加个标注。”
不过也有很多人肯定Jason.shao勇于尝试的精神:
安静书生:“不可否认,短期内没有任何意义,但是如果作者坚持下去了,有更多人参与进来,可能会引起革命性的变化,支持作者。”
pcd:“思路还是挺好。甲语言直接用编译器批量替换成机器码,乙语言用编译器转换成C语言然后用编译,丙语言直接使用C#批量替换编译。最妙的是这玩意儿竟然真的跑起来了!”
久永:“无论成败如何,为行动者点赞,为开拓者喝彩!”
中文编程是否必要?
在众多评论中,还有一种中立的声音:“首先点赞,但还是不明白用中文的意义何在”。
如文章开头所说,很多会产生“想用中文编程”这一想法的人中,最大的原因就是:英语不好。
那么不擅长英语是否真的会影响编程学习,中文编程必要吗?对于这个问题,答案可能因人而异。
支持中文编程
这一观点可结合“
qwas曾请求C#团队开发特制的中文版”这一事件,当时其对于中文编程的呼吁引起了诸多人