这门国产编程语言,确实很棒!
发布于 2021-11-04 14:01 ,所属分类:软件编程学习资料
大家好,我是张巧龙,今天和大家聊聊一门新兴国产编程语言—Go+,
/*声明*/
每个编程语言都有其优缺点,本文并未通过贬低其他编程语言来凸显Go+的优势,相反,Go+也有其缺点。
01
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
2007年开始设计Go,2009年推出,成为开放源代码项目,在Linux、Mac OS X、Windows系统均可实现。
Go语言是一个跟C、C++、Python、Java类似的计算机编程语言。规则简单,统一,优雅,吸收了若干编程语言的优点,解决了C,C++, Python等语言一些固有的难点问题。
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。
与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。
02
2020年,在Go语言的基础上,Go+诞生了,创始人叫许式伟,听这名字就知道是中国人,所以说Go+是一门国产语言也不为过。虽然衍生于开源的Go基础上。
2020年,Go+的定位是数据科学领域,由于兼容 Go,继承了Go的开发理念,同样适用于大型软件工程的开发。
Go+的出现并非想要完全代替Go,而是在Go基础上添加新元素,打造出一门更加强大的编程语言。
2021年, Go+ 的最新slogan 「for engineering, STEM education, and data science」,它是三位一体的。
Go+:融合工程开发的Go、数据科学领域的Python、编程教学领域的Scratch,以Python之形结合Go之心,让工程师处理数据不需要学习新的语言。让初学者学习编程、完成开发的门槛更低。
Go+非常有成为未来流行语言的潜质,在STEM教育领域中并没有很强大的对手。按照目前的编程人才培养方式,需要多门语言,第一门往往是Scratch,但Scratch是单纯面向编程教学的,不足以培养工程人才。
03
Go+有着C、C++、Java、Python等的优点。
(1)简单化,低代码化,去复杂性,低龄化
语法简单,容易上手
去工程化(不需要定义),抛出掉复杂的定义,直接使用
强化每行代码的能力,不同的编程语言完成同样的功能,Go+所需的代码量更少。
(2)与Go相比。
前文有提到Go的优点,但Go+与Go仍有很大的不同。
Go+首先是一个静态语言,且语法完全兼容Go,但在形式上,Go+可能更像脚本语言,跟Python一样有同样低的学习门槛。
用最简练的表述来说:它有Go之心Python之形,能够做到低代码、低上手门槛,使得Go+使用门槛是低的,但又具备静态语言的高运行效率。
最终希望面向编程教育、工程开发与数据科学,形成数据科学家与工程师互通的培养体系生态。
(3) 兼容Python。
前文我们提到过Go+其中的一个定位是data science,我们都知道,在做数据这块,Python是使用最多的。
Go+ 2.0将会尽可能引入兼容Python,完整的引入Python生态。
与 Python相比,Go+在语法表达方式更接近于自然语言,有理数表达更贴近数学的表达方式;
Python是数据科学,但Go+不止于数据科学,也可应用于大型软件工程开发,工程能力更强。
在人人都学Python的时代,顺带手学学Go+,我觉得可以
......
相关优点还有很多,比如Go支持并发,C++需要支持第三方框架才能实现并发功能。
还有一个,必不能忽视。
对初学者足够友好,为什么这么说?
据媒体报道,Go+创始人许式伟每天都在家教自己孩子学Go+,已经开始卷起来了
连8-10岁的小孩子都可以上手,难道还不友好吗?
04
本文仅在讨论Go+这门国产语言的优点,虽然Go+是在开源的GO语言基础上衍生的,但国产语言还是需要支持的。
每个编程语言都有其优缺点,本文并未通过贬低其他编程语言来凸显Go+的优势,相反,Go+也有缺点。
比如,在特定的高质量的C++程序运行效率肯定高于Go+。
萝卜青菜,各有所爱,Go+,我觉得可以尝尝,万一对你的口味呢?
点击,跳转到Go+的Github仓库
相关资源