V语言正式开源


   

640?wx_fmt=gif

V语言今天正式,欢迎访问V语言中文网:https://vlang-zh.cn/

640?wx_fmt=png

Hello, world

在线运行:https://vlang.io/play

fn main() {    areas := ['game', 'web', 'tools', 'science', 'systems', 'GUI', 'mobile']     for area in areas {        println('Hello, $area developers!')    }}
    for area in areas {
        println('Hello, $area developers!')
    }
}

扫码加入V语言微信群

640?wx_fmt=jpeg

注:如果二维码过期,可以通过“光谷码农”微信公众号底部菜单扫码进入。

开发状态

V语言还处于非常早期的开发阶段。很多特性都标记为开发中状态(WIP,work in progress)。不过此页面相关的内容和代码都会在2019年6月22号开源。如果所有的WIP开发工作都完成,那么将是发布V1.0的时候。

V语言的特色

快速编译

在Intel i5-7500 @ 3.40GHz, SM0256L SSD没有优化的环境,每秒钟可以编译120万行V代码。这是通过模块化和直接输出机器码来实现快速编译的。

V语言编译器也可以直接输出C语言代码,但是输出的性能将下降到10行每秒钟。

注:直接输出机器码还处于非常早期的阶段,目前只支持X64环境的Mach-O格式的目标文件。因此目前必须先输出C代码再进行编译。

安全


性能

用于构建可维护程序的简洁语言

你可以在半个小说读完全部的自带文档。虽然简洁,但是不简单!你可以用V语言做任何其它语言可以做的事情!


编译器400KB,零依赖

语言的标准库小雨400KB。V语言已经自举,用V语言编写,可以在0.4秒内构建(到今年地,时间继续降到0.15秒)。

时间对比:

语言     内存大小    编译时间Go      525 MB     1m 33sRust    30 GB      45mGCC     8 GB       50mClang   90 GB      25mSwift   70 GB      90mV       0.4 MB     0.4sGo      525 MB     1m 33s
Rust    30 GB      45m
GCC     8 GB       50m
Clang   90 GB      25m
Swift   70 GB      90m
V       0.4 MB     0.4s

目前V语言只依赖C语言编译器,用于启动。一旦语言完备,就可以不再需要C语言编译器。

先在0.4秒内构建V,然后使用生成的编译器再次构建自己:


C/C++代码到V代码

V可以翻译整个C/C++代码到V代码,以享受带来的安全性、简单性和高达400x的编译速度。

比如C++代码:

std::vector<std::string> s;s.push_back("V is ");s.push_back("awesome");std::cout << s.size();vector<std::string> s;
s.push_back("V is ");
s.push_back("awesome");
std::cout << s.size();

将翻译为以下V代码:

mut s := []s << 'V is 's << 'awesome'println(s.len)
s << 'awesome'
println(s.len)

关于翻译DOOM的博客文章即将发布。

翻译几乎支持全部的C语言标准,但是对C++对支持还处于早期阶段。上面是简单的例子,复杂的C++代码可能有困难。C++是一个比较复杂的语言,我们希望今年年底能完成这个工作。

更多的信息请访问V语言中文网:https://vlang-zh.cn/


640?wx_fmt=png