C语言一直稳坐钓鱼台,一直被唱衰,但从未被打倒?

本文探讨了新语言对老牌编程语言如C的影响,特别关注了Zig作为C的潜在替代品。文章指出C虽然强大,但面临现代化开发的挑战。Zig凭借内置工具、高效开发特性和硬件友好设计,被视为C的有力竞争者。
摘要由CSDN通过智能技术生成

新语言的出现,真的能威胁到老牌语言吗?或许,真的没有永远的王者。就像最近春风得意的Mojo,LLVM之父Chris Lattner称其不会威胁到 Python,但会让C++等语言感到恐惧。

新语言层出不穷之时,旧语言的中年危机就会愈发凸显。但像C++、C好似一直稳坐钓鱼台,“一直被唱衰,但从未被打倒”。

但总会有新的挑战者,比如Zig、Go跃跃欲试,试图取代这个编程老祖。而且许多新语言的使用者也会幡然相信:C,或许真的需要进化了!

本篇文章具体解释了目前在所有C的替代品中,Zig为什么是最好的,以及Zig本身已经有了可行的替代C的计划,诸君不妨一探究竟。

一、C那么牛,为什么会有许多替代品?

诚然,C傲视群雄的资本还是有目共睹的,毕竟这门编程老祖之所以如此霸气,是因为它是每个现代软件系统组件的创造者。开发人员用C语言制作web服务器、数据库、操作系统、框架、编程语言、云组件和许多软件组件。尽管许多编程语言都说它们可以“取代”C语言,但这是不可能的,因为整个计算机历史都是用C语言创造的。

但资格老的语言总是不太能跟上“现代开发”的脚步。C++语言通过实现面向对象的概念、生产语言特性和通过保持C语言的性能优先设计的标准库API,为现代开发人员改进了C语言语法。也有一些C替代方案可以解决每个C开发人员面临的问题。Zig、D、Go和Odin是流行的C语言替代品。

Zig展示了一个充满希望的未来,有一个内置的包管理器、一个构建系统、类似C但更好的语言语法、一个功能齐全的标准库和一个不断增长的社区。像Uber这样的大企业也开始使用Zig工具链进行交叉编译。此外,一些软件公司开始使用基于Zig的代码存储库开展业务。

二、为什么Zig只能替代C,而不是C++

系统编程通常指的是开发更接近计算机硬件或操作系统层的东西。系统编程通常实现可以运行其他软件系统的软件模块。编写操作系统、应用程序框架和嵌入式系统是系统编程的好例子。系统程序员主要有两种语言类型选择:

  • C 及其替代方案:使用小型的高性能语言,如传统的 C、Go、Zig 或 Nim。

  • C++及其替代方案:使用有点复杂、高性能的语言,如传统的C++、Rust、Carbon 或 Cppfront。

Zig属于第一种语言。它是一种小型的、类似C语言的高性能语言,没有专用的运行时(没有内置的垃圾收集器)。Zig试图通过解决C开发人员面临的问题来成为“更好的C语言”,而Rust试图成为“更好的C++”语言。

三、Zig 如何成为最好的 C 替代品?

C语言现在有一个标准规范,也有了几个实现。例如,你可以在GNU/Linux系统上使用GNU C编译器,在macOS上使用Apple Clang,在Windows上使用MSVC。C也有多个标准库实现,如libc、Microsoft C运行库、BSD libc、musl、Bionic等。

一个编译器实现和一个基本的标准库是不足以高效地构建软件系统的——C程序员需要使用构建系统、包管理器、测试运行器等。对于这些工具,他们要么必须使用现有的第三方工具,要么编写自己的工具(如BuildZri构建系统)。

Zig提供了一个内置的构建系统、包管理器和测试运行器。Zig通过为C开发人员经常面临的问题提供解决方案来与C竞争。例如,Zig的官方编译器支持交叉编译,并且内置的测试运行器可以执行放在源代码本身内部的测试用例。Zig的语言设计倾向于通过维护类似C的硬件友好设计来提供更高效的开发人员友好特性。Zig是硬件友好的,但它是最小的、安全的、语法上类似Rust的和现代的。因此,开发人员可以比C更高效地使用它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_64880493_江哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值