V语言正式开源

栏目: C · 发布时间: 6年前

V语言正式开源

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

V语言正式开源

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语言正式开源

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

开发状态

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语言正式开源


以上所述就是小编给大家介绍的《V语言正式开源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

500 Lines or Less

500 Lines or Less

Amy Brown、Michael DiBernardo / 2016-6-28 / USD 35.00

This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch t......一起来看看 《500 Lines or Less》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具