Home headlines Domestic programming language 'Mulan' attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

Domestic programming language 'Mulan' attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

Jan 19, 2020 pm 02:15 PM
python language

Recently, some media said that a domestic programming language for intelligent Internet of Things and programming education was launched, named Mulan. As soon as the news came out, it sparked discussion in the developer community. But someone discovered that after unpacking the downloaded program package - is it Python?

Domestic programming language 'Mulan' attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

With the increasing frequency of human-computer interaction, programming is becoming the "third most important basic discipline" in this era, from C, C to Python, Julia, different Programming languages ​​have large development communities due to their own features and capabilities.

In addition, once a programming language establishes its own ecosystem in a field, its status is almost difficult to shake, such as the Go language launched by Google in the field of cloud computing and Swift designed by Apple. Language, Oracle-controlled Java language standard, etc.

A few days ago, some media reported that the State Key Laboratory of Computer Architecture of the Institute of Computing Technology, Chinese Academy of Sciences (hereinafter referred to as the Institute of Computing Technology, Chinese Academy of Sciences) stated that the domestic programming language "Mulan" (Mulan) ( Mulan: Module Unit Language) was officially released. "Mulan" is positioned as a programming language for intelligent IoT applications and adopts the latest programming language design concepts and compilation technology. The development team is committed to making it a "C language in the era of intelligent IoT" ".

The report also stated that "Mulan" is a programming language completely independently designed, developed and implemented by the compilation laboratory. The supporting compiler and integrated development tools are also completely independently implemented by the team. It is a truly mastery of the core. Technical programming language.

Currently, Mulan language is available for download. Download address: dongshouke.com

As soon as the report came out, it attracted the attention of developers. Developers went to download, use and study it. However, after unpacking, they found that this is actually Python 3.7?

Developer releases early learning notes: Almost the same as python!

Everyone has great expectations for the completely self-designed "domestic programming language". Netizen @的cyclist-addicted young man went to the official website to download it as soon as possible.

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

After the download was completed, I found that something was not right with the icon.

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

Isn’t this obviously packaged by pyinstall? The netizen complained: I know how to change the icon for the software I release pyqt, but for such a big project, I don’t even change the icon?

After opening, there will be a dialog box similar to python

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

It provides so many functions, which are almost the same as python

Try the reverse I tried to decipher it, thinking it would be encrypted. After all, it is a commercial software. When we write pyqt ourselves, we sometimes encrypt it.

However, the result is that there is no encryption at all and it is directly cracked:

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

is written in python.

There are also many developers discussing this on Zhihu.

Many developers have discovered that the unpacked Mulan language is actually built on Python, compiling the environment, packages and projects built by Python into an executable file. So it seems that Mulan just made an interface at the top level and handed over all the low-level compilation, optimization and many other tasks to the original Python?

The following is the unpacking result of the EXE file (using PyInstaller Extractor):

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

It can be seen from the unpacking result that the "Mulan" language Pyinstaller is used to package Python files into EXE executable files.

In fact, the classical Chinese programming language that we were familiar with before was very clear that it only focused on syntax and front-end, leaving all underlying operations to JavaScript or Python.

Developer Community: There are slightly more flaws

A developer evaluated Mulan language from the following three perspectives:

1. Whether it can meet actual needs: A programming needs many features to make it capable of working in some scenarios. But there seems to be no characteristic reflected in Mulan language at present.

2. Whether to integrate into the open source community: It is difficult to make progress in a language that is not open source.

3. Is it suitable for youth programming: As an educational language, it is not as intuitive as a graphical symbolic language. Students still need to relearn programming languages ​​when working after graduation.

Domestic programming language Mulan attracts controversy: it claims to be completely independent, but in fact it is almost the same as Python

For more related discussions, please view the link: https://www.zhihu.com/question/366509495

Summary:

In general, in addition to basic data structures and functions, Mulan language also adds some basic mathematical operations, such as logarithms, exponents, trigonometric functions, etc. Maybe they are more suitable for some basic education.

If you only consider programming for children and package the Python environment into a runnable file, then this may be no problem. But calling it a programming language with independent property rights would be an exaggeration.

Many other developers have also expressed their opinions, whether they are complaining about the design of the language itself or complaining about the surrounding materials of the programming language. At the same time, it can be seen from everyone’s comments that we hope to make real contributions in the underlying architecture and tools such as programming languages ​​and system frameworks. These contributions may take a long time to settle and a lot of engineering to optimize, but this is what we should work hard to overcome.

This article is reproduced from: https://www.ednchina.com/news/202001171403.html

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are class methods in Python What are class methods in Python Aug 21, 2025 am 04:12 AM

ClassmethodsinPythonareboundtotheclassandnottoinstances,allowingthemtobecalledwithoutcreatinganobject.1.Theyaredefinedusingthe@classmethoddecoratorandtakeclsasthefirstparameter,referringtotheclassitself.2.Theycanaccessclassvariablesandarecommonlyused

python asyncio queue example python asyncio queue example Aug 21, 2025 am 02:13 AM

asyncio.Queue is a queue tool for secure communication between asynchronous tasks. 1. The producer adds data through awaitqueue.put(item), and the consumer uses awaitqueue.get() to obtain data; 2. For each item you process, you need to call queue.task_done() to wait for queue.join() to complete all tasks; 3. Use None as the end signal to notify the consumer to stop; 4. When multiple consumers, multiple end signals need to be sent or all tasks have been processed before canceling the task; 5. The queue supports setting maxsize limit capacity, put and get operations automatically suspend and do not block the event loop, and the program finally passes Canc

How to run a Python script and see the output in a separate panel in Sublime Text? How to run a Python script and see the output in a separate panel in Sublime Text? Aug 17, 2025 am 06:06 AM

ToseePythonoutputinaseparatepanelinSublimeText,usethebuilt-inbuildsystembysavingyourfilewitha.pyextensionandpressingCtrl B(orCmd B).2.EnsurethecorrectbuildsystemisselectedbygoingtoTools→BuildSystem→Pythonandconfirming"Python"ischecked.3.Ifn

How to use regular expressions with the re module in Python? How to use regular expressions with the re module in Python? Aug 22, 2025 am 07:07 AM

Regular expressions are implemented in Python through the re module for searching, matching and manipulating strings. 1. Use re.search() to find the first match in the entire string, re.match() only matches at the beginning of the string; 2. Use brackets() to capture the matching subgroups, which can be named to improve readability; 3. re.findall() returns all non-overlapping matches, and re.finditer() returns the iterator of the matching object; 4. re.sub() replaces the matching text and supports dynamic function replacement; 5. Common patterns include \d, \w, \s, etc., you can use re.IGNORECASE, re.MULTILINE, re.DOTALL, re

How to build and run Python in Sublime Text? How to build and run Python in Sublime Text? Aug 22, 2025 pm 03:37 PM

EnsurePythonisinstalledbyrunningpython--versionorpython3--versionintheterminal;ifnotinstalled,downloadfrompython.organdaddtoPATH.2.InSublimeText,gotoTools>BuildSystem>NewBuildSystem,replacecontentwith{"cmd":["python","-

How to use variables and data types in Python How to use variables and data types in Python Aug 20, 2025 am 02:07 AM

VariablesinPythonarecreatedbyassigningavalueusingthe=operator,anddatatypessuchasint,float,str,bool,andNoneTypedefinethekindofdatabeingstored,withPythonbeingdynamicallytypedsotypecheckingoccursatruntimeusingtype(),andwhilevariablescanbereassignedtodif

How to pass command-line arguments to a script in Python How to pass command-line arguments to a script in Python Aug 20, 2025 pm 01:50 PM

Usesys.argvforsimpleargumentaccess,whereargumentsaremanuallyhandledandnoautomaticvalidationorhelpisprovided.2.Useargparseforrobustinterfaces,asitsupportsautomatichelp,typechecking,optionalarguments,anddefaultvalues.3.argparseisrecommendedforcomplexsc

How to debug a remote Python application in VSCode How to debug a remote Python application in VSCode Aug 30, 2025 am 06:17 AM

To debug a remote Python application, you need to use debugpy and configure port forwarding and path mapping: First, install debugpy on the remote machine and modify the code to listen to port 5678, forward the remote port to the local area through the SSH tunnel, then configure "AttachtoRemotePython" in VSCode's launch.json and correctly set the localRoot and remoteRoot path mappings. Finally, start the application and connect to the debugger to realize remote breakpoint debugging, variable checking and code stepping. The entire process depends on debugpy, secure port forwarding and precise path matching.