大家好,我是码农先森。

树挪死,人挪活,这个需求我做不了,换个人吧。大家都有过这种经历吧,放在编程语言身上就是 PHP 不行了,赶紧转 Go 语言吧。那转 Go 语言就真的行了?那可不见得,我个人认为这只是一种缓解焦虑转移注意力的方式罢了。有些朋友想尝试转 Go 语言或者正在路上了,在这个过程当中都会遇到思维转换的困境,这种困境往往就是编程习惯的路径依赖,总是会以 PHP 的编程思维去学习 Go 语言,这样的学习方式也造成了很多人在 Go 语言的学习道路戛然而止了。

困境

困境一词在大家的编程生涯中应该不止一次出现了吧,每天解决无数的 Bug 也就相当于无数次从困境的泥潭中脱出。那么这一次我想说的是 PHP 程序员转型 Go 语言的困境,结合我自己的认知我个人认为有这么几点。

首先在这个浮躁的社会面前,我们每天都面临着各种各样的问题,尤其是很多人总是唱衰 PHP 不行了,在这种情绪的传播下,有些人开始像无头苍蝇一样寻求转型的突破口,一会看看 Java 一会又看看 Go,结果呢一个也不能学有所成,这种急迫的转型心态往往都是以失败而告终。

其次传统的编程思维路径依赖,这个观点在刚开始也有提到,作为世界上最好的语言 PHP 上手简单编写效率高,实现的效果所见即所得,我们长期在一种编程模式下形成的习惯,以人性的角度来分析就是一旦形成相应的习惯便很难改变,我经常看到有些 PHP 程序员写的 Go 代码无时无刻都充满着一股 PHP 味,这便是路径依赖带来的结果。

最后据我了解大部分的 PHP 程序员都是半路杀出的程咬金基础知识薄弱,通过炼就了某某七天入门、三十天精通 PHP 的宝典教程,而误入了 PHP 的编程大家庭,在 PHP 的编程世界里自由的翱翔如鱼得水,成为了 PHP 界的一名 CURD 靓仔,然后满怀自信的去学习 Go 语言,结果由于基本功不扎实遇到 Go 语言中的指针、协程、通道、切片等特性就一脸懵逼,最终落荒而逃。

建议

既然有了困境,那么还是得想方法解决,才能走在转型 Go 语言的正确道路上。鲁迅先生曾说过「世界上本就没有路,走的人多了,自然就有路了」。

我们可以沿着别人走过的路走,也就是说我们可以寻找一名已经学有所成的 Go 语言小伙伴,跟随着他的脚步脚踏实地的学习,一步一步的模仿,模仿也是最好的学习方式之一。我们工作在一个内卷的职场,每天都浮躁于心,因此需要有一个确定的学习目标,不要东想一个西想一个,今天这个好学这个,明天那个好又跑去学那个,其实保持住一个稳定的目标和良好的心态,就已经成功了一大半,别像某些演员拍电视剧,永远都活不过第一集。

对于那些半路出家的 CURD 靓仔们,虽然你们现在过得潇洒自在,但还是建议多学习下计算机基础知识,比如操作系统、网络协议等,当你们那天面临着内部转型 Go 语言也能有所应对,因为我也听很多的朋友说自己公司都在尝试往 Go 语言方向转型,这也是一种趋势,雷军也曾说过「站在风口上的猪都能飞」,因此我们要顺势而为积极应对。

结语

在转型的困境下我们不应惧怕,但也不能盲目大意。学习的道路总是艰难而漫长的,因为学习本身就是逆人性的成长,要攻克人性并非易事。最后希望大家的转型之路能一切顺利,条条大路通罗马,每个人都是与众不同的个体,都有自己独特的学习之路,愿大家都能走在正确的道路上,一路长虹!本次分享内容就到这里了,希望对大家能有所启发。

感谢阅读,个人观点仅供参考,欢迎在评论区发表不同观点。


欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。

为什么大部分的 PHP 程序员转不了 Go 语言?的更多相关文章

  1. 能让你成为更优秀程序员的10个C语言资源

    能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...

  2. C语言过时了?为什么还要推荐每一位程序员都来学一下C语言?

    互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢? 就让我来跟大家分享分享:   在学习C/C++或者想 ...

  3. 2017年 Java 程序员,风光背后的危机

    不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨 ...

  4. 996.icu,不加班的程序员有前途吗?

    一.有没有不加班的程序员? 有,我就是. 我目前工作与一家500强外企(欧美),职称为高级软件开发专家. 我在这家公司(500强外企)已经服务了10年,所有加班次数合起来不超过10天,最近3年则一次都 ...

  5. Java程序员的成长之路

    阅读本文大概需要 8.2 分钟. tips:虽然题目是写的Java程序员,但对其他语言的开发来说也会有借鉴作用. 本篇介绍的是大体思路,以及每个节点所需要学习的书籍内容,如果大家对详细的技术点有需要, ...

  6. PHP程序员的能力水平层次(二)

    PHPer的定义:PHPer是以PHP程序编写为主要工作,其他方面略有涉及的一种职业人士,大家所说的程序猿. 对PHPer的等级划分 PHP 爱好者 (半个PHPer) PHP 初学者 (PHP Be ...

  7. UNIX/Linux C 程序员需要掌握的七种武器

    我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练 ...

  8. C程序员必读的 3 本书

    C程序员必读的 3 本书 原创: Martin 老师  公众号:零基础零障碍学习C语言 勿用质疑,今天来看这篇文章的朋友都是准备学好C语言的朋友,大家想学好C语言的迫切性,就好比Martin老师等着元 ...

  9. C语言程序员必读的5本书

    本文由 伯乐在线 - programmer_lin 翻译自 fromdev.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“.海明威一定 ...

  10. .Net程序员玩转Android系列之一~Java快速入门

    前言 前段时间受公司业务发展需要,探索性进入Android开发领域.一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时 ...

随机推荐

  1. xxlJob需要拆分开来,不用公用同一个jobHandler

    xxlJob需要拆分开来,不用公用同一个jobHandler 不能使用同一个jobHandler,通过使用不同的任务参数来定义两个不同的job,实际在xxlJob中使用jobHandler来注册的.解 ...

  2. JSR303数据校验使用方法记录

    JSR303并不对应着指定的jar包,而是一种规范,目前hibernate-validator是使用最多的是基于JSR303规范的实现 本文不适合新人观看,要求至少要知道使用方法 Springboot ...

  3. NetMvc通过亚马逊方式服务器端和客户端上传MinIO顺利解决

    前言: 1.由于项目是.NET Framework 4.7 MVC LayUI,所以需要找一个资源站点存放项目中静态资源文件: 2.需要支持服务端和客户端都支持上传文件方式: 3.调用简单,涉及库越少 ...

  4. Jenkins从github拉取项目,github有更新,自动进行构建,实现自动集成

    使用git之前的准备工作 1. 搭建Jenkins的机器上,有安装git,配置git的安装地址,Jenkins配置Git的安装地址 2. Global Tool Configuration - > ...

  5. pytest_重写pytest_sessionfinish方法的执行顺序_结合报告生成到发送邮件

    背景: Python + pytest+pytest-testreport生成测试报告,到了生成报告之后,想要发送邮件,之前的方案是配合Jenkins,配置报告的路径进行发送 如果是平时的跑的项目,没 ...

  6. 使用iperf3调试网络

    介绍 Iperf是一款基于TCP/IP和UDP/IP的网络性能测试工具,它可以用来测量网络带宽和网络质量,还可以提供网络延迟抖动.数据包丢失率.最大传输单元等统计信息.网络管理员可以根据这些信息了解并 ...

  7. 含税仅498元起!复旦微ARM + FPGA SoC全国产工业核心板,性价比真高!

     

  8. (sql语句试题练习及 参考答案解题思路+个人解题思路)

    SQL字段说明及数据 ======================================================================= 一.部门表字段描述:dp_no 部 ...

  9. HTTP 和 HTTPS,为什么HTTPS安全?

    HTTP协议通常承载与 TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS 默认HTTP的端口号为80,HTTPS的端口号为443 因为网 ...

  10. 如何应对红帽不再维护 CentOS

    CentOS(Community Enterprise Operating System,社区企业操作系统)是一种开源的.免费的操作系统.由 Lance Davis 发起,通过社区驱动,目标是创建一个 ...