V语言正式开源

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

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语言正式开源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

The Apache Modules Book

The Apache Modules Book

Nick Kew / Prentice Hall PTR / 2007-02-05 / USD 54.99

"Do you learn best by example and experimentation? This book is ideal. Have your favorite editor and compiler ready-you'll encounter example code you'll want to try right away. You've picked the right......一起来看看 《The Apache Modules Book》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具