大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。
这是我在 GopherCon2018 拿到的吉祥物。说实话,论萌,Go语言社区萌得过分了。
Gopher 在英文中是土拨鼠,Go语言的吉祥物恰好就是个土拨鼠。然后词中也有“Go”,感觉很精妙。全世界的土拨鼠团结起来,你觉得可以打败两条大蛇吗?
全职使用 Go 语言是从 2018 年中开始的。
每个语言都不其擅长与不擅长的。虽然都是通用语言,也就是说,各种任何都可以办到。但是在软件工程中,“办得到”是个基本要求,“容易办”和“办得好”才是重点。
所以,一般我在讨论说哪个语言好或者不好,并不是说这个语言在所有情况下都好。甚至不是说在大多数情况下好。一个语言只是一个工具。这个工具能够将你所专注的那个问题解决得很好,就很圆满了。
Go 语言被创造之初就是为了来写服务器、云、后端这种门类的软件的。所以它注定会在并发、内存效率、build 和部署上相比很多语言略胜一筹。(我这里就不说哪些语言在这方面不太行了吧)
但是反之、它可能就在元编程、对复杂业务逻辑进行建模(OO?)上面稍逊风骚。
这两点几乎是没有争议的。
只是,作为一个后端工程师来说,我个人愿意用一定的语言特性缺失去换取系统的整体表现。因为 Go 所缺少的特性通常不是我所需要的,Go 表现出色的特性却正是我所需要的。这都是一个取舍问题。
所以,同学们在选择用哪个语言来书写项目时,要先考虑项目本身的特性和要求,再选择工具。而不是反着来。如果一个工程师因为只会 Python,所以就什么都用 Python 做,这难道不是一个愚蠢的行为吗?当然,如果因为时间确实太紧了,没有时间去做技术调查和学习,那也是不得已而为之。可是,一个优秀的工程师需要全力以赴地避免“不得已而为之”的情况。
从第一天起我就慢慢地在搜集整理 Go 语言的学习资料,也在自己制作。
一开始我还是以视频为主,但是有同学提意见说能不能有文字资料。我觉得很有必要。不过,手把手的教程我还是会主要用视频来做。而文章会专门选一些话题或者问题来探讨。
目前还没有任何文章,不过你要是有任何疑问,欢迎留言。我会尽量回答的。
space.bilibili.com/16696495/ch…
www.youtube.com/playlist?li…
github.com/CreatCodeBu…
space.bilibili.com/16696495
www.youtube.com/channel/UCH…