华为仓颉可以取代 Java 吗?

news/2024/10/19 7:31:40/

大家好,我是君哥。

在最近的华为开发者大会上,华为亮相了仓颉编程语言,这是华为历经 5 年,投入大量研发成本沉淀的一门编程语言。

图片

1 仓颉简介

按照官方报告,仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。

图片

华为编程语言具有如下特性:

1.原生智能化:

内嵌AgentDSL的编程框架,自然语言&编程语言有机融合;

多Agent协同,简化符号表达,模式自由组合,支持各类智能应用开发。

2.天生全场景

轻量化可缩放运行时,模块化分层设计,内存再小也能装得下;

全场景领域扩展,元编程和eDSL技术,支持面向领域声明式开发。

3.高性能

终端场景首款全并发 GC ,应用线程更流畅,响应更快。轻量化线程,并发性能更好,开销更少。

4.强安全

安全DNA融入语言设计,帮助开发者专注于业务逻辑,免于将太多精力投入到防御性编程中,编码即安全,漏洞无处藏。

2 仓颉发展

可以看出,仓颉语言也是非常值得期待的。那华为仓颉有可以取代 Java 这样的大众语言吗?

2.1 很难

可以说很难,为什么呢?首先看两个惊人的数据:

图片

1.Java 作为应用开发的老大哥,发展近 30 年,发布了 20 多个版本,各方面已经非常完善;

2.Java 语言有大批优秀的开发人员,大量优质的开源项目,大规模运行在生产环境的应用;

3.使用 Java 作为开发语言,企业可以很容易地组建开发团队、快速高效地完成应用发布;

4.仓颉语言虽然支持跨语言操作,但能互操作的语言较少,不支持 Java;

5.如果国内开始使用仓颉语言,那公司占多数的 Java 存量应用迁移改造成本巨大;

6.使用新的编程语言,程序员的学习成本较大,企业招聘成本也不小。

2.2 有可能

仓颉作为国内少有的编程语言,也不是没有可能。

1.仓颉华为内部已经研发 5 年,是鸿蒙生态中的编程语言,据官方数据,鸿蒙开发者数量已经达到 254 万,这些开发者恰好可以使用和完善仓颉语言;

2.从仓颉语言的官方文档看,Java 具有的能力,仓颉也基本有,而且还吸收了其他编程语言的一些特性;

3.在国产化信创改造的大趋势下,使用国内研发的编程语言,也是有可能的。

3 总结

其实,说仓颉语言能不能取代 Java,本来就是一个伪命题,不同的语言擅长的方向是不一样的。但在国产化改造的浪潮下,央企、国企、银行很有可能会引入仓颉编程语言,但不太可能会像数据库、虚拟机、芯片那样做大规模的迁移,毕竟成本也是影响决策的一个关键因素。


http://www.ppmy.cn/news/1474242.html

相关文章

uniapp video视频铺满容器,不显示控件

1、video标签的属性 参考video | uni-app官网 enable-progress-gesture:是否开启控制进度的手势,bool值 show-center-play-btn:是否显示视频中间的播放按钮,bool值 object-fit:当视频大小与 video 容器大小不一致时&…

在Spring Boot项目中使用Leyden

Spring Boot 服务的 RAM 消耗减少多达 30% ,为研究Spring Boot而量身定制的 Alpaquita 容器。Buidpacks也可用! 重要提示:Project Leyden EA 版本基于实验代码,不适用于生产用途。此外,EA 版本中的某些功能可能会更改…

DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI_CD解决方案

一.系统环境 本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。 服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构CentOS Linux release 7.4.1708 (Core)Docker version 20.10.12v1.21.9x86_64CI/CD解决方案架构图:CI/CD解决方案架构图描述:程序员写好代码之…

iOS 国际化语言第一语言不支持时候默认语言强转英文

对bundle扩展 直接贴代码 .h文件 // // NSBundleKdLocalBundle.h // QooCam // // Created by bob bob on 2023/9/8.//#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINinterface NSBundle (KdLocalBundle)end interface KdLocalBundle:NSBundleend interf…

uniapp,app端使用echarts不兼容,可以使用iframe来使用echarts

可以新建文件夹 echarts&#xff0c;里面放echart.min.js文件,echarts.html文件生成echarts图&#xff0c;之所以用iframe不用webview&#xff0c;是因为webview容易出问题&#xff0c;最明显问题是层级问题。 <!DOCTYPE html> <html lang"en"> <hea…

STM32G474使用HRTIM触发多路ADC采样,通过DMA传输,通过串口打印显示,实现PWM中间时刻采样,避免开关噪声

本工程使用CUBEIDE进行配置以及编译调试&#xff0c;使用的硬件为STM32G474官方开发板NUCLEO-G474RE CUBEIDE配置 HRTIM配置 本章工程使用HRTIM定时器进行ADC的触发&#xff0c;打开主定时器&#xff0c;子定时器A,B,C。&#xff08;本工程未使用到A与C定时器&#xff0c;配置…

HarmonyOS鸿蒙DevEco Studio无法连接本地模拟器

使用DevEcoStudio 5.0.3.403版本 发现无法选择模拟器 解决方法&#xff1a; 1、打开模拟器 2、关闭DevEco Studio&#xff0c;&#xff08;不要关闭模拟器&#xff09; 3、重新打开DevEco Studio。

SQL 字段类型-上

定义方式 use xxxx; 使用xxxx数据库后 create table table_name {username char(20)/*数据类型*/ null/*属性*/,password varchar(10) not null; 字段名... } 整型数据 和高级语言一样可以用 int unsigned 修饰无符号放在后面 数据类型关键字描述迷你整型tinyint使用1…