写点什么

被质疑的 V 语言

2019 年 7 月 02 日

被质疑的V语言

近日,V 语言开发者在 Twitter 上发布消息,V0.1 已开源,可下载 Linux,macOS,Windows 版本或用不到一秒的时间从源代码构建它,甚至可以在 Android 上运行。



Twitter 截图


V语言官网介绍,V 语言是一种静态编译编程语言,用于构建可维护的软件。它与 Go 类似,并受 Oberon,Rust,Swift 的影响。其操作简便,只需花费 30 分钟阅读说明即可基本学会整个语言。


目前,编程语言已经数量可观,为什么还要创建 V 语言?开发者 Alex Medvednikov 表示,因为现有语言都无法囊括以下所有功能,而 V 语言可以实现。



图源:V 语言官网


开发者提及的主要特性

  • 快速编译


每个 CPU 核心每秒大约可编译 120 万行代码;


这一速度是通过直接的机器代码生成和强大的模块化实现的;


可在 0.3-0.6 秒内自我编译;


V 也可以发出 C,但编译速度会有所下降。


  • 性能


和 C 一样快;


与 C 互操作无需任何成本;


分配数量最少;


没有运行时反射的内置序列化;


编译为没有任何依赖关系的本机二进制文件:一个简单的 Web 服务器只有 65 KB。


  • 400 KB 编译器 零依赖性


整个语言及其标准库小于 400 KB。V 用 V 语言编写,人们可以在 0.4 秒内构建它。到今年年底,这个数字将会提升至约 0.15 秒。以下是各种语言的对比结果:


语言所需空间建立时间
Go525MB1分33秒
Rust30GB45分
GCC8GB50分
Clang90GB25分
Swift70GB90分
V0.4MB0.4秒


现在 V 编译器确实有一个依赖,那就是 C 编译器。未来,一旦 x64 代足够成熟就不需要它。


  • C / C ++翻译


V 可以翻译整个 C 或 C ++ 项目,提供安全性、简单性和高达 400x 的编译速度。


  • 轻松完成交叉编译


要交叉编译软件,只需运行 v -os windows .或 v -os linux .,不需要额外的步骤,即使对于 GUI 和图形应用程序!


与其他语言的差异

与 C ++相比,V 要简单得多。它提供高达 400 倍的编译速度,安全性强,缺少未定义的行为,易于并发,编译时间代码生成等。


与 Python 相比,V 更快,更简单,更安全,更易于维护。


V 与 Go 非常相似,在以下方面,V 有所改进:



图源:V 语言官网


V 的域与 Rust 类似,Rust 是一种复杂的语言,具有越来越多的功能和陡峭的学习曲线。V 的目标是允许构建可维护且可预测的软件,这就是 V 语言为何如此简单。它的好处在于,你可以跳进项目中的任何部分,了解正在发生的事情,它只有一种做事方式。此外,Rust 的编译速度很慢,与 C ++相当,而 V 每秒每个 CPU 可编译 120 万行代码。


官网显示,V 语言支持 Windows,macOS,Linux,* BSD 系统,今年晚些时候,在 Android 和 iOS 上也可以投入使用。开发者 Alex Medvednikov 表示,V1.0 将于今年年底前推出。在 V1.0 发布前,V 语言不会有太大的变化,除了可能会添加一些新功能,如 goroutines。


网友评论褒贬不一

对于这门新兴的语言,一些网友在 V 语言官网晒出支持。



图源:V 语言官网


然而,6 月下旬 V0.1 开源后,质疑声纷至沓来。InfoQ 对网上观点进行了简要汇总,具体观点如下:


观点一:实际体验与开发者介绍不符


在 Reddit 上的一篇热门文章《V is for Vaporware》下,有近 350 条网友评论,可以看出,人们对这门新语言开源后的表现非常关注。文章开篇即指出,“V 语言是一种被大肆宣传的语言,(V 语言官网)提及的一些功能都是处于’正在进行中‘的状态或源存储库中完全不存在”。


在网友评论上,提及最多的便是技术实现粗糙的问题。如,翻译出来的 C 语言混乱;一些基础的数据结构都没有得到好的支持;没有二维或更高维的数组支持;Map 只是一个数组;测试用例过于简单;总共不足 50 个文件。基本上,不能称之为是一个完整的项目,离真正的语言还相距甚远。


观点二:东拼西凑的半成品语言 没有新特性


新语言的开拓离不开生态系统。V 语言能否屹立市场,很大程度上在于能否建立具有个人风格的生态系统。而整个 V 语言的开发者只有一人,虽然达到这样的完成度实属不易,但 V 语言本身没有任何新特性产生,看上去像是 Go 的翻版。此外,V 语言的开发者几乎就是把 Rust 的一些特性牵强地揉进 Go 里,造成 Go 和 Rust 都失去了自身的优点。有网友甚至认为,V 语言就目前看来就是一个翻译机,根本不能称之为语言。


观点三:站在巨人的肩膀上 夸大自身特性


开发者在介绍中表示, V 语言目前是没有 GC 的,V 的内存管理类似于 Rust 。但 Rust 中引入的所有权和生命周期的概念,在 V 语言中都还没有得到体现。那么,V 语言在内存管理方面就不得不令人存疑。V 语言的目标是不用 LLVM,直接生成机器码。而作为一个翻译到 C 语言的新语言表示自己没有依赖 LLVM 和自己的速度显得有失偏颇。


对于这个出自新手的新语言,《V is for Vaporware》的作者 Christine Dodrill 总结道,这是一款非常 alpha 的产品。


在评论中可以明显看到,一些网友往往会联想到近期颇为火爆的 Go,称其为 Go 的孪生兄弟,甚至是山寨版,并且把 V 语言在传播层面的成功归结为一种盲目的跟风、炒作,同样遭受质疑的还有官网中提到的“30 分钟掌握一门语言“的言论。对于这样一门毁誉参半的新语言,你怎么看?


相关文章:


github vlang/v专区


Reddit上的讨论


V is for Vaporware


如何看待V语言强势登顶gitHub top1?


如何看待 V 语言?


V 语言强势登顶 GitHub TOP1,难道要取 Go 而代之?


2019 年 7 月 02 日 14:4217711
用户头像
王文婧 InfoQ编辑

发布了 126 篇内容, 共 62.7 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

炸裂!这份阿里P8大佬手写“Java核心技能精选”惨遭疯抢

Crud的程序员

Java 架构

一个即将从《蚂蚁金服》离职的Java工程师个人经历与总结

Java成神之路

Java 程序员 架构 面试 编程语言

阿里P7亲自讲解!驱动核心源码详解和Binder超系统学习资源,跳槽薪资翻倍

欢喜学安卓

android 程序员 面试 移动开发

区块链产业革命:解决融资租赁之谜

旺链科技

区块链应用 融资租赁

2021年最新京东技术岗现场三面:jvm调优+高并发+算法+网络+数据库+设计模式

Java架构之路

Java 程序员 架构 面试 编程语言

小目标!2021年薪资要个40k,我肝了200个Java面试题给大家!

Java成神之路

Java 程序员 架构 面试 编程语言

剑指Java面试:面试官能问到的问题,都被我收集在这份PDF文档里

Java成神之路

Java 程序员 架构 面试 编程语言

APICloud Avm.js前端框架的优势

APICloud

小程序 前端框架 移动开发· 跨端开发 多端开发

【科创人】Testin云测总裁徐琨:创业必须要创造出肉眼可见的价值

科创人

史上最全整合第三方登录的开源库

happlyfox

OAuth 2.0 28天写作 3月日更

GitHub上获赞10万star的高并发神级进阶资料,面试官再问高并发问题请你把这篇文章发给他!

Java架构之路

Java 程序员 架构 面试 编程语言

园区网中 IPv6 地址的终端 mac 地址追溯

冯骐

Python 运维 日志 网络 ipv6

Shibboleth-IdP 的 OAuth2 对接方案详解

冯骐

OAuth2 SAML Shibboleth CARSI

Semaphore实战

叫练

CountDownLatch CyclicBarrier Semaphore 线程协作

Nginx安装后要做的第一件事

运维研习社

nginx WEB安全

2021总结全网最新、最全、最实用Java岗面试真题!已收录GitHub

比伯

Java 编程 架构 面试 程序人生

神经网络攻防: 02.攻击模型的输出层

P小二

AIPwn AI安全 P小二 神经网络攻防

牛掰,阿里P8这份笔记不就相当于金三银四中的原子弹吗?已经帮助13位同行拿到了一线大厂的offer!

Java架构师迁哥

beego + nginx 实现反向代理统一认证

冯骐

golang nginx 开发 ldap auth_request

怎样在自己的 Web 中加入强大的日志系统?slf4j 的日志插件必须要知道!

老王说编程

slf4j java 日志 日志管理 日志框架

云安全和访问管理

龙归科技

云计算 安全 云端 企业安全

软件开发,如何快速有效缩短项目周期

雯雯写代码

软件开发

四面阿里成功斩获offer,在此分享我的复盘经验总结!

Java架构之路

Java 程序员 架构 面试 编程语言

15 分钟部署一个 CAS 服务并对接 Shibboleth-IdP 3.4.6

冯骐

CAS 认证 Shibboleth 统一身份认证

5 分钟部署一个 OAuth2 服务并对接 Shibboleth-IdP 3.4.6

冯骐

golang 运维 开发 OAuth2 Shibboleth

都 2021 年了,也该抛弃 ExpressJS 了

LeanCloud

前端开发 nodejs 框架

手把手教学,如何使用低代码快速构建应用程序步骤详解!

优秀

低代码

神经网络攻防:03.使用API修改神经网络参数

P小二

AIPwn AI安全 P小二 神经网络攻防

Serverless 极致弹性解构在线游戏行业痛点

阿里巴巴云原生

Serverless 微服务 开发者 云原生 消息中间件

迄今为止最好用的Flink SQL教程:Flink SQL Cookbook on Zeppelin

Apache Flink

flink

阿里P7亲自讲解!如何快速的开发一个完整的直播app,成功入职腾讯

欢喜学安卓

android 程序员 面试 移动开发

低代码的认知误区与落地实践

低代码的认知误区与落地实践

被质疑的V语言-InfoQ