就在今天,在GitHub上vlang已经成为Top1并拥有了五千多star。
越来越多的程序们对这门新生语言进行了关注!
下面来对vlang进行一些简单的介绍。
介绍
V是一种静态类型的编译编程语言,用于构建可维护的软件。
它与Go类似,也受到Oberon,Rust,Swift的影响。
V是一种非常简单的语言。通过这个文档将花费你大约半个小时,到最后你将学习几乎整个语言。
尽管很简单,但它为开发人员提供了很多动力。你可以用其他语言做任何事情,你可以用V做。
1.再来看看每一门语言入门的hello world!
2.斐波那契数列
等等。
v与其他语言的比较
根据作者的描述可得:
与C ++相比,V要简单得多。它提供高达400倍的编译速度,安全性,缺少未定义的行为,易于并发,编译时代码生成等。
与Python相比,它更快,更简单,更安全,更易于维护等。
结尾可看与go,Rust相比较。
快速编译
V每个CPU核心每秒编译大约120万行代码。 (Intel i5-7500 @ 3.40GHz,SM0256L SSD,无优化)
这样的速度通过直接机器代码生成实现WIP和强大的模块化。
V也可以发出C,然后编译速度下降到≈100k线/秒/ CPU。
直接机器代码生成处于非常早期的阶段。目前仅支持x64 / Mach-O。这意味着现在必须使用发射C。到今年年底,x64代应该足够稳定。
安全
-
No null
-
没有全局变量
-
没有未定义的值
-
没有未定义的行为
-
没有变量阴影
-
边界检查
-
选项/结果类型
-
泛型 wip
-
默认情况下不可变变量
-
默认情况下为纯函数
-
默认情况下不可变结构
性能
-
和C一样快
-
C interop无需任何费用
-
分配数量最少
-
没有运行时反射的内置序列化
-
编译为没有任何依赖关系的本机二进制文件:一个简单的Web服务器只有65 KB
用于构建可维护程序的简单语言
您可以在半小时内阅读文档来学习整个语言 。
尽管很简单,但它为开发人员提供了很多动力。你可以用其他语言做任何事情,你可以用V做。
400 KB编译器,具有零wip依赖性
整个语言及其标准库小于400 KB。V用V语言编写,你可以在0.4秒内构建它。
(到今年年底,这个数字将下降到≈0.15秒。)
为了比较:
需要空间 | 建立时间 | |
go | 525 MB | 1分33秒 |
Rust | 30 GB | 45米 |
GCC | 8 GB | 50公尺 |
Clang | 90 GB [0] | 25米 |
Swift | 70 GB [1] | 90米 |
V | 0.4 MB | 0.4秒 |
现在V编译器确实有一个依赖:C编译器。但是无论如何都需要引导语言,如果你正在进行开发,很可能你已经安装了C编译器。
这是一个小的依赖,一旦x64代足够成熟就不需要它。
在0.4秒内构建V,然后使用生成的二进制文件再次构建自己:
C / C ++翻译
V可以翻译整个C或C ++ wip项目,为您提供安全性,简单性和高达400x的编译速度。
std :: vector <std :: string> s;
s.push_back(“V is”);
s.push_back( “真棒”);
std :: cout << s.size();
mut s:= []
s <<'V is's
s <<'
awesome'println(s.len)
关于翻译DOOM的博客文章即将发布。
现在几乎支持整个C标准,但C ++翻译还处于早期阶段。上面的例子可行,但更复杂的代码不会。C ++是一种非常复杂的语言,希望该项目能在今年年底完成。
热门代码重装
无需重新编译即可立即获取更改。
由于您在每次编译后也无需进入正在处理的状态,因此可以节省大量宝贵的开发时间。
强大的图形库
跨平台绘制库的建立在GDI + /可可图中上端,以及一个基于OpenGL图形库,用于更复杂的2D / 3D应用,还具有以下特点:
-加载带有纹理的复杂的3D对象WIP
-相机(移动,环视)wip
- Skeletal animation wip
计划使用DirectX,Vulkan和Metal支持。
本机跨平台GUI库
使用本机控件构建本机应用程序 您不再需要嵌入浏览器来快速开发跨平台应用程序。
V有一个ui
使用本机GUI工具包的模块:Windows上的WinAPI / GDI +,macOS上的Cocoa。在Linux上使用自定义绘图。
即将推出:
- 类似Delphi的可视化编辑器,用于构建本机GUI应用程序
- 使用本机控件的iOS / Android支持
- 类似于SwiftUI和React Native的声明性API。
轻松交叉编译
要交叉编译您的软件,只需运行v -os windows .
或 v -os linux .
不需要额外的步骤,即使对于GUI和图形应用程序!
(编译macOS软件目前仅适用于macOS。)
目前只能在Linux和mac上编译,window暂时还不支持。
总而言之,在作者画出这个大饼后,我们期待这门语言的诞生,并为之付出。
今天对vlang语言的初认就到此为止,有什么问题可以对我留言,谢谢观看!
代码官方示例:
https://vlang.io/play
与其他语言比较可看:
https://vlang.io/compare
优点详情:
https://vlang.io/#faq
欢迎关注我的公众号,每日分享vlang相关知识。公众号:vlang学习