为开发volt,创建快速,安全,编译的语言,很快,所有人都能用啦。
2019 年中期,发布开源。
Github 网址 | 语法文档 |
---|---|
https://github.com/vlang-io/V | 英文+非官方中文 |
2019.3.18
官方未发布,但网页注释中有)在 0.5 秒内,从源安装 V.
wget vlang.io/v.c && gcc -o v v.c
fn main() {
types := [ 'game', 'web', 'tools', 'GUI' ]
for typ in types {
println('Hello, $typ developers!')
}
}
V 用一个 CPU 核心,能每秒编译 150 万行代码
cd doom3/
wc -l doom3.v # 458 713
time v doom3.v # 0.5s
V 可以转译整个 C / C ++项目,为您提供安全性,简单性,还有高达 200 倍提升的编译速度。
std::vector<std::string> s; s := []string
s.push_back("V is "); s << 'V is '
s.push_back("awesome"); s << 'awesome'
std::cout << s.size(); println(s.len)
阅读有关转译 Doom&Doom 3,LevelDB,SQLite 的内容。(即将于 3 月发布)
整个 V 语言及其标准库小于 400 KB。你可以在 0.3 秒内,构建 V。
为了比较:
需要空间 | 构建时间 | |
---|---|---|
Go | 525 MB | 1m 33s |
Rust | 30 GB | 45m |
gcc | 8 GB | 50m |
Clang | 15-20 GB | 25m |
Swift | 70 GB* | 90m |
V | 0.4 MB | 0.3s |
最少的内存分配数量
内置序列化,无需反射(reflection)
无需重新编译,即可立即获取更改!
由于您在每次编译后,不必浪费时间进入状态,因此可以节省大量宝贵的开发时间。
你可以通过浏览文档来学习整个语言,半小时内搞定。
尽管很简单,但它为开发人员提供了很多动力。你用其他语言做的任何事情,你都可以用 V 做。
>$ v
> data := http.get('https://vlang.io/utc\_now')?
> data
> '1551205308'
构建原生的原生应用程序。您不再需要嵌入浏览器,来快速开发跨平台应用程序。
V 可以编译为(人类可读的)C,因此您可以获得 gcc 和 Clang 的优秀平台支持和优化。
为什么在已经有这么多语言的情况下,创建 V?为什么不使用 Go,Rust,C ++,Python 等?
V 是用什么语言写成的?
V。编译器可以自行编译。原始版本是用 Go 编写的。
V 使用 LLVM 吗?
No。V 直接编译为机器代码。这是它如此轻盈和快速的主要原因之一。目前仅支持 x64 架构。
V 还可以发出人类可读的 C,然后可以在任何平台上,编译运行。
那么优化呢?
目前,V 发出 C ,可使用 gcc/clang 来优化生产构建。这样您就可以访问复杂的优化。
这样构建的编译速度比 V 开发版本慢大约 150 倍(但仍比 C++构建快)。
对于开发过程中,优化为刚需的行业(例如 AAA(3A) 游戏),这可能是一个问题。在这种情况下,可以使用热代码重新加载,不需要重新编译。
将来, V 将拥有自己的优化器。
有垃圾收集吗?
不。V 的内存管理类似于 Rust,但更容易使用。有关它的更多信息,将在不久的将来发布。
会有一个包管理器吗?
对!V 是一种非常模块化的语言,它鼓励创建易于重用的模块。将有一个中央包管理器,安装模块将非常简单,就像这样:
v install sqlite
V 本身是用 V 写的。
原生桌面客户端,为 Slack、Skype、Matrix、Telegram、Twitch 等多种服务。
带 Miller Columns 的跨平台文件管理器,内置有,与主流云平台的选择性同步。
200kb 的开源编辑器,具备 Sublime Text 性能的卓越。
该工具支持最新的,是人都觉得复杂的, C++标准,并允许全自动转译为人类可读代码。
使用原生 API 的跨平台小部件工具包。
你是用 v 来构建你的产品还是库?把它加到这个名单上。