V 语言:一门周末就能学会的编程语言

V 语言:一门周末就能学会的编程语言

文章目录

  • V 语言:一门周末就能学会的编程语言
    • 它能干什么
    • 为什么有人选它
    • 它能做到什么程度
    • 安装
    • 稳定性和未来
    • 适合谁

V 语言:一门周末就能学会的编程语言

V 语言在 GitHub 上已经拿到 37,658 Star。

这门语言的定位很明确:像 Go 一样简单,像 C 一样快。编译速度极快,用 Clang 后端每秒能编译 11 万行代码,用原生后端能到 50 万行。它编译自身只要不到一秒。

它能干什么

V 的主后端编译成可读的 C 代码,性能跟 C 基本持平。但它比 C 安全得多:没有 null,没有全局变量,没有未定义行为,默认不可变。

语言本身支持热重载、跨平台 UI、内置图形库、ORM、Web 框架,还能交叉编译。C 和 JavaScript 两个后端都支持。

有一个挺有意思的功能:C 到 V 的翻译。你把 C 代码扔进去,它能帮你转成 V 的语法。官方还拿 DOOM 的源码做过演示。

内存管理方面,默认用 GC,也可以手动管理、用 arena 预分配、或者开启 autofree 自动释放。

为什么有人选它

写过 C 的人知道痛点:手动管内存、头文件、编译慢、调试难。写过 Go 的人觉得简单是好,但有些场景性能不够用。

V 想解决的就是这个中间地带。语法简洁,上手快,但编译出来的程序运行速度不打折。

官方说"一个周末就能学会",这话不算夸张。语法确实精简,没有太多需要记忆的规则。

它能做到什么程度

V 不只是写小工具用的。社区用它做了一个完整的操作系统 Vinix,已经能跑 bash、GCC 和 V 自己的编译器。还有 Gitly,一个轻量的 Git 托管平台,对标 GitHub 和 GitLab。

Web 方面,内置的 veb 框架可以写服务端应用。Android 端有 vab 工具,能直接把 V 写的 UI 程序打包成 Android 应用。

UI 库也内置了,不需要额外装依赖就能写桌面程序。

安装

装 V 很简单,三行命令:

gitclone--depth=1https://github.com/vlang/vcdvmake

Windows 用makev.bat。macOS、Linux、FreeBSD、OpenBSD 都支持,Android 上通过 Termux 也能跑。

装好之后跑一下:

vrun examples/hello_world.v

更新也方便,直接v up就行。

编译器默认下载 TCC(Tiny C Compiler),开发阶段够用。生产环境建议切到 clang 或 gcc,用-prod参数。

稳定性和未来

V 目前还没到 1.0,但已经比较稳定,语法变动不大。官方承诺 1.0 之后进入 feature freeze 模式,不再有破坏性改动,只修 bug 和做性能优化,跟 Go 的策略类似。

短期内不会有 V 2.0。官方的说法是 1.0 之后至少十年内不会搞大版本。

语言的设计哲学就是小而简单,不往里面塞越来越多的特性。

适合谁

如果你在找一门比 C 简单但性能不差的语言,或者想要一个能快速编译、自带常用工具链的语言做系统级开发,V 值得花一个周末试试。

编辑器方面,VS Code、JetBrains、Vim、Emacs 都有插件支持,语言服务器是 v-analyzer。

花一个周末试试。

编辑器方面,VS Code、JetBrains、Vim、Emacs 都有插件支持,语言服务器是 v-analyzer。