V语言横空出世,C/C++/Java/Python/Go地位不保
V语言已在github正式开源,目前已收获近9000星,引发开发者的强烈关注。
V语言到底是怎样一门语言?已经有了C/C++/Java/Python/Go..., 我们还需要另外一门语言吗?
先看看V语言对自己的定位:
Simple, fast, safe, compiled language for developing maintainable software。
V语言将编写可维护软件,作为自己的定位。其鲜明的特点是简单、高效、安全、编译型语言。
大家都有这样的经历:接手别人的代码,发现代码极度混乱、阅读起来极其费解、修改起来极其困难,心里一万个草泥马飘过......。这就是典型的不可维护软件。
如果能有一门语言,能够改变这种状况,将软件可维护性作为首要宗旨,并且开发简单,生产力极高,并且软件运行效率极高,这样的编程语言,不是程序员一直梦想的吗?
而目前,C/C++/Java/Python/Go/Rust 等语言,都没有实现上述的目标。咱们来吐槽一下:
C:开发效率极低,维护成本非常高,生态系统非常差。
C++: 语言极度复杂,维护成本非常高,生态系统非常差。
Java:运行效率差,资源占用高
Python:运行效率差
Go:语言并不简单,内置GC是永远的痛。对社区的呼声响应不高。
Rust:语言复杂,开发效率不高,与编译器做斗争,消耗了无谓的青春。
V语言,带来了全新的体验:
编译器极为小巧,才400多K
编译速度极快,目前10万行/秒,目标是120万行/秒的编译速度
语法超级简单,半小时就能学会
语言跨平台,开发者无需考虑平台相关问题
运行性能:与C语言相比,<5%
安全:没有空指针,没有全局变量,没有未定义的行为,变量缺省是不可修改的(immutability)
支持将C源码直接转成V,C++源码的转换也正在开发中
热代码加载(Hot code reloading)
语言自带UI图形库
V语言官网主页上的代码:
fn main() {
areas := [\'game\',\'web\',\'tools\',\'science\',\'systems\',
\'embedded\',\'GUI\',\'mobile\']
for area in areas {
println(\'Hello, $area developers!\')
}
}
对于游戏开发、Web开发、工具开发、科学计算、系统编程、嵌入式、图形界面开发、移动开发,都是V语言擅长的领域。
并且,V语言能够跨平台,使得可以用V语言开发Shell脚本,这样就能在不同的平台上保持一份源码,从而避免了bat, bash, kshell 等无法跨平台的问题。
V语言目前,处于极其快速的开发过程中,几天就会发布一个新的版本。2019年底,会Release 1.0版本。因此,C/C++/Java/Python/Go的地位会受到严峻的挑战。
未来,如果V语言进一步,提供工具将Java/Python/Go/Rust 的源码都直接转换为V,那么将极大摧毁这些语言的地位。
V语言的未来,让我们拭目以待!
更多V语言的介绍,可以关注微信号 vlangdev 或扫描二维码
请发表评论