我为谁写作? 对于那些用php(也许还有python,ruby)编写并且听说过Go的人,但尚未决定对其进行详细研究。 我将说明为什么值得学习这种编程语言以及为什么Web开发中存在未来的原因。
我写PHP已有12年了,它是一种出色的编程语言,整个Internet上90%的网站都是用PHP编写的。 几乎每个流行的CMS都是用PHP编写的。
为什么我切换(或更确切地说,切换到Go)?
多线程
原则上,这里的一切都很清楚。 多线程为编程语言提供了巨大的好处。 在Go中,多线程的实现非常简单且富有表现力。 在下一段中,我将揭示影响站点开发的好处。
环境
我需要在php中筹集一个常规站点吗?
在Linux上的服务器上,安装Nginx,有时是Apache,安装PHP,扩展,数据库,Memcache,配置Cron。 为了避免维护服务器,我将所有内容都放入了Docker中。 这就是我的常规Docker PHP项目的样子。

熟悉吗?
在Go上建立常规网站需要什么?
在Linux上安装Server并安装Go。 仅此而已。 很酷 这是因为Go是多线程的,并且任何功能都可以移至单独的流,例如Web服务器,微服务,队列,表冠等。 基本套件中已经实现了许多功能。
我的Go专用Docker项目的样子如何? 实际上,它根本不存在。 我将Docker文件与站点或服务代码直接放在文件夹中。 如果该站点还有其他微服务(例如,用于处理队列),则其Dockerfile会与该服务一起放置在文件夹中。

入境门槛
学习围棋语言很容易。 您可以在几个小时内浏览所有文档,并且无需加深了解语言的原理。 我认为Go是流行编译语言的最短文档。
在官方网站上,您可以进行
学习之旅 ,以揭示该语言的所有方面。
在很短的时间内加深您对专业人士的理论知识。 我推荐
YouTube上Mail.ru提供的课程 。
代码可读性
您是否打开了别人的代码,模块,插件等? 而且您了解您一无所知。 并且为了理解复杂性,您至少需要通过调试来遍历主要代码。
在大多数情况下,在Go中打开一些激烈的代码来包含200个文件和每个毛巾代码文件,您惊讶自己能够理解它。
集成开发环境
在PHP和Go下用JetBrains IDE编写是完全不同的事情。 自动补全功能在任何地方(99%的情况)都可以使用。 您可能会以任何方式失败!
根本没有刹车。 一般来说,用单词很难描述,需要尝试。 当您开始在Goland中进行全面写作时,您会了解到您不再想回到PhpStorm。
前一年,我询问了德米特里·斯托戈夫(Dmitry Stogov)有关计划在PHP中引入“本机”多线程的信息,看来我们看不到它,但这很可惜。
调试与测试
许多PHP开发人员根本不使用调试功能,因为它需要作为扩展单独安装,也需要正确配置,而且很多人都不会打扰并使用页面输出。 在Go中,调试是内置的,实际上,您不必弄清楚调试是如何工作的,如果使用IDE,只需放置一个断点并启动程序即可。
通过测试,事情几乎是相同的,您不需要将整个框架连接到项目,它已经内置在基本软件包和IDE中。
性能表现
就执行速度和内存消耗而言,Go比PHP快得多。 当然,比较它们是不正确的,因为Go是一种编译语言。
关于哈布雷的生产率比较有一篇很好的文章。 例如,我在一个完整的Docker环境中拥有一个Mirkoservice,该环境曾经占用100-200 mb的RAM,而切换到Go则需要1-2 mb。 速度的提高是2-5倍。
总结
我喜欢PHP,并将继续根据需要编写它,但是Go对我来说是发展的延续,如果我从头重写PHP,它将成为Go语言。