The first operating system written in Chinese appears!
For many newcomers to programming who are not good at English, the various English keywords, variable names, function names, etc. in the code will inevitably be very confusing at first glance, and they may even question whether they can learn programming well.
In such a state of mind, an idea often pops up in their minds: "It would be great if they could program in Chinese."
Don't tell me, someone has really implemented it recently This idea came to mind: Jason.shao, a software engineer in Changsha, Hunan, wrote an operating system in Chinese and confidently said: "Fire Dragon Operating System is the first operating system written in Chinese in the universe"!
1. Created languages A, B, and C
Since we want to develop an operating system, programming languages must Indispensable - in order to "cut wood" better, Jason.shao naturally had to "sharpen the knife" first. To this end, he created three programming languages, and the names were also casual:
A language: A mnemonic language for machine codes, a language that is easier for people to understand. The purpose of invention is to develop operating systems.
Language B: A structured and procedural language for language A. The purpose of invention is to improve development efficiency.
C language: an object-oriented high-level language, which can be understood as treating anything as an object and what attributes this object should have. Object-oriented language makes it easier to use computers to describe the world.
After the "knife" was sharpened, Jason.shao began to design its "first operating system written in Chinese in the universe."
According to the project introduction, the Fire Dragon operating system is developed using its own languages A and B. It supports 64-bit multi-core multi-tasking graphical and paged memory management. It also has a Windows 11 interface style and supports x86_64 and ARMv8. (QEMU tested only) Architecture.
At the same time, the Fire Dragon Operating System has a series of basic functions, and is even moving towards the blockchain and metaverse (Articles 14 and 15):
1. Chinese display.
2. Picture display.
3. Text reading.
4. Support 32-bit true color, up to 2560*1080 resolution.
5. Implement 300 commonly used win apis and support some exe programs.
6. Brand new file system.
7. Support USB.
8. Supports sb16, ac97, es1370, es1371, hda and other sound cards.
9. Supports Ne2000, PCnet, intel 82545EM, intel 82574L, intel 82579LM and other network cards.
10. Support physical machine Tiger Lake core display and Vmeare svga Ⅱ virtual graphics card.
11. Famicom games.
12. Bootstrap compilation.
13. Stanford Rabbit.
14. Blockchain metaverse (in progress).
15. The Mirror World of the Metaverse (in progress).
It’s useless to talk about it. Jason.shao also showed a few screenshots of the operation of the Fire Dragon operating system in the project introduction:
Judging from the operating results, the overall performance of the Fire Dragon operating system is remarkable, so the next thing that needs to be verified is whether it is really written in Chinese.
Just click on the memory management source code in a system:
A little disbelief? Then open another layer management code:
It can be seen from this that the "style" of the source code of the Fire Dragon operating system is obviously different from other codes commonly seen. The screen full of Chinese also confirms its feature of being “written in Chinese”.
2. “Plagiarism” controversy?
However, just when we were amazed that Jason.shao could really write an operating system in Chinese, a message from @dragon-os in the project comments sparked a huge discussion:
This is the "Paper Doll Operating System" in the Japanese Hidemi Kawai's "30 Days of Homemade Operating System". The so-called "Language A" is actually the asm assembly language, using a poor text replacement method. Instructions like mov are replaced with the crappy "move", which is just a different name. "Language B" is language C. The z_tools directory is the folder in the source code CD of "30 Days of Homemade Operating System". It's too obvious.
What is "30 Days to Make Your Own Operating System"? Simply put, this is a book that comprehensively explains how to make your own operating system from the perspectives of computer architecture, assembly language, C language, etc. It aims to help developers write all codes from scratch and create a 32-inch Windows 7 operating system with a window system in 30 days. bit multitasking operating system.
According to @dragon-os analysis, the Fire Dragon operating system is actually the "Paper Doll Operating System" in this book, and even the "z_tools directory" in the project is also included in the source code CD of "30 Days of Homemade Operating System" folder, the signs of theft were "too obvious".
Faced with negative doubts, the project author Jason.shao directly replied in the comment area:
"Please read the 30-day open source agreement of the self-made operating system carefully before complaining. The author clearly explained the code You can modify it at will, and the modified code does not need to be open source. It can be used for commercial purposes. The code after this project will not be open source!"
Not only that, Jason.shao has also published it in the "References" , clearly stated that the project quoted this book:
Although Jason.shao has clearly explained the cause of the incident, there are still some developers who believe that this behavior must be noted Source:
@akemimadoka: "Please indicate the source code development based on "30 Days Homemade Operating System"."
@longware: "This is not 100% self-developed, it is recommended The author adds a note."
However, many people affirm Jason.shao's spirit of courage to try:
@久久书生: "It is undeniable that it does not make any sense in the short term, but if the author persists Now, if more people participate, it may lead to revolutionary changes and support the author."
@pcd: "The idea is quite good. Language A is directly replaced by a compiler into machine code in batches, and language B is Use the compiler to convert it into C language and then compile it. The C language directly uses C# to replace the compilation in batches. The best thing is that this thing actually runs!"
@久永: "No matter the success or failure, for Thumbs up to the activists and cheers to the pioneers!"
3. Is Chinese programming necessary?
Among the many comments, there is also a neutral voice: "First of all, I like it, but I still don't understand the meaning of using Chinese."
As mentioned at the beginning of the article, among many people who have the idea of "wanting to program in Chinese", the biggest reason is: poor English.
So will not being good at English really affect programming learning? Is Chinese programming necessary? The answer to this question may vary from person to person.
Support Chinese programming
This point of view can be combined with "@qwas982 once requested the C# team to develop a special Chinese version "This incident, at that time, its call for Chinese programming attracted a lot of attention.
In response to the view that "there is not much English-related grammar in programming, and it is more laborious to learn background knowledge", @武烜, a programmer for many years, once objected: "Programming still has English grammar-related relevance and needs to be learned. Background knowledge does not mean that there is no need to further lower the threshold for learning programming languages."
Brian, a Chinese-American programmer, also expressed emotion: "For me, English resources are simply a matter of course, so that I simply can't imagine what it would be like if the code or documentation were written in another language. If you don't know English, it will be easy to be buried in the shadow of those programmers who started earlier and made greater contributions."
Chinese programming is not necessary
At the same time, some developers believe that most people who want to program in Chinese are " "Programming layman": I think the reason why I can't learn programming well is because I'm not used to English.
But in fact, they still don't adapt to "Chinese". Because what they are not accustomed to is not English, but structured thinking and expression. Chinese programming seems to lower the entry barrier, but regardless of Chinese or English, complex programming thinking will not change.
So, what do you think of the above points? Everyone is welcome to leave comments for discussion!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Dreamweaver Mac version
Visual web development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.