0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为自主研发编程语言事件分析

算法与数据结构 来源:CSDN技术社区 作者:CSDN技术社区 2020-09-26 09:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近日,华为要自主研发编程语言的消息忽然在网上火了。

据微博博主@IT工程师 称,华为正在研发新的自主编程语言仓颉,领头人是南京大学的计算机科学与技术系博士生导师,冯新宇。

目前这件事尚未得到官方证实,但据知乎@匿名用户 透露,华为有意研究自己的程序语言,在行业内早已是公开的秘密。

「华为自研编程语言并非秘密」

“编译器实验室早已有之”

事实上,华为在编译器与编程语言方面早有动向。

方舟编译器,就是华为在编译器方向的研究成果之一。

2019年8月31日,华为在开源平台上放出了方舟编译器的源代码,这是华为首个完全自主研发的编译器平台。

知乎@养猫的哈士奇表示,华为2012实验室的中央软件研究院下面有一个编译器与编程语言实验室,这个实验室已经存在很多年了。

从拉勾网上的招聘信息可以看见,华为2012实验室的中央软件院下面的确有一个编译器实验室&芯片软件协同设计部,「在编译器及芯片软件协同设计领域耕耘10余年」。

那么,为什么要进行这方面的研究?

知乎@养猫的哈士奇 表示,去年一次交流中,华为消费者BG软件部的总裁王成录博士,提到了华为为什么要搞这个实验室、做编译器这些东西。

简单来说,就是华为很早以前就发现,在核心网设备上自己编译,可以大大提高性能(通信设备也是有性能要求的),后来就开始有小规模的团队来做编译。也就是说,在做方舟编译器之前,华为已经做了很多年编译的相关工作了。

在做智能手机的过程中,华为想把手机做到像iPhone一样流畅,但遇到很多困难,其中很重要的一点就是Android的虚拟机机制。

所以他们做了一个很重要的决定——(研发)方舟编译器,事实上这不仅是针对手机平台、还包括通信设备等,将华为所有的编译工作都统一起来,全面提升效能。

然而,方舟编译器面临着Java的反射机制等问题,这些是需要解决的。

所以,对于这次消息称华为要自研编程语言的消息,知乎@养猫的哈士奇 推测,自研编程语言是迟早要迈出的一步。

“相关领域专家加入”

此外,有知乎网友爆料,华为近段时间在相关方向的招人也非常大手笔。

2014年的时候,华为在美国的研究实验室就聘用了Peng Wu,她此前曾经在IBM工作十几年,是并行计算语言和编译器领域的专家,曾经获得过2012年PACT的最佳论文奖。

据Peng Wu在领英上的资料,她于2014年12月加入华为编译器Programming Technologies Lab任资深总监,并于2019年5月加入华为的美国子公司Futurewei,担任技术总监,负责编程语言的设计、编译器框架的设计。

△图源领英

而就在今年,华为在爱丁堡大学成立了编程语言实验室(Programming Languages Lab),又找了Dan R. Ghica做总监,目前,这个实验室已经在招聘编程语言工程师的博士实习生。

从谷歌学术来看,Dan R. Ghica的主要研究方向就是编程语言,h-index达22,论文一共被引用一千余次。

而这次传言中负责「仓颉」的教授冯新宇,究竟是什么人呢?

冯新宇为何人?

根据南京大学的官网介绍,冯新宇教授本硕毕业于南京大学计算机科学专业,此后于耶鲁大学就读计算机科学博士,期间曾经在AT&T实验室实习。

冯新宇教授主要从事程序验证、并发理论、程序设计语言理论方面的研究,是我国高校编程语言方向的专家。

2010-2017年期间,冯新宇教授曾经在中科大就任教授,并于18年以后来到南京大学,目前在南京大学就任教授,并于2019年带领团队获得PLDI杰出论文奖。

知乎@匿名用户 表示,冯新宇教授可能是在大陆高校就职发POPL和PL顶会最多的人(之一)。

此外,冯新宇的导师、中科大少年班的校友邵中教授,硕博毕业于普林斯顿大学,对编程语言及编译系统了解非常深入。

邵中教授曾为SML语言研发编译器SML/NJ,对“带证明可信软件”领域有深入研究,在POPL上发表过5篇论文,也是国内首个在POPL上发论文的学者。

谷歌、苹果已有自研编程语言

事实上,谷歌与苹果都已经推出了自己的编程语言。

谷歌于2009年就推出了Go语言,这门语言设计的目的,是为了在运行速度快的同时,编译速度也不错,同时也更容易上手编写。

这也使得Go语言的语法限制较多,但它的确找到了“运行速度”、“编译速度”和“上手容易”三者的平衡点,成为目前较受欢迎的编程语言之一。

而苹果也于2014年在WWDC上推出了自己的Swift语言,并凭借着类似于Python的易用性、和较强的运行效率,一度在当年跻身成为最受欢迎TOP 15的编程语言之一。

对于尚未面世的「仓颉」

对于华为这次的自研编程语言「仓颉」,许多网友表达了自己的看法。

1、走稳些,开源几乎是必须的

事实上,我国此前并非没有“自研编程语言”。

今年1月份,中科院计算技术研究所推出了“木兰”(μlang),这是一门基于Python实现的编程语言。

然而“木兰”项目负责人刘雷,却用了“完全自主设计、开发和实现”来形容这门编程语言。

中科院官方随后回应,刘雷“夸大宣传”,这样的说法属于“虚假陈述”,这门语言也逐渐消失在大众视野中。

有了“木兰”的先例,针对这次华为的「仓颉」,知乎@吴烜 认为,国产编程语言应该走稳些,而且开源几乎是必须的。

吸取木兰的一些教训吧,趁早开源,尽量避免以讹传讹。如果目标是通用编程语言,就要和现在市场上的英文编程语言在开放性上对齐。开源几乎是必须的。在此特殊时期,必然被放到显微镜下看,不如早作准备。

2、不应仅仅为了解决“自研”

针对这次的新闻爆料,知乎@DBinary 则认为,“自研”不应是重点,「仓颉」应该拿出更有说服力的价值体现。

一门语言要发展,先不说生态,好歹说说这门语言诞生出来为了解决什么问题。而这个叫仓颉的语言,难道就仅仅是为了解决“自研”?

如果只是拿自研编程语言这件事来说,真的不是很高大上的事情,你看我自己就写了一个叫StoryScript的语言,从词法分析器开始写,编译器、虚拟机、调试器、一应俱全。这个语言,除了我之外应该没有第二个人会用了,不是因为语言高大上,而是因为没人看得上。

3、不要用“Char”当英文名

当然,如果仅仅就事论事,知乎@苏远 表示,从爆料的「仓颉」英文名Char来说,其实不是一个好选择,希望正式发布时,选个更好的名字。

Char在计算机里是字符的意思,几乎所有编程语言里都有Char的概念。如果一个新语言名字和一个计算机通用术语重名,在内容搜索方面已经先天处于不利地位。开发者想查找仓颉的资料,一定会充斥着大量的无关信息。按照权重排名,很可能前五页都没有仓颉语言的结果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    217

    文章

    35782

    浏览量

    260682
  • 编程语言
    +关注

    关注

    10

    文章

    1959

    浏览量

    38893

原文标题:厉害了!华为将发布国产编程语言,打破国外垄断!

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么单片机还在用C语言编程

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些语言不能
    发表于 11-28 07:37

    C语言编程技巧

    设计,分层开发代码,便于理解和维护。 ‌8、避免使用GOTO语句‌:尽管GOTO语句在某些情况下仍然有用,但现代编程更倾向于使用函数和循环控制结构,以提高代码的可读性和维护性。 ‌9、利用C语言的灵活性
    发表于 11-27 06:46

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(AI)、高性能计算(HPC)和系统级编程场景。
    发表于 11-07 05:59

    自主生产:制造业的未来

    生产标志着工业制造领域的根本性变革:从僵化的、预先编程的生产线转向能够独立决策的自控灵活系统。这里的重点不是完全取代人类。恰恰相反,即使在自主生产中,人类仍然是最高决策者,承担着责任,并可随时干预
    发表于 09-15 15:08

    【HZ-T536开发板免费体验】2 - 交叉编译仓颉编程语言程序到开发板运行

    对嵌入式系统的支持情况。 仓颉编程语言简介 仓颉编程语言华为自研的面向全场景智能的新一代编程
    发表于 07-16 21:27

    梯形图语言补充编程说明书

    电子发烧友网站提供《梯形图语言补充编程说明书.pdf》资料免费下载
    发表于 07-09 14:14 2次下载

    单片机c语言编程实例大全

    单片机c语言编程实例大全_18
    发表于 04-30 16:11 6次下载

    华为技术资料合集(硬件开发/C语言/PCB设计/天线通信)

    本帖最后由 yuu_cool 于 2025-3-17 09:54 编辑 本资料内容介绍:包含 华为硬件工程师手册_全(159页), 华为C语言编程规范,
    发表于 03-17 09:54

    数字电路编程语言介绍

    数字电路编程语言是专门为描述和模拟数字电路而设计的编程语言。它们通常具有以下特点: 硬件描述语言(HDL) :大多数数字电路
    的头像 发表于 01-24 09:39 1387次阅读

    华为支付接入规范

    。 涉及支付方式说明(如涉及根据系统语言环境做国际化,也请对该支付方式说明一并做处理),请统一使用:华为支付(中文)、Huawei Pay(英文)。 华为支付提供了支付图标设计规范,以此保证用户在
    发表于 01-23 09:27

    龙芯3A6000 OPS主板,国产自主研发、安全可控

    在当今科技飞速发展的时代,芯片作为信息技术的核心,其重要性不言而喻。而龙芯3A6000 是中国自主研发自主可控的新一代通用处理器,采用中国自主设计的指令系统和架构,以其安全可控的特性
    的头像 发表于 01-17 08:45 963次阅读

    gitee 支持的编程语言有哪些

    Gitee(码云)是一个基于 Git 的代码托管和研发协作平台,类似于 GitHub 和 GitLab。它支持多种编程语言,允许开发者托管和管理代码,进行版本控制,以及协作开发。以下是一些
    的头像 发表于 01-06 09:50 1105次阅读

    华为哈勃入股泊松软件

    致力于工业研发设计软件的泊松软件迎来好消息,华为哈勃入股。 据天眼查App数据显示,日前深圳泊松软件技术有限公司发生工商变更,新增华为旗下深圳哈勃科技投资合伙企业(有限合伙)为股东。 深圳泊松软
    的头像 发表于 12-31 17:13 1982次阅读

    三菱PLC编程语言解析

    三菱电机(Mitsubishi Electric)是全球知名的自动化和制造解决方案供应商,其PLC(可编程逻辑控制器)产品广泛应用于工业自动化领域。三菱PLC编程语言主要基于国际标准IEC
    的头像 发表于 12-26 17:36 2216次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言
    的头像 发表于 12-24 17:33 1447次阅读