vlang语言的初识!

vlang 专栏收录该内容
3 篇文章 0 订阅

​就在今天,在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秒。)

为了比较:

 需要空间建立时间
go525 MB1分33秒
Rust30 GB45米
GCC8 GB50公尺
Clang90 GB [0]25米
Swift70 GB [1]90米
V0.4 MB0.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学习

 

 

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

python小生!

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值