全新语言-v语言


2019/6/23,v语言的首个可用0.0.12版本发布了。这是一名全新的语言,集合了go的简单和rust的安全的特性;用于开发可维护软件的简单、快速、安全的编译语言。不过它的整体风格和go类似,代码风格简单,熟悉的go的朋友可以很快上手。不过刚发布,还需要很长一段时间的温养。

官方地址https://vlang.io

github地址:https://github.com/vlang/v (安装方法github首页有详细说明)

中文网已经出来了:https://www.v-lang.cn/

简单说一下V的特性:

  • 快速编译
  1.   V每CPU核心每秒编译约120万行代码。
  2.   V也可以调用C,编译速度下降到≈100k行/秒/CPU。
  • 安全
  1.   没有空
  2.   没有全局变量(意味着变量都是在函数体中声明)
  3.   没有未定义的行为
  4.   没有变量跟踪
  5.   边界检查
  6. 可选的结果类型
  7. 支持泛型
  8. 默认不可变的变量
  9. 默认纯函数
  10. 默认不可变的结构体
  • 性能:
  1. 和C一样快
  2. 操作C没有任何成本
  3. 没有运行时反射的内置序列化
  4. 最少量的分配
  5. 可以编译程序到没有任何依赖关系的本地二进制文件:一个简单的web服务器只有65 KB
  • 用于构建可维护程序的简单语
  1. 您可以在半小时内浏览文档来学习整个语言。(目前提供的标准库还不多,毕竟刚发布)
  2. 尽管很简单,但是它为开发人员提供了很多功能。任何你能用其他语言做的事情,你都可以用V来做。(这句话,貌似每个语言都会这么讲….)

 

  • 400kb编译器,零在制品依赖
  1. 整个语言及其标准库都小于400kb。V是用V写的,你可以在0。4秒内完成。(到今年年底,这个数字将降至≈0.15秒。)
  • 热代码重载
  1. 立即获得更改,而无需重新编译。
  2. 由于您也不必在每次编译之后都进入正在处理的状态,这可以节省大量宝贵的开发时间。

 

  • 强大的图形库
  1. 构建在GDI+/Cocoa绘图之上的跨平台绘图库,以及一个基于OpenGL的图形库,用于更复杂的2D/3D应用程序,它还具有以下特性:
  2. 加载复杂的三维对象与纹理在制品
  3. 摄像头(移动,环顾四周)wip
  4. 骨骼动画在制品
  5. 计划使用DirectX、Vulkan和Metal支持。(图形库的一个简单例子是tetris.v(就是俄罗斯方块)
  • 本机跨平台GUI库
  • 容易交叉编译
  1. 交叉编译您的软件只需运行v -os windows。或者v -os linux。不需要额外的步骤,即使是GUI和图形应用程序!(目前只在macOS上编译macOS软件。)
  • 无痛部署和依赖关系管理

大致特性就是这些,不过等这些功能完善,还是需要不少时间,这些特性也可以说是V以后的目标。

V语言还比较新,目前稍微关注一下,功能完善和生态发展等都还需要时间