华为仓颉编程语言震撼发布!Hello Cangjie!

引言

2024 年度华为开发者大会(HDC)在 6 月 21 日拉开帷幕,鸿蒙 NEXT(HarmonyOS NEXT)操作系统在万众瞩目中横空出世。

华为常务董事、终端 BG 董事长余承东激动地表示 ,从 2019 年 8 月 9 日至今共 1778 天,在夜以继日的研发下,纯血鸿蒙从内到外实现全栈自研!

图片

何谓“纯血”?就是说鸿蒙 NEXT 从操作系统内核、文件系统,到编程语言、编译器/运行时、编程框架,再到设计系统、集成开发环境,以及 AI 框架和大模型等,都是完全自有。

鸿蒙 NEXT 相比于上一代系统,整机性能提升30%,全新的分布式总软线,带来 3 倍的连接速率提升,4 倍的连接设备数量以及 20% 以上的功耗优化。

与 AI 深度结合,是鸿蒙 NEXT 的一大亮点,华为将 AI 能力下沉至操作系统,并赋能给各个子系统。可以说,AI 已经成为鸿蒙 NEXT 体内的基因。

鸿蒙 NEXT 还是一个让人放心的安全系统,它引入了新的安全访问机制,从传统的权限管理转变为数据管理,直接控制应用对数据的访问。通过高斯数据库和知识图谱等关键技术,存储和保护用户的个人数据,确保数据和智能能力的安全结合。

以上这些特点,意味着华为在操作系统级别的层面,已经搭建起了完整的生态环境,要想使得生态繁荣起来,下一步要做的就是促使广大开发者投入到应用程序的研发中来。

HDC 大会上的另一项重磅官宣,就是推出面向全场景应用开发的仓颉编程语言。华为也在开发者官网上发布了技术白皮书,开放了预览版报名入口。

仓颉,是中国神话传说中原始象形文字的创造者。而华为将一门自研编程语言以仓颉命名,显然是赋予这门编程语言以开拓性意义。

图片

华为将仓颉定位为“下一代编程语言”,希望它能扛起鸿蒙原生应用开发的大旗。仓颉的实力究竟如何?我们现在就来揭秘吧。

探秘仓颉编程语言

作为一名开发者,你是否有过这样的疑问:既然市场上已经有了 Java/Go/Python 这些成熟的编程语言,华为为什么还要自研仓颉?

华为必须做这件事,有三个原因:

1. 技术自主权:通过自主研发编程语言,华为可以掌握技术演进策略和方向,摆脱对外部技术的依赖。

2. 鸿蒙生态建设:仓颉编程语言可为鸿蒙操作系统的生态建设提供支持,实现跨平台开发。

3. 构建完整生态圈:华为通过自研编程语言,结合已有的硬件、操作系统和开发工具,构建完整的技术生态圈。

但自研一门编程语言绝非易事,这是一项复杂的系统性工程,需要长期投入大量的人力、物力、财力。华为从 2019 年启动仓颉语言的开发计划,历经五年的专心打磨,在博采众家之长后,打造出了这门卓越的编程语言。

图片

从定位上来说,开发团队在易用性、性能与安全性之间进行权衡,将其设计为适合业务开发的静态类型语言,与 Kotlin、Java、Go、Swift 等语言类似。

仓颉主要特点如下:

  • 原生智能化:内嵌了 AgentDSL 的编程框架,实现了自然语言与编程语言有机融合。多 Agent 协同,简化符号表达,模式可以自由组合,支持各类智能应用开发。
  • 全场景应用层开发:无须关注底层细节,专注于业务逻辑实现,可跨平台支持桌面应用、移动应用、物联网设备等。
  • 多范式编程:支持面向对象编程、函数式编程和过程式编程。
  • 强类型、静态类型:提升代码的可靠性与安全性,在编译期就可发现潜在错误。
  • 自动内存管理:通过垃圾回收实现内存自动管理,并提供内存安全特性。
  • 并发编程:轻量化线程模型,充分利用多核处理器计算能力,构建高性能应用。
  • 跨语言交互:可轻松调用 C/C++、Java、Python 代码,充分利用丰富的工具和资源。

可以看到,仓颉语言具备现代编程语言的典型特征,不仅易于上手,而且功能还强大。

接下来,就为大家介绍学习鸿蒙原生应用开发的仓颉编程语言从入门到成为高手的3本书。

这3本仓颉编程语言学习书,都由同一支作者团队创作完成,他们既有学界的资深技术教学者,也有业界的 HarmonyOS 体系技术专家。在他们的倾力分享下,小白也能轻松学会仓颉编程。

图片

刘玥

九丘教育 CEO,曾在高校任教十余年,具有丰富的课堂教学经验,尤其擅长讲授程序设计、算法类课程。

图片

张荣超

九丘教育教学总监、华为开发者专家(HDE)、华为首届 HarmonyOS 开发者创新大赛最佳导师、OpenHarmony 项目群技术指导委员会(TSC)委员。

仓颉编程从入门到高手

1、仓颉编程快速上手

图片

点击下方即可购书,限时特惠,《仓颉编程快速上手(异步图书出品)》(刘玥,张荣超)【摘要 书评 试读】- 京东图书

学习编程的第一步就应该是简单直接,这本《仓颉编程快速上手》就能很快带领读者进入仓颉的世界。本书力图以简明扼要的方式,讲清楚仓颉语言的核心特性,并给出了实践示例。

本书首先从经典的“Hello world”式程序“你好,仓颉!”起步,介绍了程序的基本结构,然后讲解了变量的声明与使用,还有基本数据类型及其特点。

接下来说明了顺序、条件分支、循环语句的使用方法。介绍了函数的定义和调用方法,以及函数的重载、变量的作用域等。

图片

在面向对象编程的内容中,介绍了类的定义和创建对象的方法,详细讲解了面向对象编程的三大特征:封装、继承和多态。介绍了抽象类和接口的用法。在函数高级主题,则介绍了 lambda 表达式的定义和使用、嵌套函数和闭包的用法、如何进行函数重载决议等内容。对四种基础 Collection 类型 Array、ArrayList、HashSet 和 HashMap 进行了详细讲解。 

图片

最后,介绍了泛型、包管理、扩展,以及数值和字符串操作等内容。

本书的特点:

  • 内容全面,涵盖了仓颉语言的核心语法特性。
  • 注重实战,以应用为导向,理论联系实际,解决具体问题。
  • 示例丰富,书中针对各个知识点都给出了实践代码案例。
  • 配套资源齐全,提供全书源代码、引导教学视频等,提高学习效率。

诚如书名中的“快速”二字所言,本书就是帮助读者迅速掌握仓颉语言的精髓,能够上手工作,开发出实际应用。

2、图解仓颉编程:基础篇

图片

点击下方即可购书,限时特惠5折,《图解仓颉编程:基础篇(异步图书出品)》(刘玥,等)【摘要 书评 试读】- 京东图书

对于编程经验零基础的小白来说,哪怕看到一个最简单的程序,脑子里也会充满许多疑问。《图解仓颉编程:基础篇》这本书可以说是小白的福音,因为它用大量直观的图示,把仓颉语言的细节都解释到位了。

本书的内容聚焦于仓颉语言核心知识点,包括变量、数据类型、程序结构等基本语法。介绍了仓颉语言中的面向对象编程知识,类与对象、继承、多态等基本概念。

图片

书中探讨了仓颉语言中的函数式编程特性,还介绍了标准库中的常用工具包,方便读者快速开发出自己的应用来。

图片

本书最大的特点,就是以全彩图示,将复杂的程序设计概念以可视化的方式呈现出来。本书作者团队精心绘制大量原创图表,以图表意,对于抽象的语法和编程范式,小白一眼就能看明白。

图片

另一大特点就是理论应用于实践,通过一个小型电商项目贯穿面向对象编程的内容,帮助读者从实战中领会仓颉语言的特性与妙用。

当然,仓颉语言的特性不止于此,接下来让我们学习更多高级功能。

3、图解仓颉编程:高级篇

图片

点击下方即可购书,限时特惠5折,《图解仓颉编程:基础篇(异步图书出品)》(刘玥,等)【摘要 书评 试读】- 京东图书

当前互联网的主流服务和应用,都要求能够支撑高并发,处理复杂的业务逻辑,实现高可用等。仓颉语言可以很好地应对目前的变化,在《图解仓颉编程:高级篇》这本书中,就以全彩风格、丰富的图表展示仓颉的高级特性。

  • 异常处理:详细讲解仓颉的异常处理机制,捕获和处理各种运行时错误,写出健壮的程序。 
  • 输入输出:介绍仓颉的文件和流操作,实现系统的数据高吞吐操作。 
  • 元编程:介绍仓颉基于宏的编译时元编程技术。
  • 多线程:探讨仓颉的多线程模型,充分利用多核处理器性能,构建高并发应用。 
  • 网络编程:介绍仓颉的 Socket 套接字编程方法,讲解UDP、TCP 通信实现方法。 

图片

本书延续了《图解仓颉编程:基础篇》的特点,以细致直观的图示讲解仓颉语言中抽象的高级特性,使得读者可以轻松理解复杂的概念,并在实际工作中运用自如。 

图片

结束语

对于已经入门仓颉编程的读者来说,可以通过阅读本书让技能更上层楼。作为一门现代编程语言,仓颉提供了足够的高级特性,读者从本书中可以深挖仓颉的潜能,打造卓越应用。

在当前市场形势下,对于国内程序员来说,必须要在开发工作中结合 AI 技术,同时还考虑到自主可控的要求,仓颉语言显然是不二之选。

现在就学会仓颉编程语言的开发者,就是新时代的先行者!

分享你对仓颉未来的期待

在留言区参与互动,并点击在看和转发活动到朋友圈,我们将选1名读者获得e读版电子书1本,截止时间6月30日,具体链接如下:Hello Cangjie!华为仓颉编程语言震撼发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创新、引领、发展——SAMPE中国2024年会在京盛大开幕

绿树阴浓夏日长,在这个色彩缤纷的季节,SAMPE中国2024年会暨第十九届国际先进复合材料制品原材料、工装及工程应用展览会在中国国际展览中心(北京朝阳馆)隆重开幕。新老朋友共聚一堂,把酒话桑麻。 为期4天的国际学术会…

不出网上线CS的各种姿势(内网横向)

情况一:存在一台中转机器 存在一台中转机器,这台机器出网,这种是最常见的情况。 经常是拿下一台边缘机器,其有多块网卡,用于连接内外网,内网机器都不出网。这种情况下拿这个边缘机器做中转,就…

分享几个小红书获取笔记详情API接口调用实例

item_get_video-获得小红书笔记详情 smallredbook.item_get_video 公共参数 名称类型必须描述keyString是调用key(API支持测试,获取测试key)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[i…

HTML(14)——结构伪类选择器和伪元素选择器

结构伪类选择器 作用&#xff1a; 根据元素的结构关系查找元素 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素(第一个元素N值为1) 例如&#xff1a;查找第一个li标签&#xff0c;将背景改为绿色 <style> li:fir…

APP启动流程

文章目录 主要构成详细启动流程参考链接 主要构成 App的启动流程主要涉及几个关键步骤和组件的交互&#xff0c;包括Launcher进程、ActivityManagerService&#xff08;AMS&#xff09;、Zygote进程、以及App进程本身。以下是详细的启动流程&#xff1a; 用户操作&#xff1a;…

[职场] 怎么写个人简历模板 #其他#知识分享

怎么写个人简历模板 怎么写个人简历模板1 姓名&#xff1a;xxx 性别&#xff1a;x 年龄&#xff1a;x岁 婚姻状况&#xff1a;x 最高学历&#xff1a;xx 政治面貌&#xff1a;xx 现居城市&#xff1a;xx 籍贯&#xff1a;xx 联系电话&#xff1a;xxxxxx 电子邮箱&#xff1a;xx…

vue的学习之路(Axios 基本使用)

<script src"js/axios.min.js"></script> 3、在页面中引用 4、发送异步请求 url?xxx rest请求【GET,POST,DELETE,PATCH】 5、准备一个SpringBoot的控制层与axios进行交互 实体类 public class User { private Integer id; private String user…

家政小程序开发,打造方便快捷的家政市场

随着生活水平的提高&#xff0c;对家政的需求也在逐渐增加。不过在市场中&#xff0c;传统的家政服务存在严重的信息差&#xff0c;需要花费大量时间才可以找到合适的家政人员&#xff0c;效率较低。 互联网家政小程序因此出现&#xff0c;它能够直接连接用户与家政人员&#…

深入理解Qt属性系统[Q_PROPERTY]

Qt 属性系统是 Qt 框架中一个非常核心和强大的部分&#xff0c;它提供了一种标准化的方法来访问对象的属性。这一系统不仅使得开发者能够以一致的方式处理各种数据类型&#xff0c;还为动态属性的管理提供了支持&#xff0c;并与 Qt 的元对象系统紧密集成。在这篇文章中&#x…

WPF——属性

一、属性 类最初只有字段与函数&#xff0c;字段为一个变量&#xff0c;访问权限可以是private&#xff0c;protected&#xff0c;public。而将字段设为private&#xff0c;不方便外界对类数据的操作&#xff0c;但是将字段设为public又怕外界对数据进行非法操作&#xff0c;于…

尴尬时刻:如何在忘记名字时巧妙应对

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

llama系列模型学习

一、目录 llama1 模型与transformer decoder的区别llama2 模型架构llama2 相比llama1 不同之处llama3 相比llama2 不同之处llama、llama2、llama3 分词器词表大小以及优缺点采用的损失函数是什么&#xff1f;为什么Layer Norm 改为RMS Norm?如何消除模型幻觉&#xff1f; 二…

Vscode配置Verilog开发环境(二)

两年前我写过一篇vscode配置fpga开发环境的博客&#xff0c;近期发现查看的人数还是比较多的&#xff0c;经过两年的使用&#xff0c;优化了代码模板以及删减了一些插件等等&#xff0c;因此有了本文。 目前我的vscode只有下图中的九个插件&#xff0c;相比前文已经减少了一些了…

地级市绿色创新及碳排放与环境规划数据(2000-2021年)

数据简介&#xff1a;分享各个城市对于碳排放的降低做出了哪些共享。该数据是地级市2000-2021年间由绿色创新、碳排放与环境规制数据构成的能源与环境研究数据大合集&#xff0c;并对其进行可视化处理&#xff0c;供大家研究使用。当今我国大力推进生态文明建设、美丽中国建设等…

【日常开发之Windows共享文件】Java实现Windows共享文件上传下载

文章目录 Windows 配置代码部分Maven代码 Windows 配置 首先开启服务&#xff0c;打开控制面板点击程序 点击启用或关闭Windows功能 SMB1.0选中红框内的 我这边是专门创建了一个用户 创建一个文件夹然后点击属性界面&#xff0c;点击共享 下拉框选择你选择的用户点击添加…

python爬虫必须要高匿IP吗 ?

各个平台搜索关键词就可以找到不同品牌的代理IP了。 找倒是不难&#xff0c;难的是能从中挑选出靠谱且合适的代理品牌。 在选择代理IP这块&#xff0c;不建议使用免费和超低价的代理&#xff0c;因为这一类的代理往往非常不稳定&#xff0c;很多都被网站拉黑过&#xff0c;特…

PS添加物体阴影

一、选择背景&#xff0c;确保物体和北京分割出图层 二、右键单击物体图层&#xff0c;点击混合选项&#xff0c;点击投影 三、调整参数&#xff0c;可以看效果决定(距离是高度&#xff0c;扩展是浓度&#xff0c;大小是模糊程度)&#xff0c;保存即可

实用软件下载:CrossOver 2024最新安装包及详细安装教程

​根据软件大数据显示上传或者手动输入软件都非常简单&#xff0c;一般来说CrossOver会自动连接到一个Win文件共享服务器&#xff08;Samba或CIFS&#xff09;上&#xff0c;使用者能够直接在这个服务器中选择并上传软件执行文件。实际上我们可以这样讲调整CrossOver设置&#…

汽车数据应用构想(五)

如果说路面信息&#xff08;POI&#xff09;可以通过采集车、人工等方式来获取&#xff0c;用户习惯可以通过手机生态应用来获取&#xff0c;那么车的信息应该算是车辆独有的垂直领域价值了&#xff0c;它是实实在在只有车厂才拥有的数据财富&#xff0c;任何互联网大厂都抢不走…

如何使用mapXplore将SQLMap数据转储到关系型数据库中

关于mapXplore mapXplore是一款功能强大的SQLMap数据转储与管理工具&#xff0c;该工具基于模块化的理念开发&#xff0c;可以帮助广大研究人员将SQLMap数据提取出来&#xff0c;并转储到类似PostgreSQL或SQLite等关系型数据库中。 功能介绍 当前版本的mapXplore支持下列功能…