前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >又一门编程语言发布,对标C语言?

又一门编程语言发布,对标C语言?

作者头像
老九君
发布2022-05-06 15:40:14
5100
发布2022-05-06 15:40:14
举报
文章被收录于专栏:老九学堂老九学堂

编程语言的江湖,纷争不断。

Kotlin 的崛起,吸引了大批的 Java 开发者的目光;TypeScript 的出现,对 JavaScript 的使用率带来一定影响;

近年来,越来越多的企业使用 Rust 替代C++。

而在日前,软件开发者 Drew DeVault 宣布了一种名为 Hare(野兔)的系统编程语言,矛头直指 C 语言。

Hare 原意为野兔,它的开发者希望这个编程语言能够如野兔般拥有顽强的生命力,并用“简单、稳定和健壮”作为核心形容词。

它有什么特别的吗?

世界上先后涌现 300 多种编程语言,而 Hare 偏偏把矛头指向了最强大的那个——C 语言。没错,Hare 的目标就是取代过去 50 年来最重要的编程语言。

作为一种系统编程语言,Drew DeVault 称 Hare 的开发是由 30 位工程师耗时两年开发而成,旨在成为一种 " 简单、稳定和健壮 " 的语言。

在应用场景上,Hare 使用静态类型系统、手动内存管理和最小运行时,由此它非常适合编写操作系统、系统工具、编译器、网络软件和其他低级高性能任务。

据外媒 The Register 报道,Hare的标准库中还融合了 Google 的 Go 编程语言思想,特别是在标准库以及"电池"中内置了许多功能,以此避免需要导入外部的依赖项。这样做,能避免程序员去寻找依赖项,同时也有一个可管控的范围。

Hare和 C 语言的区别

面对新语言的兴起,所谓存在即合理,不过往往也有一个通用性的原因,那就是越来越多的开发者认为在某些应用场景中,老牌语言太过复杂,甚至有人还发布了《C 不再是一门编程语言》等批判性文章。

Hare 之所以存在,DeVault 透露,Hare 比 C 简单,也与 C 最为相似,几乎所有用 C 编写的程序也可以用 Hare 编写,但 Hare比 C 简单。

Hare 的设计原则

1.信任程序员。

2.如果程序员不敢信任自己,则提供辅助工具。

3.倾向认为显式行为比隐式行为好。

4.认为好的程序必须既正确、又简单。DeVault 解释称,“Hare 使用静态类型系统、手动内存管理和最小运行时,所以特别适合编写操作系统、系统工具、编译器、网络软件以及其他低级高性能任务。”

在接受采访中,DeVault 也坦言 Hare 的很多设计灵感都源自 C 语言。

DeVault 强调,跟大部分其他语言设计者不同,他们对 C 其实非常认同。Hare 只是想对 C 中的基本设计理念做出一些保守的改进,也可以说是在经历了多年的实践应用后、重新探索 C 语言能不能做得更好。

Hare 现状

目前已经有许多基于 Hare 编程语言的程序,比如

· Himitsu :密匙管理和密码存储工具。它将密匙存储为键/值对,且允许存储附加信息,例如用户名、主机和协议。

· Helios :x86_64 系统的微内核。

· box :简单的 CLI 加密工具

· btqd :bittorrent 守护进程

· hare-libui :简单 GUI 的 libui 绑定

Hare 的 OpenGL 绑定正在进行中,目前可用于几个小游戏,比如俄罗斯方块:

使用 Hare 编写的简单光线追踪器:

Hare 标准库包含以下标准组件,该库为许多用例提供支持,而无需任何依赖关系。

· 密码学套件

· 网络支持

· 全面的日期/时间操作

· I/O 和文件系统抽象

· Unix 原语,如 poll、fnmatch 和 glob

· POSIX 扩展正则表达式

· Hare 解析器和类型检查器

该标准库让Hare 脱离了 POSIX 和 libc 的遗留问题,Hare 程序默认不与 libc 链接 。

Hare 未来

目前 Hare 正在保守开发中,标准库最大的任务是完成密码学实现,首要目标是支持 TLS (安全传输层协议)1.2 和TLS 1.3。一旦达到 1.0版本,Hare 将完成语言规范,冻结语言设计,且只对标准库进行向后兼容的更改。

此外,目前 Hare 仅支持三种架构:x86_64、aarch64 和 riscv64,未来将逐步添加 32 位平台和其他架构的支持。操作系统方面,目前 Hare 只支持 Linux 和 FreeBSD,计划在未来做更多的移植。

对此,你有什么看法呢?欢迎评论区讨论

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老九学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档