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/vcdvmakeWindows 用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。
