欢迎光临散文网 会员登陆 & 注册

还在吹Rust?国外已经在吹Val了!

2023-08-14 15:53 作者:pathologyenigma  | 我要投稿

不知道各位有没有见过这样一群人,他们活跃在各种编程话题之间,喜欢无脑吹rust(部分是真的蠢,部分是反串黑,是不是很像某个游戏的情况)。而实际上这些人想必并没有深入的了解并使用过rust,至少他们并没有在泛型编程中遇到过rust给出的Vtable(虚表)错误,亦不曾在unsafe上下文中与所有权做过斗争,如果他们干过,那么他们就知道他们吹的rust的好处是建立在底层库开发者的痛苦之上的(也许有些人喜欢挑战难度,但rust的限制让底层开发变得更麻烦)。现如今,rust的社区基本稳定了,已经在用rust的团队不会因为三言两语就放弃整个项目,还没有放弃c++的自然也不可能放弃了,所以我推荐这些老哥转向新的可以“吹”的语言。也就是本文的主角——Val。

最早看到这个语言的相关消息是网上冲浪时,偶然发现blazingly fast(一个外网梗)老哥发布了Val的相关视频,还没看视频内容,评论区就已经玩梗玩开了,有的表示这下需要五年以上Val经验了(这不是我们rust的梗吗?)。

不说这些抽象的东西了,视频发布者看到了一篇文章,大致是Val是一种取代c++和rust的方案(卧槽?rust还没取代别人,就被别人取代了?),于是我稍微了解了一下Val(这里我刻意没有看该视频的评测语言部分,就是为了自己去了解),在开始了解这门语言的细节之前,先问问bing,有点大概的影响方便我们找切入点:

啊?基本和swift的语法差不多(其实语言底层也差不多,swift也是使用引用计数做的内存管理),然后吸纳了rust和go的部分语法?不能使用全局变量?没有null和undefined?只能命令式编程?除了泛型没有别的特性?这不就是swift--?

再探再报:

呃,就这?既然可变值语义了,那得了解一下具体情况了:

哦?有点意思,但和移动语义相比只是各有千秋罢了

那么作为一个web开发者,看看该语言web领域的表现吧,下面是一个简单的echo服务器:

流程和你用C语言创建一个echo服务器差不多(别问为什么是TCP socket,问就是没有http框架),各位想必也不难看懂,整体来看语法方面并没有什么特别的地方,基本都是见过的东西。

从这段代码来看真没有多新鲜,甚至有些地方让我看起来有点难受(个人感受)。那么该语言还支持泛型,不妨来看看这个泛型怎么写的,于是我打开官网,看了一圈,没找到泛型相关信息,wtf?gpt又骗我?真就只是一些swift就有的功能加上一些其他语言的语法啊。就这?

一言以蔽之,半成品语言,目前还没有自己的特色(你说那些swift的特性不值得肯定吗?你看看这语言的GitHub,是不是100%swift),说是解决了安全问题,但目前看来就是缝合怪(swift的方式加上所有权系统结合的内存解决方案)。

本文无意引战,标题意在反讽,另外某些语言的吹并非真的了解和喜欢这门语言,他们只是对其他的编程语言缺乏了解。而现在这种情况在各种平台还挺常见的(我没说某乎啊),这语言现在确实俘获了不少特别重视“安全”的用户(毕竟它简单),但对我来说还不如nim2.0和zig0.11来的激动人心。


还在吹Rust?国外已经在吹Val了!的评论 (共 条)

分享到微博请遵守国家法律