声称掌握核心技术,实则换皮Python?国产编程语言木兰引起社区热议

简介: 近日有媒体称,一款面向智能物联网和编程教育的国产编程语言出世,名为木兰。消息一出,引起了开发者社区的讨论。但有人发现,下载的程序包解包后——是个 Python?

编程语言是人们和计算机进行交互的重要工具。从 C、C++到 Python、Julia,不同的编程语言因其本身的特性和功能而有着庞大的开发社区。近日有国内报道称,中国科学院计算技术研究所(中科院计算所)旗下的计算机体系结构国家重点实验室编译组主导开发了一门新的编程语言:木兰(Mulan:Module Unit Language)。


据相关报道称,该编程语言由编译组完全自主设计、开发和实现。与之配套的编译器与集成开发工具也完全由团队自主实现的,是真正掌握核心技术的编程语言。但机器之心并未在中科院计算所官网找到相关信息。


报道一出,便引起了开发者社区的注意,已有很多开发者进行了使用和研究。解包结果发现,其实这是个 Python 3.7?


目前,木兰语言已可以下载。


下载地址:http://www.dongshouke.com/download/ulang-0.2.2.exe


「编程教育入手,面向物联网智能」


据发布的消息称,这门编程语言面向未来的智能物联网。


在智能物联应用领域,尚无一款专用的编程语言。在既有的语言系统中做智能应用开发,需要多个工程师、跨多种语言实现,导致开发效率低下。「木兰」就致力于打造物联网智能执行平台,并为编写的应用程序提供执行环境。


在物联网领域,目前没有专用的编程语言。现有的物联网应用开发过程中,需要多个工程师合作,通过跨语言的方式实现应用,这样一来效率也比较低。出于提升效率,打造物联网智能执行平台的目的,木兰应运而生。


但是,由于这门语言的生态尚不成熟,因此在早期培育生态的阶段,木兰将会更多地被用于青少年编程教育入手培育生态。据称,以「木兰」为基础延伸的自主研发编程软件、人工智能教材、教学装备等已投入到中小学、幼儿园使用。


据官网介绍,「木兰」是专为人工智能教育而生的中国自主知识产权编程语言,由中科智芯自主研发。由于其目的是以教育为主,所以从设计上有意避开了一些编程语言的复杂特性,如编程的环境调试等,意在让学生在学习编程之初时不被细节所牵绊。开发团队更倾向使「木兰」突出易理解、易学习、易阅读、易维护的特性,同时该语言目前支持跨平台,对 Android、UNIX、Windows 可兼容。


单从软件角度看,就目前编程教育市场而言,类似的编程软件不占少数,并且为降低教育门槛同样使用图形化编程。所以就实质的差异点相比较,还是得将聚焦点回归到编程语言「木兰」上。


木兰语言是什么样的


对于「国产语言」,大家的期待都非常大,很多开发者都下载了 ulang-0.2.2.exe「木兰」语言环境。打开木兰语言环境后,首先呈现的是类似命令行的编程环境,我们会发现它的函数很多都和 Python 一致。在编程界面中,键入 help 就能看到一些相关信息,不过我们并没有找到更多的编程语言文档。


微信图片_20211202214324.jpg


总体而言,木兰语言除了基本的数据结构与函数外,还会特别加一些基本的数学运算,例如取对数、指数、三角函数等等,也许它们更适合做一些基础教育。


Welcome to ulang's REPL.. Type 'help' for more informations. a = ['hello', 'world'] print(a) [hello, world]> print(typeof(a)) list> print(cos(90)) -0.4480736161291701> print(cos(45)) 0.5253219888177297> print(cos(0)) 1.0>


从解包到热议


在知乎上,很多开发者发现解包后的木兰语言其实就是建立在 Python 之上,将 Python 构建的环境、包和项目都编译成一个可执行文件。所以似乎木兰只是在顶层做了一个接口,将底层编译、优化等众多工作都交给了原版 Python?


如下所示为 EXE 文件的解包结果(采用 PyInstaller Extractor):


image.gif

从解包结果可知,「木兰」语言是通过 Pyinstaller 将 Python 文件打包成 EXE 可执行文件。


其实之前我们比较熟悉的文言编程语言,它就非常明确只关注语法和前端,把所有底层操作都留给了 JavaScript 或 Python。如果只考虑面向少儿编程,把 Python 环境打包到一个可运行的文件,那么这可能是没问题的。如果说要是构建一种自主产权的编程语言,那么要考虑的东西实在是太多了,语言有什么特性、编译怎么优化、运行速度怎么保证等等都是艰巨的问题。


对于文言编程开源项目,我们认为它是非常好的尝试,能在闲暇时间写一些炫酷的文言代码。但这样的语言是不能用于生产或研究环境的,只能是一种娱乐性的小项目。如果说是想要针对特定领域做一种新语言,底层优化与设计肯定是需要单独做的,这样的产品才能称得上有特色的自主编程语言。


开发者社区:槽点略多


一位开发者从以下三个角度评价了木兰语言:


1. 能否满足实际需求:一门编程需要需要很多特性,使其能够胜任一些场景中的工作。但是目前似乎没有看到木兰语言体现的特性。

2. 是否融入开源社区:不开源的语言很难进步。

3. 是否适合青少年编程:作为教育语言,不像图形符号语言那样直观。而学生学成后在工作中依然需要重新学习编程语言。


微信图片_20211202214330.jpg

更多相关讨论可查看链接:https://www.zhihu.com/question/366509495


其它很多开发者也都发表了自己的看法,不论是吐槽语言本身的设计,还是吐槽编程语言的周边资料。与此同时,从大家的评论中可以看出,我们希望在编程语言、系统框架等底层架构与工具上,做出真正的贡献。这些贡献可以需要很长的时间来沉淀,很多的工程来优化,但这才是我们该努力攻破的。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
177 66
|
1月前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
159 64
|
9天前
|
算法 Python
Python图论探索:从理论到实践,DFS与BFS遍历技巧让你秒变技术大牛
图论在数据结构与算法中占据重要地位,应用广泛。本文通过Python代码实现深度优先搜索(DFS)和广度优先搜索(BFS),帮助读者掌握图的遍历技巧。DFS沿路径深入搜索,BFS逐层向外扩展,两者各具优势。掌握这些技巧,为解决复杂问题打下坚实基础。
21 2
|
11天前
|
开发框架 开发者 Python
探索Python中的装饰器:技术感悟与实践
【10月更文挑战第31天】 在编程世界中,装饰器是Python中一种强大的工具,它允许我们在不修改函数代码的情况下增强函数的功能。本文将通过浅显易懂的方式,带你了解装饰器的概念、实现原理及其在实际开发中的应用。我们将一起探索如何利用装饰器简化代码、提高可读性和复用性,同时也会分享一些个人的技术感悟,帮助你更好地掌握这项技术。
27 2
|
15天前
|
数据采集 Web App开发 iOS开发
如何利用 Python 的爬虫技术获取淘宝天猫商品的价格信息?
本文介绍了使用 Python 爬虫技术获取淘宝天猫商品价格信息的两种方法。方法一使用 Selenium 模拟浏览器操作,通过定位页面元素获取价格;方法二使用 Requests 和正则表达式直接请求页面内容并提取价格。每种方法都有详细步骤和代码示例,但需注意反爬措施和法律法规。
|
16天前
|
数据采集 存储 Web App开发
利用Python 的爬虫技术淘宝天猫销量和库存
使用 Python 爬虫技术获取淘宝天猫商品销量和库存的步骤包括:1. 安装 Python 和相关库(如 selenium、pandas),下载浏览器驱动;2. 使用 selenium 登录淘宝或天猫;3. 访问商品页面,分析网页结构,提取销量和库存信息;4. 处理和存储数据。注意网页结构可能变化,需遵守法律法规。
|
17天前
|
数据库 开发者 Python
“Python异步编程革命:如何从编程新手蜕变为并发大师,掌握未来技术的制胜法宝”
【10月更文挑战第25天】介绍了Python异步编程的基础和高级技巧。文章从同步与异步编程的区别入手,逐步讲解了如何使用`asyncio`库和`async`/`await`关键字进行异步编程。通过对比传统多线程,展示了异步编程在I/O密集型任务中的优势,并提供了最佳实践建议。
16 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
特征工程是机器学习流程中的关键步骤,通过将原始数据转换为更具意义的特征,增强模型对数据关系的理解能力。本文重点介绍处理数值变量的高级特征工程技术,包括归一化、多项式特征、FunctionTransformer、KBinsDiscretizer、对数变换、PowerTransformer、QuantileTransformer和PCA,旨在提升模型性能。这些技术能够揭示数据中的潜在模式、优化变量表示,并应对数据分布和内在特性带来的挑战,从而提高模型的稳健性和泛化能力。每种技术都有其独特优势,适用于不同类型的数据和问题。通过实验和验证选择最适合的变换方法至关重要。
45 5
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
|
30天前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
|
2月前
|
算法 数据挖掘 Python
Python中的拟合技术:揭示数据背后的模式
Python中的拟合技术:揭示数据背后的模式
40 0
Python中的拟合技术:揭示数据背后的模式