当前位置: 首页 > news >正文

华为仓颉可以取代 Java 吗?

大家好,我是君哥。

在最近的华为开发者大会上,华为亮相了仓颉编程语言,这是华为历经 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,本来就是一个伪命题,不同的语言擅长的方向是不一样的。但在国产化改造的浪潮下,央企、国企、银行很有可能会引入仓颉编程语言,但不太可能会像数据库、虚拟机、芯片那样做大规模的迁移,毕竟成本也是影响决策的一个关键因素。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 性能测试相关理解(一)
  • 速盾:防护攻击CDN
  • ESD管ESD113-B1-02EL(S)国产替代型号ULC0342CDNH,ULC0321CDNH
  • 代码随想录-Day49
  • python 使用selenium谷歌如何设置无头模式
  • 推荐Bulk Image Downloader插件下载网页中图片链接很好用
  • 快速上手指南:使用 Minikube 在本地运行 Kubernetes 集群
  • HashMap的底层实现原理详解
  • Spring Security6.3.0版本出现无法解析符号
  • centos安装打包工具fpm
  • web基础及http协议
  • 谷粒商城学习-10-docker安装mysql
  • 面试框架一些小结
  • Yarn Plug‘n‘Play:现代化JavaScript依赖管理的革命
  • nginx的正向代理和反向代理以及tomcat
  • [数据结构]链表的实现在PHP中
  • 78. Subsets
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • css属性的继承、初识值、计算值、当前值、应用值
  • ECMAScript入门(七)--Module语法
  • extract-text-webpack-plugin用法
  • FineReport中如何实现自动滚屏效果
  • interface和setter,getter
  • Python 反序列化安全问题(二)
  • webpack4 一点通
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 大快搜索数据爬虫技术实例安装教学篇
  • 浮现式设计
  • 前端设计模式
  • 运行时添加log4j2的appender
  • 06-01 点餐小程序前台界面搭建
  • ​Linux·i2c驱动架构​
  • ‌内网穿透技术‌总结
  • $.proxy和$.extend
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (007)XHTML文档之标题——h1~h6
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (floyd+补集) poj 3275
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (windows2012共享文件夹和防火墙设置
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (论文阅读11/100)Fast R-CNN
  • (区间dp) (经典例题) 石子合并
  • (一)Java算法:二分查找
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)母版页和相对路径
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .Net7 环境安装配置
  • .Net多线程Threading相关详解
  • .net反编译的九款神器
  • .Net接口调试与案例