整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

对许多不擅长英语的编程萌新来说,乍一看代码中各类英文关键字 、变量名、函数名等,难免十分头大,甚至还会对自己能否学好编程提出质疑。

如此心境下,他们脑海中往往会冒出一种想法:“要是可以用中文编程就好了。”

你还别说,最近真有人落实了这个想法:一位湖南长沙的软件工程师 Jason.shao 用中文编写了一个操作系统,并自信道:“火龙操作系统是全宇宙首个采用中文编写的操作系统”!

一、自创了甲、乙、丙语言

既然要开发操作系统,编程语言必不可少——为了更好地“砍柴”,Jason.shao 自然要先“磨刀”,为此他创建了三种编程语言,取名还透着一分随性:

  • 甲语言:一门对机器码助记语言,让人更容易理解的语言,发明目的是为了开发操作系统。

  • 乙语言:一门对甲语言进行结构化过程化的语言,发明目的是为了提高开发效率。

  • 丙语言:一门面向对象的高级语言,可以理解为把任何东西看做是一个对象,这个对象应该有什么样的属性,面向对象语言更容易用计算机去描绘这个世界。

“刀”磨好了之后,Jason.shao 便开始设计其“全宇宙首个采用中文编写的操作系统”。

据项目介绍,火龙操作系统使用其自创的甲语言和乙语言开发,支持 64 位多核多任务图形化、分页式内存管理,还拥有 Windows 11 界面风格,支持 x86_64、ARMv8(仅 QEMU 测试)架构。

与此同时,火龙操作系统具备一系列基础功能,甚至还在向区块链、元宇宙方向进发(第14、15条):

1.中文显示。
2.图片显示。
3.文本阅读。
4.支持32位真色彩,最高2560*1080分辨率。
5.实现300个常用win api,支持部分exe程序。
6.全新文件系统。
7.支持USB。
8.支持sb16、ac97、es1370、es1371、hda等声卡。
9.支持Ne2000、PCnet、intel 82545EM、intel 82574L、intel 82579LM等网卡。
10.支持物理机Tiger Lake核显,Vmeare svga Ⅱ虚拟显卡。
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 已将事件起因解释清楚,但仍有部分开发者认为这种行为须注明来源:

@akemimadoka:“请注明基于《30天自制操作系统》的源码开发。”

@longware:“这种非 100% 自研,建议作者加个标注。”

不过也有很多人肯定 Jason.shao 勇于尝试的精神:

@安静书生:“不可否认,短期内没有任何意义,但是如果作者坚持下去了,有更多人参与进来,可能会引起革命性的变化,支持作者。”

@pcd:“思路还是挺好。 甲语言直接用编译器批量替换成机器码,乙语言用编译器转换成 C 语言然后用编译,丙语言直接使用 C# 批量替换编译。最妙的是这玩意儿竟然真的跑起来了!”

@久永:“无论成败如何,为行动者点赞,为开拓者喝彩!”

三、中文编程是否必要?

在众多评论中,还有一种中立的声音:“首先点赞, 但还是不明白用中文的意义何在”。

如文章开头所说,很多会产生“想用中文编程”这一想法的人中,最大的原因就是:英语不好。

那么不擅长英语是否真的会影响编程学习,中文编程必要吗?对于这个问题,答案可能因人而异。

  • 支持中文编程

这一观点可结合“@qwas982 曾请求 C# 团队开发特制的中文版”这一事件,当时其对于中文编程的呼吁引起了诸多人关注。

针对“编程中没有多少英文相关的语法更费力的是背景知识学习”这一观点,身为多年程序员的@吴烜曾反对道:“编程仍然有英文语法相关性,需要学习背景知识不意味着不需要进一步降低学习编程语言的门槛。”

美籍华裔程序员 Brian 也曾发出感慨:“对我来说,英文的资源简直就是理所应当,以至于我根本难以想象如果代码或文档用别的语言写会是什么模样。如果不会英文的话,人们就会很容易埋没在那些起步更早、作出更大贡献的程序员的阴影之中。”

  • 中文编程不必要

同时,也有部分开发者认为,想要中文编程的人大多是“编程门外汉”:以为自己之所以学不好编程,是因为不适应英语。

但实际上,换成“汉语”他们也还是不适应。因为他们不适应的不是英语,而是结构化思考和表达。中文编程看似会降低入门门槛,但不论中文还是英文,复杂的编程思维并不会变。

那么,对于以上观点,你有什么看法呢?

参考链接:

  • https://www.zhihu.com/question/21203610/answer/17615559

  • https://so.csdn.net/so/search?q=%E8%8B%B1%E8%AF%AD%E4%B8%8D%E5%A5%BD%E8%83%BD%E5%AD%A6%E7%BC%96%E7%A8%8B&t=&u=

“全宇宙首个”用中文编写的操作系统,作者还自创了甲、乙、丙编程语言?相关推荐

  1. “全宇宙首个”用中文编写的操作系统!作者还自创了甲、乙、丙编程语言?...

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 对许多不擅长英语的编程萌新来说,乍一看代码中各类英文关键字 .变量名.函数名等,难免十分头大,甚至还会对自己能否学好编程提出质疑. 如此 ...

  2. 湖南工程师用中文编写操作系统,还发明了甲、乙、丙语言???

    金磊 发自 凹非寺 量子位 | 公众号 QbitAI 用中文编写了一个操作系统,还顺带发明了三个编程语言. 一位base在湖南长沙的软件工程师Jason.shao,他的项目最近聚焦了不少人的关注. 例 ...

  3. 计算机应用能力考试题模拟系统,全国专业技术人员计算机应用能力考试全真模拟考试系统(中文windows_xp操作系统上机模拟考试试题(第2套)...

    全国专业技术人员计算机应用能力考试全真模拟考试系统(中文windows xp操作系统上机模拟考试试题(第二套) 第二套 1.请将系统从管理员用户切换到考试人员用户. 开始菜单--注销--切换用户(从管 ...

  4. 你方唱罢我登场,“全宇宙仅此一回”的小米手机青春版竞争策略分析

    PS:之前很随意的写了一篇"漫谈国内智能手机市场现状",反响不错,在天涯和CSDN均被推荐到首页专栏,点击过万,如此平淡无奇的一个题目和略有枯燥的内容能够获得大家的认可让我很受鼓舞 ...

  5. 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码

    目录 1.ChatGPT介绍 2.ChatGPT如何注册,国内不可用 3.VS Code下载安装ChatGPT 3.1 打开VS Code找到ChatGPT 3.2 ChatGPT 详细安装步骤: 3 ...

  6. 全宇宙第一编辑器VS Code搭配Markdown打造云端笔记(一)

    VS Code 配上 Markdown 语言, 就能写出酷炫, 便捷, 且适应互联网的「云端」学习笔记. 这个教程是我这段时间踩过各种各样的坑之后, 总结 VS Code 做学习笔记的最佳实践. 如果 ...

  7. {转}C#使用微软语言包来获取中文汉字的拼音、拼音首字母、中文繁体

    首先需要获取ChnCharInfo.dll和ChineseConverter.dll ChnCharInfo.dll官方下载操作如下: 先下载微软Microsoft Visual Studio Int ...

  8. 藏拙的搜索引擎技术是2008年全宇宙最耀眼的搜索引擎技术吗?

    藏拙的搜索引擎技术是2008年全宇宙最耀眼的搜索引擎技术吗? 2008年全宇宙最耀眼的技术     -----藏拙视频全文检索闪亮登场了! 真正的全文检索.纯C语言开发的全文检索.400万中文词汇分词 ...

  9. python可不可以用中文编写_震惊!!!python可以用中文来写代码

    说明: 偶尔间试了一下,python可以用中文来写代码,除了一些python内置函数,和运算符不能用中文外,其它的比如新定义的类名.函数名.变量名,甚至是函数间传的参数都可以用中文来代替.这是国人全民 ...

最新文章

  1. Python数据可视化教程之基础篇
  2. 【Kafka】Kafka为什么要加入分区的概念
  3. python浮点数保留两位小数_(RPA)学习——Python 保存两位小数
  4. 决战EXCEL2010
  5. java脚本语言 dim_写给新手windows脚本的入门
  6. java反射基础_Java反射基础 - havie的笔记 - 记笔记 - 私塾在线 - 只做精品视频课程服务...
  7. 实用软件资源下载地址集合
  8. 2018年腾讯社交广告大赛复习总贴
  9. OpenCV制作一个类“全能扫描王”的简易扫描软件
  10. 【生成模型】简述概率密度函数可处理流模型
  11. 移动硬盘只读属性不能改
  12. 电视台音频直播的问题
  13. Unity中单点和多点触控
  14. 【软件应用】word数学公式插件mathtype安装
  15. Linux安装数据库
  16. Ubuntu16.04安装GTX960闭源驱动(Dell XPS 9550)
  17. 都有哪些数据恢复软件是免费的?
  18. python实训总结泰坦尼克号_Python-数据清洗与分析案例之泰坦尼克号(一)
  19. TC358775XBG转换芯片:MIPI DSI转LVDS(单路/双路)
  20. 计算机设备养护知识试题,技术设备处设备管理知识培训试题库

热门文章

  1. 突击计划——给定大写字母,输出小写字母
  2. 火星人敏捷开发手册 2011-10-14 发布
  3. (紫书,感谢作者)第7章暴力求解法
  4. redis系列(一):安装配置
  5. 企业信息安全建设要点梳理
  6. initBinder转换日期格式
  7. 如何让Ubuntu 14重启后,保存屏幕亮度的设置
  8. 九度oj题目1153:括号匹配问题
  9. [转]STL的内存分配器
  10. 解析activity之间数据传递方法的详解