什么是GO+和GO哪里不一样

什么是GO+和GO哪里不一样

  • GO+由来
    • 01. “源于 Go,但高于 Go”的科学理念
    • 02. 老许最小的 Go+ 学徒
    • 03. 三位一体:STEM 教育,工程开发,数据科学
    • 04. 结尾
    • 安装
    • 测试
  • 后记

GO+由来

2021年 10 月 15 日,在七牛云主办“Go+ Together”发布会上,七牛云创始人兼 CEO 许式伟发布了 Go+ 1.0 版本,并启动了 Go+ 开发者基金。
2011 年的创业大航海时代里,当第一道云计算的浪开始席卷中国大江南北,各家云厂商便纷纷入场。许式伟(江湖人称老许)从盛大出来后,带着几位 Golang 技术专家开始了创业,为刚起步的云端世界打开一扇神秘的语言大门—— Go ,这门语言简洁、高可用的特性,以及在后端各个场景里所展现出来的生命力,让架构师们大开眼界。
来到2019 年,根据 HackerRank 的程序员技能调查,程序员最想学习的编程语言 Top3 分别是 Go、Kotlin、Python,在参与调查的 70000 多名程序员中,想学习 Go 语言的人占37.2%。作为中国 Golang 核心的幕后推手之一,老许让七牛云一度被称为 Gopher 的黄埔军校。
2020 年 7 月,Go+ 项目在 Hacker News 上引起了一阵风潮。按老许的话来说,“Go+ 首先是一门通用语言,理论上你可以用它来解决绝大部分领域的问题。这一点和 Go 也很像。Go 也是一门通用语言,但以 “服务端编程” 为靶心。” Go+ 本身的设计理念也一脉相承 Go 语言的简洁性,并在此基础之上,合理准入简化语法—— 不仅仅是语法,低代码化、去复杂化以及低门槛化都是 Go+ 的核心特性之一。

01. “源于 Go,但高于 Go”的科学理念

一般情况下,Go大多应用于后台系统开发,但伴随着数据爆炸时代的到来,后台系统和 AI 系统之间的界限越来越模糊。在深度学习领域,编译器成为最新的主流研究方向。Go+ 便是在静态语言基础上建设了更为友好的界面及编译策略,可复用现有的 operators 和 gradient operators,深刻贯彻着“简单而有效”的逻辑。
从设计理念上,Go+ 继承了 Go 的开发理念,适用于大型软件工程和工程的开发。不仅完全兼容 Go,复用 Go 的生态,还新增了 12 个语法,简化了使用门槛,表达方式接近于自然语言。

02. 老许最小的 Go+ 学徒

谈到低门槛这件事,老许分享到,在GO+1.0的贡献团队中,还有一个年仅12-13岁的小朋友ken,他已经使用GO+写出了多款小游戏,这也很好地体现出了GO+低门槛的特性。
老许表示,因为 Go 有一些工程性的语法特征,初学者是不易掌握的。Go+ 会把一些复杂性的东西在入门的时候隐藏起来,避免初学者在刚刚学习便接触到工程相关较复杂的东西。“像我现在教小孩子编程也不会太过涉及到如何编写大型程序相关的东西,基本上以基础语法、程序思维的锻炼这些东西为主,不会涉及到太多工程的东西。”
反观今天火热的 STEM 教育,其实与工程界是割裂的。因为不是所有学校的课程设计以及实践经验,都与社会和企业需求完全接轨,所以许多企业在招聘应届大学生的时候非常痛苦,有些孩子是从 Scratch开始接触编程,但Scratch无法运用到工程开发中,这其中耗费了大量社会资源与教育成本。
而Go+ 的出现,让孩子能够更快掌握一门工程语言,这对于产学研三界都是意义重大的一件事。Go+ 作为一种静态语言,既具备了静态语言的要求及延展性,同时隐藏了许多工程性的部分,把学习门槛降到最低,初学者甚至不用学习定义就能快速上手,真正让编程教育与工程开发无界互通。

03. 三位一体:STEM 教育,工程开发,数据科学

随着全球信息的爆炸式增长和数字化进程的不断推进,编程语言需要对海量数据池存储、处理和分析等相关能力的不断迭代进步。
Go+ 的希望在将来进一步降低程序员做数据分析以及算法的门槛,让更多与数据相关的职业用同一种语言去做自然对话。Go+ 简洁的语法,使其表达能力远胜于C, 并且Keyword 总数也远小于 C,编译器对代码的性能优化水平大幅提升,极大简化了编程过程,从某种深度上说,Go+ 也补全了 Python 的生态。
作为完全由国内团队开发的开源语言,Go+ 1.0 提出了“三位一体”的理念,让STEM 教育与工程开发相融合,未来进一步让工程开发与数据科学相结合,有望解决程序员和数据科学家的培养问题,让产学研能够使用同一种语言。
摘句老许的话:软件吞噬所有的行业以后,编程语言或许会成为人类文明的底层基础设施,因为它改变了人类记录工程技术的方式…这意味着如果你不懂编程,很有可能是看不懂未来大部分的知识。

04. 结尾

以老许的话说,Go+ 的愿景是“三位一体”,即融合工程开发的Go、数据科学领域的Python、编程教学领域的Scratch。以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低。
最后,作为中国最早技术创业的人群之一,老许认为,开源是对知识产权最好的保护——它具有巨大的虹吸效用,并对 PaaS 商业层有巨大的想象力。也许,这可能是一位深耕技术领域的创业者的宿命以及开发者能献给这个世界的最大浪漫。

安装

(1)从 Git 官网下载 Git 工具的安装程序,如:Git-2.34.1-64-bit.exe,下载地址:
https://git-scm.com/download/win

(2)查看是否安装成功
Win + “R” 唤出“快速打开”运行框,输入 cmd 进入控制台;输入 git version,输出 Git 版本信息,说明安装成功。

(3)按照官方推荐方法,从源代码安装 Go+。
Win + “R” 唤出“快速打开”运行框,输入 cmd 进入控制台;在控制台用 git 工具安装 Go+:

git clone https://github.com/goplus/gop.git
cd gop
go run cmd/install.go

(4)安装 Go+ 第三方包 builtin
builtin 包是 Go+ 的预声明定义,包括常用的类型和方法声明。Go+ 支持 go mod 功能,可以方便地管理依赖。
但是 Go+ 的第三方包 builtin 必须单独安装,很多教程没有写清楚这个步骤,导致 Go+ 程序无法运行。
而且,朝阳群众睁大双眼,网墙面前 Github 上的 Go+ builtin 包尚未获得入境许可,所以…
于是需要按照以下步骤操作:
1.启用 Go Modules 功能;
2.设置 GOPROXY 代理https://goproxy.io,direct;
3.下载指定的包builtin

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go get github.com/goplus/gop/builtin

测试

test.gop

package main
import "fmt"
func main(){
  fmt.println("hello world")
}

后记

若有什么不对的或者不懂的可以再下方留言讨论!
点点赞,点点关注,再点点收藏,谢谢啦!

你可能感兴趣的:(golang,golang,后端)