Home  >  Article  >  The first operating system written in Chinese appears!

The first operating system written in Chinese appears!

藏色散人
藏色散人forward
2022-03-22 10:18:493784browse

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"!

The first operating system written in Chinese appears!

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:

The first operating system written in Chinese appears!

The first operating system written in Chinese appears!

The first operating system written in Chinese appears!

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:

The first operating system written in Chinese appears!

A little disbelief? Then open another layer management code:

The first operating system written in Chinese appears!

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.

The first operating system written in Chinese appears!

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:

The first operating system written in Chinese appears!

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!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete