V语言正式开源

V语言正式开源_第1张图片

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

V语言正式开源_第2张图片

Hello, world

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

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

扫码加入V语言微信群

V语言正式开源_第3张图片

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

开发状态

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代码再进行编译。

安全

  • 没有空值

  • 没有全局变量

  • 没有未定义的值

  • 没有未定义的行为

  • 没有变量屏蔽

  • 边界检查

  • Option/Result类型

  • 泛型(WIP)

  • 默认变量不可变

  • 默认函数是纯函数

  • 模式结构体不可变

性能

  • 快如C语言

  • 和C语言对接没有额外成本

  • 最小化内存分配行为

  • 内置的序列化没有基于运行时反射

  • 输出的二进制没有外部依赖,一个Web服务才65KB

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

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

编译器400KB,零依赖

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

时间对比:

语言     内存大小    编译时间
Go      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();

将翻译为以下V代码:

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

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

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

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

V语言正式开源_第4张图片

你可能感兴趣的:(V语言正式开源)