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

新型开发语言的试用感受-仓颉语言发布之际

经常听一些媒体介绍一些新型的开发语言,所以最近心血来潮,安装了几种感受了一些。

先看名气,如ziglang,网址为:Home ⚡Zig Programming Language 号称是可以取代C语言的一门新语言,其实我主要是受下面这篇文章的影响:Zig 编写的“全家桶” JavaScript 运行时 Bun,性能完爆 Node.js 和 Deno - OSCHINA - 中文开源技术交流社区

Bun是一个要取代大名鼎鼎Node.js的东西,Bun牛啊。而Bun是Zig语言编写的。那看看Zig语言。发现Zig语言还没有发正式版本,截至到2024.07.03,其最新版本还是0.13.0。然后想着写一个TCP的服务程序吧,发现如果用Zig语言自己的标准库中的网络发现,不太好精细的控制socket的特性,如果用Zig语言的C语言接口,发现经常要转换数据类型,虽然Zig语言可以直接使用C语言的结构体,但这种结构体与Zig语言原生的结构体是不兼容的,折腾了半天,发现如果真要写一个高性能的网络程序,还是等Zig语言的标准库成熟之后再说吧,当前还是直接用C语言来写比较方便。

从功能上看,Zig语言今后是有可能取代C语言的,但当前还没有到稳定版本,取代的路还漫漫长。

又看看了北欧大神奥丁语言Odin:Overview | Odin Programming Language

看了看Odin语言,其与golang比较类似,但语法比golang更灵活,这个语言感觉是golang的兄弟,不过我没有更仔细的尝试。

然后又看了看号称是比Python快68000倍的mojo语言,发现其现在主攻方向是AI, 其提供的一键安装的脚本只有 Ubuntu 20.04/22.04 LTS,不支持其它发行版本的Linux,感觉有点low啊。这个语言是由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner 创办的,名气大,易用性需要改进,成熟度还不够。

在github上还发现了另一款号称可以取代Python语言的语言:

GitHub - exaloop/codon: A high-performance, zero-overhead, extensible Python compiler using LLVM

Codon的运行速度确实比Python快很多,但目前Python很多的库还没有移植过来,估计成熟度还不如mojo语言,但一键安装包没有象mojo语言那样只能在Ubuntu 20.04/22.04上安装,只要下载下来通用的Linux安装跑,就可以跑。

对于初学者,不管是mojo还是Codon取代python看起来还有点早,当前还是把Python学好比较实在。

之前一直喜爱lua语言,还发现一块可以编译成独立程序的lua语言:

Nelua

nelua语言与lua一样小巧,这个语言粗粗试了试,感觉比较值得今后进一步研究。

还发现两款号称试better C的语言:

GitHub - c2lang/c2compiler: the c2 programming language

C3 | An evolution, not a revolution

c2lang语言自己编译安装比较顺利。而C3语言只提供了debian12的安装包,自行在Rocky Linux 9下没有编译通过,应该试LLVM的静态链接的问题。C3语言是受C2启发,做了更多的功能,但感觉上C2的功能很多时候也够用了,他们最大的特点是去掉了C语言的头文件,有了包管理的功能,直接导入import 源码文件可以使用别的包中的函数了。

当然还有比较小众的语言NIM语言:

https://nim-lang.org/

目前nim语言的最新版本为2.0.6,nim语言虽然小众,但是已经是一个比较成熟的语言了。

其实还有一个不算是新语言的D语言:

Home - D Programming Language

对于一些想找一个能取代C/C++语言人来说,不如试试D语言。D语言非常成熟,文档也很全。

而谷歌发布号称要取代C++的语言carbon:

https://github.com/carbon-language/carbon-lang

这个语言还处于非常的早期,基本没有试用的必要。

有人问我咋还不说说最近媒体上火的仓颉语言:

华为自研编程语言“仓颉”来了!鸿蒙应用开发新语言,性能优于 Java、Go、Swift_编程语言_Tina_InfoQ精选文章

我的建议是再等等吧,其实很多人都不知到,华为最厉害的不是技术而是营销。目前仓颉语言没有开源,目前的消息是“华为计划将仓颉编程语言开源”。你看看国外的开源开发语言的搞法,都是发布的时候就开源出来了。不要让自己过早的成为小白鼠(当然最后可能还是小白鼠)。

其实国人做的比较好的开源语言是易语言:

易语言汉语编程官方站

易语言开发windows GUI程序是一把好手,只是可惜被杀毒软件厂家给整死了。

其实国人开发的开源语言值得关注的还有go+语言:

GoPlus - The Go+ language for engineering, STEM education, and data science

http://www.lryc.cn/news/394480.html

相关文章:

  • 基于字典学习的地震数据降噪(MATLAB R2021B)
  • 【Web】
  • kafka-3
  • MySQL性能优化 二、表结构设计优化
  • 用HttpURLConnection复现http响应码405
  • 2-27 基于matlab的一种混凝土骨料三维随机投放模型
  • ISA95-Part4-业务流程的解析与设计思路
  • 【Spring Cloud】一个例程快速了解网关Gateway的使用
  • 仿哔哩哔哩视频app小程序模板源码
  • 数据库存储引擎
  • 【单片机毕业设计选题24049】-基于STM32单片机的智能手表设计
  • 利用面向AWS的Thales Sovereign解决方案保护AI之旅
  • 学习笔记——交通安全分析13
  • PHP-实例-文件上传
  • LeetCode刷题之HOT100之完全平方数
  • 【SpringCloud应用框架】Nacos集群架构说明
  • JS进阶-作用域
  • stm32 使用GPIO模拟串口发送
  • 数据的统计探针:SKlearn中的统计分析方法
  • 实例演示Kafka-Stream消息流式处理流程及原理
  • 【博士每天一篇文献-综述】Threats, Attacks, and Defenses in Machine Unlearning A Survey
  • Python数据分析实战,运输车辆驾驶行为分析,案例教程编程实例课程详解
  • 网络安全法对等级保护中的权利和义务有何规范?
  • 苹果清理软件:让你的设备焕然一新
  • vue前端通过sessionStorage缓存字典
  • React Redux使用@reduxjs/toolkit的hooks
  • Rejetto HFS 服务器存在严重漏洞受到攻击
  • Electron开发 - 如何在主进程Main中让node-fetch使用系统代理
  • vue2 webpack使用optimization.splitChunks分包,实现按需引入,进行首屏加载优化
  • 深入理解 Docker 容器技术