Asta 谢:让你最爱的人用Go语言,让你最恨的人去创业

2024-03-03 17:40
文章标签 语言 go 创业 人用 asta

本文主要是介绍Asta 谢:让你最爱的人用Go语言,让你最恨的人去创业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

Asta谢

在国内提到Go语言就不得不提到一个人——Asta谢,凭借一已之力从无到有打造了全球最大的Go语言开发者社区的男人。从5年前的第一次Gopher China大会,到现如今被Go官方盖章认证的全球最大Go语言社区,很难想像这些仅仅是创业之余的兴趣爱好。

从开源的beego框架到《Go Web 编程》无不为Go语言的功能完善和布道推广发挥了重大价值。而在Asta身上依然保持着中年人少有的少年感,对创业的热情,对技术追求的极致,对新鲜事物的好奇心。现如今,加入到创业大军中的Asta,不同于众多技术创业者在互联网科技领域的突破,选择了以科技创新推动产业的互联网转型升级之路,究其根本竟也是怀有改变国内落后工业现状的梦想。

这篇专访带我们走进中国Go语言界彼得潘的世界。

关于 Go

01

最初是如何接触到 Go 的呢?在使用 Go 之前都写过哪些语言,他们的优缺点是什么?

最早接触到 Go 是2010年的时候,那个时候正好机缘巧合的在找谁能替代 C 语言的文章,发现了这方面的一篇文章是介绍 Go 是如何快速开发并保持 C 的性能,所以那个时候就开始接触Go,我记得那个时候的版本是r57,开始尝试写 Go 语言替换一部分 C 语言的任务。

在写 Go 之前我主要是使用 PHP + C 语言,大部分的时候是用PHP,那个时候我是 FleaPHP 的核心团队成员,在公司里面也是采用 FleaPHP 构建了我们整个业务平台,但是由于 PHP 并发性能方面的因素,写了一部分的 C 组件来优化性能。

PHP 确实写业务逻辑非常快,而且那个时候我们的 FleaPHP 框架非常给力,业务实现真的是非常快,但是遇到的问题就是 PHP 在高并发的情况下很难进行优化,还依稀记得当时有一个业务并发问题三天没睡觉去优化服务器,写了很多 C 的插件去优化一些并发要求很高的业务。C 语言就是对我们程序员要求太高了,就只记得malloc、free等,维护成本也很高,所以经历过那个痛苦阶段之后就开始找有没有一种语言可以集成两者优点的语言,正好就接触到了 Go。

02

目前很多大厂和创业公司都在拥抱 Go ,你觉得 Go 语言在大厂和创业公司的优越性分别是什么?

我觉得不管大厂还是创业公司大家都享受到Go的优越性,首先目前云原生生态里面 Go 语言已经完全统治,公司可以直接享受这个生态带来的好处,其次主要还是性能、部署便利和开发快捷等特性给公司带来的成本上面的节约,同时给很多程序员带来了很多编程的乐趣,有利于公司留住人才,前一段有一个公司的老板和我聊天,说他们公司主要是用Python,有一个员工向他提出离职申请,因为那个员工觉得 Go 才是未来云时代必须拥有的技能,所以想去一家用 Go 的公司,让我很是诧异,所以不管大厂小厂用 Go 可以天然的就带上云生态的光环,也帮助企业留住人才提供了很好的天然优势。  

03

目前 Go 语言更新的版本中,哪个特性是你最看好的,理由是什么?还有哪些不足是你希望后续能持续改进的?

我觉得WebAssembly的支持是最看好的特性,因为现在越来越多的 Go 项目是后端的,但是要是能把这些特性运行在浏览器上面,那肯定会有更广阔的市场,之前PingCAP分享了一篇文章,他们把他们的数据库跑在了浏览器里面,就是充分的利用了WebAssembly 的特性。而为WebAssembly可以更好的支持Go一直比较缺失的GUI领域,这一块用户群体更大,例如这个项目就是在用 Go 构建UI https://www.vugu.org/。

很多人可能会说错误处理,泛型等特性,但是我自己觉得 Go 可能应该更多的时间花在提升性能提升。最新发布的Go1.14 里面针对defer、time.Timer等性能的提升我觉得就非常好,而且我也认为Go Team在接下来几个版本还是会持续在runtime层面做更多的优化提升。

04

你觉得Go的下一个风口在哪里?

我觉得可能在两个方向上面都有可能,一个是IOT领域,一个是浏览器端应用,IOT领域目前我看到有边缘计算开源kubeedge,国外还有一个gobot的项目支持很多IOT设备,这一块很有可能会走出来一个生态项目。浏览器应用我觉得还是上面 WebAssembly 特性的拓展延伸,这个里面特别容易出爆款项目,很多新的idea会在这个里面实践。

05

最近有没有看到让您眼前一亮的 Go 的项目?

tinygo这个项目:

https://github.com/tinygo-org/tinygo

我第一次听说这个项目是GopherChina大会上面 Dave 告诉我的,当时我们公司想在树莓派上面做一些IOT方面的应用开发,又期望能够支持Go,正好一起聊起来这样的诉求,看到tinygo就感觉这个项目很有前途,因为越来越多的人参与到 IOT 设备开发里面来,而很多人也希望把Go跑在这个板子上面。好消息是最近Google官方支持了这个项目,也就是有了大后方支持了,后面说不定会成为 Go 的另一个分发。

关于创业

01

回答一下上一位受访 GVP 刘奇的问题吧:创业后的感受是怎样的?

没事别想不通来创业,但是创业让一个人的成长变得非常快,之前是一个程序员,现在变成一个CEO,思考方式完全不一样了,以前想着怎么写出来更好的程序,实现功能,现在想着是怎么养活一个团队,怎么样发展好公司、做好产品卖给客户产生价值。

02

你为什么出来创业做工业互联网而不是技术产品类,像云计算组件之类的?

出来创业之前其实想过两个方向:一个是沿着之前的Go开发框架方向做一个类似Spring的创业项目,一个是想随着Apple做的制造相关的项目,后来想想第一个我之前接触过了,感觉做的再成功也就是解决了技术人开发的问题,但是第二个我可以帮助到很多中国的制造业,说白了市场更大、成就感更足,但是困难也是最大,我就是喜欢挑战最大困难的人,现在就是在接受这个挑战过程中,痛并快乐着,每次看到帮助到制造业客户拿到订单、解决内部制造交期、质量等问题,内心无比骄傲。

但是选择工业互联网,从事的还是技术产品,我们现在用Go语言实现了整套的工业互联网平台,从IOT数据引擎、数据处理、流程引擎、应用开发等各方面都采用 Go 全新开发,目前已经服务了大批中小企业,也服务了像上汽、航天科技、华峰集团、核工院等大企业。

03

如何平衡创业和社区运营的关系

说实在的挺难平衡的,我目前120%的时间都是花在创业上面,基本上算是007的节奏,社区这边目前我就是逐步的在建立起来一套机制,怎么样让社区自运转,通过社区的人一起把社区建设好,所以今年最大的目标就是实现这个:所有人服务所有人!

04

向你感兴趣的下一位 GVP 提个问题吧

请教一下毛剑,B站如何一步一步从其他语言转到Go语言的,分享一下经验给其他公司做一个参考。

关于 Go 中国社区

01

当年为什么会想要发起 Go 中国社区?

最早还没有想到要搞 Go 社区,当初也是 Go 开发爱好者,想着在上海的一些 Gopher一起聚一聚,所以当时就在上海包了一个咖啡厅,第一次拉着七牛 CTO韩拓、道哥一起搞的第一次线下meetup,差不多有30几个人来参加,大家都是各自分享了各自的项目,我分享了一下beego的设计之类的,气氛融洽、交流了很多项目实战,记得还吃了个晚饭,忘记拍照了(????)

后来我就出国去了,那个时候在新加坡碰到了一批Go爱好者,特别是高超,咱们就一起去新加坡Google总部搞了一次新加坡的线下meetup,我也是第一次参加国外的这种meetup形式和方式,感觉很亲切也很flexible,后来和曹同学一起参加过好几次新加坡的线下技术meetup,在那个氛围之内确实很能启发大家的思考,也能体会到学习交流的乐趣。

说到发起 Go 中国社区就是回国之后发现国内线下交流的氛围不足,所以就想着要不就搞一下第一次的GopherChina大会,那个时候就找了老许一起讨论说要不要咱们搞一次线下的大会,我就去联系了Go 三大作者之一的Robert来中国分享,Robert很爽快的答应了,这样就开始搞起来了第一次的大会,第一届大会非常火爆,完全出乎我的意料,也就是那个时候开始感觉Go在中国真正火爆起来了。

后来就开始做微信公众号(Go中国)、发起了GopherChina社区(https://gocn.vip) 、GopherChina大会,Gopher Meetup等各种线上线下的活动,第一实现我们当初成立社区的目标:宣传Go,让更多的人知道和使用Go。第二让中国的Go开发者链接世界。

02

社区运营过程中最有成就感和最困难的事是什么

社区运营最有成就感是社区帮助到了很多Gopher,还有就是来自社区Gopher的认可和表扬,我开心的时候是遇到一个人和你说:“Asta,你的社区带我入了Go的门“,“Asta,你们社区的很多分享让我见识了Go的应用之广”,“Asta,社区的很多资料对我学习带来了很大的帮助”,诸如此类的话对我是最大的认可和激励。

遇到最困难的事情就是要搞持续不断的付出时间来运营,大家也知道我这两年开始创业了,其实时间真的非常少,这里就要感谢社区里面所有热心的Gopher们,是你们一起把社区支持下来了,而且是真的越做越好,GoCN新闻小组的同学坚持了三年一天不拉的发新闻,GoCN翻译小组同学抽出休息时间给大家带来国外最新的咨询,Go中国公众号运营小组给我们社区带来最实在的干货,所以说困难都是相对的,只要有你们的支持,我相信社区的明天会更好。

03

Go中国社区的愿景和发展规划是什么

Go 中国社区的愿景是成为全球上最专业、最活跃、最有趣的Go社区。我其实还想加一句成为最有艺术设计的社区(大家想想我们每一年的GopherChina吉祥物????)

接下来Go社区的主要发展规划是为Go开发者打造全方面的线上线下分享、学习平台。现在特殊时期,导致每年四月定期和 Gopher 们的大聚会——Gopher China 推迟到了今年下半年,但是我们会用其他形式来陪伴大家——下周我们会公布一档非常有趣的线上直播栏目“Mr.Go 的会客厅”,大家尽请期待。

聪明又努力的 Gophers,让我知道你“在看”

这篇关于Asta 谢:让你最爱的人用Go语言,让你最恨的人去创业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/RA681t58CJxsgCkJ31/article/details/104549077
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/770406

相关文章

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进

$在R语言中的作用示例小结

《$在R语言中的作用示例小结》在R语言中,$是一个非常重要的操作符,主要用于访问对象的成员或组件,它的用途非常广泛,不仅限于数据框(dataframe),还可以用于列表(list)、环境(enviro... 目录1. 访问数据框(data frame)中的列2. 访问列表(list)中的元素3. 访问jav

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的