七牛云CEO许式伟:Go+语言的三位一体与三个阶段
发布于 2021-11-04 14:47 ,所属分类:软件编程学习资料
出品 | 零壹智库
作者 | 周昱
随着科技时代的到来,掌握一门甚至多门编程语言逐渐成为学校和职场的重要技能。编程语言(programming language)是用来定义计算机程序的形式语言,一般以语法和语义进行描述。在历经机器语言、汇编语言时代,编程语言从1957年至今处于高级语言时代。21世纪八九十年代,C++、Python、Java等语言崛起并走向主流。但这些主流的通用语言都存在一定短板:Python存在脚本语言的局限性;而如C、C++等静态语言学习门槛高。为了使语法精简、易学,Google团队在2009年发明了Go语言。在随后十年内,Go语言在中国广受云厂商青睐,甚至成为字节跳动、B站等科技公司的主流语言。
“Go主打后端编程领域。现在云计算的基础设施基本使用Go编写,如Docker(注:一个开源的应用容器引擎)、Kubernetes(注:一个开源的、用于管理云平台多个主机上的容器化的应用)。”上海七牛信息技术有限公司(简称“七牛云”)CEO许式伟在近日接受零壹财经访谈时说,“Go对于服务器开发是尖刀,但在别的领域却不擅长。”为了使Go更精简、更具生命力、更适合大型软件工程开发,许式伟及其团队于2020年7月正式推出了Go+,并在2021年10月发布Go+1.0版本。
据许式伟介绍:“Go+是集Engineering(工程开发)、STEM education(科学、技术、工程和数学四门学科教育)和Data science(数据科学)‘三位一体’的通用语言。伴随场景落地,Go+1.0版本将打造‘从工程与STEM教育的一体化开始,构建工程师培训体系’。”
在10月15日七牛云主办的Go+1.0发布会当天,零壹财经围绕Go+的设计初衷、使用场景和未来发展对许式伟进行了访谈,以下为主要访谈内容。
Go+的诞生与雄心:欲以通用性、低门槛、开源等特性占领开发者入口
零壹财经:根据您之前的一些经历,您在建立金山实验室选择JAVA为主体语言;在2009年进入盛大创新院您选择了C++作为开发语言。2011年,您在创办七牛云的时候坚持选择了Go语言。作为圈内公认的语言专家,请问是什么触动您发明Go+这一全新的语言?
许式伟:首先,发明Go+与公司定位有关。作为一家PaaS公司,七牛云的用户客群为以语言、数据库等为生产力工具的开发者。我们选择以受众最广的语言切入,通过Go+触达目标人群进行转化,最终占领开发者入口。其次,以往普遍的认知是编程语言仅适用于工程师用。我们可能是业内唯一认为语言应当具备普惠性,应当所有人哪怕是小学生都要“提笔就能写”。最后,语言应当具备很强的适应性,无论小型还是大型的程序都可以很好地满足。
零壹财经:由于Go+是基于Go开发的,那相较于Go 以及去年发布之初的Go+,当前 Go+ 1.0实现了哪些优化呢?
许式伟:首先,我们需要了解一下背景。Go语言在2009年由全球最牛的云技术公司之一Google推出。它的出现主要为了解决企业自身的问题,并没有在市场化上做太多努力。Go主要面向工程师,设置了很多工程约束,对初学者不是很友好。Go+虽然基于Go开发,两者皆为静态语言,但主要的差别是Go+隐藏了工程的复杂性,在表达的外观上具备脚本语言的特性。需要特别说明的是,脚本语言门槛低,适用于编写小型程序;相较于脚本语言,静态语言更有利于工具做静态分析、有利于性能优化及大型工程的构建等。
去年发布之初的Go+,更多的是处于概念设计阶段,让大家理解Go+大概会长什么样子的,通过它去探索Go+未来发展的各种可能性。而今天的Go+ 1.0,它已经能完美地兼容Go,使用门槛也进一步得到了降低。另外,更重要的是Go+1.0它自带了兼容Scratch的引擎,可应用于游戏、教育等场景。
Go+“三位一体”:已继承Go的工程能力,现阶段抓紧STEM教育颠覆性变革的时间点
零壹财经:正如您刚刚提及的,Go+经过一年多的研发迭代,现在已经可以应用到教育、游戏方面的场景。那么Go+1.0版本的Slogan做了升级,提出了 “工程开发、STEM教育、数据科学‘三位一体 ’”的概念。请问Slogan升级的原因是什么?业务重点将会有所侧重吗?
许式伟:Go+的愿景是“三位一体”,即融合工程开发的Go、数据科学领域的Python、编程教学领域的Scratch,以Python之形结合Go之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低,让任何商业、组织、个人的决策,都可以受益于数据科学的进步。
上述三个领域都很重要,只是不同时期的建设重点不同而已。Go+三位一体分为三个阶段:第一阶段,Go+实现工程能力,这通过兼容Go实现。由于Go的语法特性是最小化的,Go+现阶段已经比较完整地继承Go的工程能力;
第二阶段,Go+1.0实现STEM教育和游戏开发。目前,STEM教育除了想要打造成为中小学生的第一种编程语言,还将拓展至职业培训。这些领域离我们当前的资源最近,可以产生颠覆性变革的机会点。我们通过教育培训,让更多的人认识并使用Go+;
第三阶段,Go+2.0实现在数据科学领域的应用。该阶段的难点是:第一,Go+数据科学生态构建需要时间;第二,Python在开源界享受的资源包是其他语言无法企及的。预计在2023年,Go+2.0将支持导入Python包。
零壹财经:目前,七牛云在积极推动工程与STEM教育一体化,请问这是基于什么考量?目前进展如何?
许式伟:我们希望跟更多的合作伙伴一起构建Go+工程师的培养体系,包括STEM教育和职业教育。我们自己现阶段会专注于让Go+成为中小学生学习的第一门编程语言上,同时也会联合合作伙伴对大学生、职场人群进行Go+培训。
在我看来,STEM教育本质是“人人都应该学编程”的普惠教育。七牛云充当赋能教育机构的角色,我们自己不会成为培训机构。以有英语背景、有基础逻辑的中小学生为对象编写Go+教案并提供给老师。通过老师的引导,中小学生能够在很短的时间内学会编程。在Go+1.0贡献团队中就有一位12、13岁的小朋友写了近一半的小游戏。
这个逻辑同样适用于低门槛、低代码的工程能力等领域。如今,低代码需求远远大于专业领域的需求。除了传统的大型工程的开发需要大量的非常高门槛的能力之外,新增的需求都是低代码的需求。比如数据科学家主要使用数统类工具进行商业分析,相对来说工程能力的要求其实不高,所以他们乃至整个社会都对低门槛工程的语言工具有一定的诉求。
End.
来个“分享、点赞、在看”
相关资源