大家好,我是码农先森。

树挪死,人挪活,这个需求我做不了,换个人吧。大家都有过这种经历吧,放在编程语言身上就是 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. 哎,被这个叫做at least once的玩意坑麻了。

    你好呀,我是歪歪. 前几天遇到一个生产问题,同一个数据在数据库里面被插入了两次,导致后续处理出现了一些问题. 当时我们首先检讨了自己,没有做好幂等校验.甚至还发现了一个低级错误:对应的表,针对订单号, ...

  2. 你要的AI Agent工具都在这里

    只有让LLM(大模型)学会使用工具,才能做出一系列实用的AI Agent,才能发挥出LLM真正的实力.本篇,我们让AI Agent使用更多的工具,比如:外部搜索.分析CSV.文生图.执行代码等. 1. ...

  3. 对Transformer的一些理解

    在学习Transformer这个模型前对seq2seq架构有个了解时很有必要的 先上图 输入和输出 首先理解模型时第一眼应该理解输入和输出最开始我就非常纠结 有一个Inputs,一个Outputs(s ...

  4. 【资料分享】全志科技T507工业核心板硬件说明书(下)

    目    录 3 电气特性 3.1 工作环境 3.2 功耗测试 3.3 热成像图 4 机械尺寸 5 底板设计注意事项 5.1 最小系统设计 5.1.1 电源设计说明 5.1.2 系统启动配置 5.1. ...

  5. 嵌入式知识分享——GDB程序调试方法说明

    前  言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu 18.04.4 64bit 虚拟机:VM ...

  6. Java 集合框架Collection

    集合容器主要用于保存对象,主要分类有三种List.Set.Map List有序.可重复的集合 常见的List有ArrayList.Vector.LinkedList等类 Set无序.不可重复 常见Se ...

  7. Linux相关知识备忘(随时更新)

    1.dpkg Debian Packager,Debian包管理器.可以方便的对软件进行安装更新和移除. (1)安装 dpkg -i xx.deb (2)卸载,但不删除配置文件 dpkg -r xx ...

  8. [oeasy]python0037_电传打字机_打印头_print_head_carriage_词源

    换行回车 回忆上次内容 上次我们 diy了 自己的小动物 还可以 让小动物 变色.报时 还可以 说些话 这很亚文化 很酷炫的亚文化 不是吗? 回忆一下 最开始 研究报时 的 时候 回到 本行行头 的 ...

  9. 可视化—gojs 超多超实用经验分享(四)

    目录 41.监听连线拖拽结束后的事件 42.监听画布的修改事件 43.监听节点被 del 删除后回调事件(用于实现调用接口做一些真实的删除操作) 44.监听节点鼠标移入移出事件,hover 后显示特定 ...

  10. PowerShell 基本使用

    PowerShell Basic PowerShell Basic 简要 基本使用 PowerShell cmdlet 获取帮助 PowerShell 别名和参数 编写一个 PowerShell 脚本 ...