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  或扫描二维码  

V语言横空出世,C/C++/Java/Python/Go地位不保的更多相关文章

  1. 编程语言基础:用“收集器”理解各种语言(C++、Java、Python)中的可变参数!

    [C++通常用一种特殊的List收集可变形参,而Java通常用一个数组,Python收集为tuple.dict.] 1.Java中的可变参数的函数:void f(ClassName... object ...

  2. 编程开发(C/C++&Java&Python&JavaScript&Go&PHP&Ruby&Perl&R&Erlang)

    使用Docker快速部署主流编程语言的开发.编译环境及其常用框架,包括C.C++.Java.Python.JavaScript.Go.PHP.Ruby.Perl.R.Erlang等. 在今后采用编程语 ...

  3. 【Hbase三】Java,python操作Hbase

    Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...

  4. java的this static public protected private abstract interface 在python的对应,java python一些区别

    1.因为工作的原因,最近使用了三个多月的java作为主力语言.很早之前在菜鸟教程也看过java文档两遍,但实践少,处于能看懂写出来不流畅的状态(对于java必须要略懂,不能能看到就头疼跳过,因为现在百 ...

  5. redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐

    redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐 1.Redis 官方网站下载: http://redis.io/dow ...

  6. (八)map,filter,flatMap算子-Java&Python版Spark

    map,filter,flatMap算子 视频教程: 1.优酷 2.YouTube 1.map map是将源JavaRDD的一个一个元素的传入call方法,并经过算法后一个一个的返回从而生成一个新的J ...

  7. 芒果TV招聘研发工程师(JAVA PYTHON),地点长沙

    长沙芒果TV招聘高级 JAVA Python 工程师,工作地点:湖南广电   有兴趣的邮件0xmalloc@gmail.com; zealotyin@qq.com 公司有一大批从北京上海一线互联网企业 ...

  8. paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较

    paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较 ##java ----------- 在JDK1.7中,摒弃了Java集合接口的实现类,如:Ar ...

  9. paip.复制文件 文件操作 api的设计uapi java python php 最佳实践

    paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi   copy() =====java的无,要自己写... ====php   copy ...

随机推荐

  1. windows安装Oracle10G

     1.解压文件10201_database_win32.zip.并双击解压文件夹下的setup.exe,出现安装界面,例如以下: 输入口令和确认口令.如:password,点击下一步,出现例如以下 ...

  2. 【值转换器】 WPF中Image数据绑定Icon对象

    原文:[值转换器] WPF中Image数据绑定Icon对象        这是原来的代码:        <Image Source="{Binding MenuIcon}" ...

  3. QT实现鼠标钩子(使用SetWindowsHookEx安装mouseProc函数)

    HHOOK mouseHook=NULL; LRESULT CALLBACK mouseProc(int nCode,WPARAM wParam,LPARAM lParam ) { if(nCode ...

  4. WPF 使用Propereties:Resources.resx里面的资源

    <Window x:Class="Wpf180706.Window7"        xmlns="http://schemas.microsoft.com/win ...

  5. 关于QSocket的释放的一个需要注意的情况(必须先断开连接)

    最近在用QtNetwork编写服务器程序进行TCP/IP通信,大体过程如下: 1. 创建一个QTcpServer实例,监听目标IP和端口: 2. 一旦监听到有连接,获取和客户端之间的socket: 3 ...

  6. rdlc水晶报表在wpf里的使用

    1引用程序集 Microsoft.ReportViewer.WinForms 2 xaml 命名空间 xmlns:rv="clr-namespace:Microsoft.Reporting. ...

  7. mingw 构建 mysql-connector-c-6.1.9记录(26种不同的编译错误,甚至做了一个windows系统返回错误码与System V错误码的一个对照表)

    http://www.cnblogs.com/oloroso/p/6867162.html

  8. Quora的技术探索

    关于问答类的应用,最早接触的是stackoverflow和知乎 ,而Quora作为知乎的原型,因为其创始人来自FaceBook而吸引了我.事实上关于Quora的技术分析,冯大辉和陈皓都已经有所详细的阐 ...

  9. API HOOK介绍 【转】

    什么是“跨进程 API Hook”? 众所周知Windows应用程序的各种系统功能是通过调用API函数来实现.API Hook就是给系统的API附加上一段小程序,它能监视甚至控制应用程序对API函数的 ...

  10. WPF使用Font-Awesome字体

    官方网站:https://fontawesome.com/ 使用教程: 学习WPF——使用Font-Awesome图标字体 - liulun - 博客园https://www.cnblogs.com/ ...