V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
waibunleung
V2EX  ›  程序员

PHP 转 go 好还是继续深造?

  •  1
     
  •   waibunleung · 2020-03-16 16:48:43 +08:00 · 12544 次点击
    这是一个创建于 1472 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先别急着调侃~看看再说:

    说说自己对于 php 的状况的愚见: php 用于做接口开发的几率在逐渐变少,都是偏运营后台 /管理后台这样的开发,此时不想往这个方向发展的话是不是转 go 比较好?

    转 go 也不为别的吧,单纯觉得 go 未来可期,另外工资会高一丢丢

    emm...不喜勿喷

    第 1 条附言  ·  2020-03-17 17:58:15 +08:00
    那么问题来了,怎么从 php 顺利过渡到 go 呢?
    公司没有 go 的技术栈,而且最近也想换一份工作,所以想直接换到 go 相关开发的工作上面。
    自己做个 go 的小项目然后说自己对 go 有了解然后去面试吗?
    有没有更好的转语言和换岗的路子呢?
    91 条回复    2020-04-26 12:04:59 +08:00
    imherer
        1
    imherer  
       2020-03-16 16:55:16 +08:00
    go 用起来确实很爽,但是不能为了转而转

    如果目前 php 用的挺好的,而且公司也暂时没 go 这方面的需求的话建议不要转。可以利用空闲时间学学,慢慢渗透
    php01
        2
    php01  
       2020-03-16 17:14:59 +08:00
    面向工资开发
    815979670
        3
    815979670  
       2020-03-16 17:15:57 +08:00
    可以利用空闲时间学学,但不建议直接主力转 Go
    boks
        4
    boks  
       2020-03-16 17:16:30 +08:00
    转前端怎么样呢?
    fhsan
        5
    fhsan  
       2020-03-16 17:16:51 +08:00
    面向工资 go,更加复杂多变的网络环境
    kely
        6
    kely  
       2020-03-16 17:18:39 +08:00
    同 PHP,go 和 java 不知道怎么选
    NeoChen
        7
    NeoChen  
       2020-03-16 17:18:41 +08:00 via iPhone
    先找好目标公司与职位,再决定转不转
    freshgoose
        8
    freshgoose  
       2020-03-16 17:18:45 +08:00   ❤️ 1
    语言这种东西,只不过是工具,我都是 php, python, golang, js, c# 来回切换的
    ben1024
        9
    ben1024  
       2020-03-16 17:21:09 +08:00
    继续深造加学习新语言
    ivyliner
        10
    ivyliner  
       2020-03-16 17:23:13 +08:00
    嗯, 大人才做选择, 我两个都要
    catror
        11
    catror  
       2020-03-16 17:23:29 +08:00 via Android
    需要什么就学什么,工具而已。另外,Go 极其简单,学习成本很低,不用纠结。
    ghostwind
        12
    ghostwind  
       2020-03-16 17:28:46 +08:00
    java
    jimyan
        13
    jimyan  
       2020-03-16 17:34:31 +08:00
    kotlin ?
    yipsilon
        14
    yipsilon  
       2020-03-16 17:37:52 +08:00
    移动开发的话,java/kotlin 都行;桌面开发的话,还是 C# 吧。
    yifanes
        15
    yifanes  
       2020-03-16 17:40:54 +08:00 via iPhone
    老有人说转语言,我所理解的转语言是公司工作转换而不是学习的转换,你完全可以 php 继续的情况下学习和深入理解 golang,不冲突
    keepeye
        16
    keepeye  
       2020-03-16 17:41:47 +08:00
    最好都会,哪怕面试 php,会 go 的话是个加分项
    Soar360
        17
    Soar360  
       2020-03-16 17:42:50 +08:00
    转 C# 啊
    vus520
        18
    vus520  
       2020-03-16 18:36:22 +08:00   ❤️ 1
    学一门脚本语言,再学一门编译语言,他不香吗?

    go 不做后台开发,做一些跨平台的工具开发,他不香吗?

    按物联网这个趋势,用 go 写个 MIPS 上的小工具他不香吗?
    leafdream
        19
    leafdream  
       2020-03-16 18:45:11 +08:00   ❤️ 1
    go 极其简单 发帖功夫要学都学完了
    areless
        20
    areless  
       2020-03-16 18:45:24 +08:00 via Android
    nodejs 然后 vue react ~函数式#开始脱发
    duanquanyong
        21
    duanquanyong  
       2020-03-16 19:00:37 +08:00   ❤️ 3
    @leafdream 你这个就有点夸张了
    CEBBCAT
        22
    CEBBCAT  
       2020-03-16 19:08:24 +08:00 via Android   ❤️ 1
    @vus520 两件事儿
    1. 你博客数据库挂了
    2. 大佬公司还招人吗?在写 Go,对物联网挺感兴趣的
    ihipop
        23
    ihipop  
       2020-03-16 19:11:22 +08:00 via Android
    没啥转不转,需要就用,要用就学。
    index90
        24
    index90  
       2020-03-16 19:12:07 +08:00
    PHP 继续深造是指学 C 吗?如果是,支持。
    如果不是,那你还是换一种吧
    paoqi2048
        25
    paoqi2048  
       2020-03-16 19:45:30 +08:00
    学一下 Swoole
    zjsxwc
        26
    zjsxwc  
       2020-03-16 19:47:56 +08:00   ❤️ 1
    语言只是工具啊,
    算法、设计模式、各种标准接口协议、对业务的理解经验认知等等才是根本。
    vindurriel
        27
    vindurriel  
       2020-03-16 20:18:13 +08:00 via iPhone   ❤️ 1
    php 感觉学 3 个月和 3 年没啥区别 多学几种没坏处
    Erroad
        28
    Erroad  
       2020-03-16 21:56:30 +08:00
    @duanquanyong #21 语法层面来说,golang 的语法是够简洁的,学起来还是挺快的。但是其他部分还是需要多用些时间的
    xiaxiaokang
        29
    xiaxiaokang  
       2020-03-16 22:12:57 +08:00
    其实吧 Go 不 Go 到无所谓,作为一个开发,不以架构和底层实现出发,那么什么语言都是浮云
    jinsongzhao
        30
    jinsongzhao  
       2020-03-16 22:29:19 +08:00
    根据你自己的喜欢的方向来选择吧。语言能力只是工具,业务能力才是拉开差距的关键。php 有 Facebook,go 有 Google,java 有 Oracle,c#有 Microsoft ;都是大厂维护。开源 CRM,ERP 管理软件上,php 占绝对主力,剩下的 java 维护者 Oracle 又是 CRM,ERP 大厂; go 抢夺的主要方向应该是 java (除了 java 的 CRM,ERP 之外的领域,比如游戏),或者说 go 的希望的方向是全能型,而 C#同样是全能型的,只是总转不出微软的圈圈。就开放性来说 php>go=java>c#,不过也有终极开放的 c 语言。
    changz
        31
    changz  
       2020-03-17 00:16:16 +08:00 via Android
    我觉得楼主说的是 PHP 底层,类似于 c 扩展之类的技术点吧
    sagaxu
        32
    sagaxu  
       2020-03-17 01:48:03 +08:00 via Android
    facebook 早就弃坑 PHP 搞 hack 去了,hack 也不兼容 PHP 了。

    腾讯刚发布的代码报告,鹅厂在 2019 年的新增代码量中,Go 是后端里第二高的,仅次于 C++,Java 和 Python 均在前 5,而 PHP 已经连名字都不配出现了。其实几年之前腾讯 tars 框架支持 PHP 最差的时候,可以看见苗头了。

    大厂弃 PHP 已成定局,小厂必然跟风。在这个不断萎缩的市场,你确定能通过继续深造击倒绝大部分人?
    askfilm
        33
    askfilm  
       2020-03-17 09:04:48 +08:00
    @waibunleung 楼上有些说的逗不切合实际情况, 你以挣钱为方向的话, 要看你身处什么地方:
    一线城市 golang 还有些市场, 可以一试.
    二三线城市的话 golang 机会太少,建议学个 java.

    个人觉得 golang 有局限能, 同时市场会保守, 机会也会保守. 整体来说最能不过 java. 比较稳妥
    moxiaowei
        34
    moxiaowei  
       2020-03-17 09:54:59 +08:00
    同是 phper,目前已经学了 python 和 java,语言不是重点,编程思维才是重点
    yzhfd
        35
    yzhfd  
       2020-03-17 10:17:54 +08:00
    如果未来你想往架构师方向更加深入,建议你还是转 Java,现在主流的大厂用 Java 比较多。当然也可以深入学习 go,但是 go 的学习资料不如 Java,整个生态也没有 Java 成熟。
    raysonlu
        36
    raysonlu  
       2020-03-17 10:24:24 +08:00
    php 还是有 php 的市场需求,都给大家用来做 web 项目这么多年了,时间证明了他是可行的。大厂们放弃是大厂有资本去探索新的领域和方式,中小微企业还是保守点,怎么快怎么来,业务实现是首要。另外作为一个苦逼的 phper 告诉你,如果你经历足够多,你会发现你还要做运维、前端的工作(逐渐变全栈 doge
    hheedat
        37
    hheedat  
       2020-03-17 10:31:02 +08:00
    waibunleung
        38
    waibunleung  
    OP
       2020-03-17 11:19:56 +08:00
    @sagaxu 我也是有类似的预感,所以在想要不要转,另外很多人说转 go 好像说就不学 php 一样...转 go 不代表放弃 php 啊,我现在也写 python 呢...你的建议是转了会好一点吧?
    waibunleung
        39
    waibunleung  
    OP
       2020-03-17 11:20:55 +08:00
    @raysonlu 前端我有点菜,所以转 go 就避免了前端的坑
    waibunleung
        40
    waibunleung  
    OP
       2020-03-17 11:21:06 +08:00
    @hheedat 理由?
    waibunleung
        41
    waibunleung  
    OP
       2020-03-17 11:21:47 +08:00
    @askfilm 既然都回去二三线城市了,我可以继续写 php 呀哈哈哈,写 python 也行
    waibunleung
        42
    waibunleung  
    OP
       2020-03-17 11:22:52 +08:00
    @imherer 慢慢学是不实际的,没有项目实操,自己做的玩具项目得不到关注的话,意义在哪里?自学自嗨没什么意思啊...
    waibunleung
        43
    waibunleung  
    OP
       2020-03-17 11:23:21 +08:00
    @boks 前端知识更新太快,我怕学不过来
    sparrww
        44
    sparrww  
       2020-03-17 11:27:18 +08:00
    一线城市不用转,三线转 java 吧,看看岗位数量是 php 几十倍,go 啥的都是个位数,更别想了
    ifconfig
        45
    ifconfig  
       2020-03-17 11:28:52 +08:00
    同 PHP,Go 写 web 真的很爽,基本上两个星期就学完并且做项目了,下一份工作打算转 Go
    hoyixi
        46
    hoyixi  
       2020-03-17 11:33:52 +08:00
    有啥纠结的。
    编程语言就是混饭吃的工具,哪个招人需求多、薪水高、加班少,就搞哪个。
    cco
        47
    cco  
       2020-03-17 11:34:03 +08:00
    同时用 php、go、java、java 不好么?但也要有一门热门语言往深入走,比如 java
    raincode
        48
    raincode  
       2020-03-17 11:35:56 +08:00
    js
    vus520
        49
    vus520  
       2020-03-17 11:57:16 +08:00
    @CEBBCAT Base 在北京,考虑不
    CEBBCAT
        50
    CEBBCAT  
       2020-03-17 12:05:48 +08:00 via Android
    @vus520 我就搁北京呢,太巧了
    jinsongzhao
        51
    jinsongzhao  
       2020-03-17 13:13:49 +08:00 via Android
    @sagaxu PHP 有个独特性就是无需编译的服务端,这个特性 hack 为了性能也在逐渐放弃,不看好 hack。既然是好的特性一定需要一个语言继承发展下去,现在还没有可替代的语言。
    sxfscool
        52
    sxfscool  
       2020-03-17 13:19:08 +08:00
    已经转了
    yy77
        53
    yy77  
       2020-03-17 13:44:19 +08:00
    光语言是不够的,还得知道怎么用语言解决特定业务问题。php 有很多其他的工具和框架来解决快速搭建管理后台的需求。Go 做 api 网关,那要知道的知识可不止语言本身。
    kios
        54
    kios  
       2020-03-17 13:45:53 +08:00
    编程语言不是应该跟随应用场景的么?终究只是工具,需要用的话就学习呗,反正语言都大差不差
    wxyoung
        55
    wxyoung  
       2020-03-17 13:56:39 +08:00
    小孩子才做选择,大人当然是我全都要
    lasuar
        56
    lasuar  
       2020-03-17 14:02:50 +08:00
    学了 go 你也不会丢掉 php,都有各自的适用场景,如果说职业方向的话,这就要看工作年限和个人兴趣了
    xiebruce
        57
    xiebruce  
       2020-03-17 14:33:23 +08:00
    @sagaxu 问题是小厂有跟风的资本吗?
    tant
        58
    tant  
       2020-03-17 15:08:54 +08:00
    我认识的 php 基本都转 go 了,但是其实你干几年就会发现,后端其实双修或者三修都可以的,最主要的不是语言,二十数据库和架构
    coetzee
        59
    coetzee  
       2020-03-17 15:26:02 +08:00
    转 golang 后继续深造 golang,前提是,你对 golang 感兴趣,且能坚持下去,跟随 golang 的风口,继续深造下去比 PHP 价值大不少,当然如果有个人偏好,选自己最感兴趣的,最能坚持下去的
    sagaxu
        60
    sagaxu  
       2020-03-17 15:36:08 +08:00 via Android
    @xiebruce 跟风 Rust 可能需要点资本,PHP 到 Go 还是比较容易的。
    @jinsongzhao 连前端都在搞编译打包了,还把不用编译当优点?这个特性的替代品是没有的,2008 年之后出来的语言,比如 Go, Rust, Kotlin, TypeScript, Swift, Dart 都没有借鉴任何 PHP 的所谓优点。
    virus94
        61
    virus94  
       2020-03-17 15:38:12 +08:00
    双修 ,人生苦短,面向工资编程
    iwuzhuo
        62
    iwuzhuo  
       2020-03-17 15:39:34 +08:00
    冲突么
    Stevenv
        63
    Stevenv  
       2020-03-17 15:49:59 +08:00
    考虑到以后得回老家,所以我偏向搞 java
    huaguzi
        64
    huaguzi  
       2020-03-17 16:37:05 +08:00
    小朋友,要不要转不是你决定的哦,是你的领导和公司技术栈决定的!!!!!!业余学学就好了,说不定下个公司要你用.net
    keshawnvan
        65
    keshawnvan  
       2020-03-17 17:16:38 +08:00
    转 Go 和 Java 都不错
    newmiao
        66
    newmiao  
       2020-03-17 17:23:57 +08:00
    面向需求开发,用啥学啥,微服务时代后端 Go 还是很有潜力的
    mitu9527
        67
    mitu9527  
       2020-03-17 17:48:37 +08:00   ❤️ 1
    时间很宝贵,自己认真调研并决定一下吧,如果你不打算退出开发,一定要深入学习一门编程语言,再结合兴趣学一两门其他的语言。再多就是扯淡,那些什么都会的,可能是真牛,但更可能是哪门编程语言都菜的一逼。干到 30 就不好找工作,就开始考虑给自己找退路,不然 35 岁就失业了。
    waibunleung
        68
    waibunleung  
    OP
       2020-03-17 17:52:24 +08:00
    @leafdream 大佬,有点东西
    zunceng
        69
    zunceng  
       2020-03-17 17:58:20 +08:00
    功利的说 Go 未来创造的职业机会应该不少

    cncf 里面都是 Golang 一坨 java 看起来太显眼了吧 基本上也只能用 Golang 别的语言没人替你踩坑

    写业务的当我没说 爱用啥用啥 微服务时代 docker 镜像打包好 没人管你
    jinsongzhao
        70
    jinsongzhao  
       2020-03-17 23:00:53 +08:00
    可能学 java 更好,go 的 Web 性能没有和 java 拉开差距,先进性也没有质的飞跃,因为 java 也在学习和改进;反而是 rust 遥遥领先。
    @sagaxu 除非像 Java 一样,调试时可以直接修改代码,否则编译特性肯定不算优点,编译特性对老程序员来说是护城河,但不应该成为未来,对专注业务和算法的人来说太拖节奏了,所以才会有 php 搞 CRM,python 搞科学计算。编译从 C/C++的静态 /动态编译,Debug 模式和 Release 模式,库版本,h 文件重复定义; C#的 COM,.Net 引用失败; Java 的包冲突 class 依赖;然后 JS 也开始不学好,甚至重蹈 Unix 时代各种 makefile 编译脚本; go 语言还没学,记得原本它是想做个同时兼顾解析执行和编译执行的,貌似放弃了,原以为会成为梦想中的语言,解析执行时速度慢但是方便调试,编译执行时性能可追 C 语言。一个精通编译的程序员,花在编译上的经验积累,用在功能开发上,可以节省太多时间了。好像记得说 php 和 js 都是非科班出身,而是设计出身的人搞出来的。
    Valid
        71
    Valid  
       2020-03-17 23:50:10 +08:00
    你写的代码人家能马上上手才是重点
    sagaxu
        72
    sagaxu  
       2020-03-18 00:12:34 +08:00
    @jinsongzhao Rust 唯一能跟 C++叫板的资本不就是强大的类型系统和编译器吗? Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enable you to eliminate many classes of bugs at compile-time.

    编译最重要的目的是“eliminate many classes of bugs at compile-time”,项目越大业务越复杂,维护时间越久,编译的作用也就越大。接下来的三到五年,会看到更多的公司弃 PHP 的坑,仅针对 15K 以上的职位。
    jinsongzhao
        73
    jinsongzhao  
       2020-03-18 00:34:40 +08:00
    @sagaxu 可能用 C 比较更好,C++在 Web 框架上最顶级的性能测试,挺失望。其实我搞 C++时间最长,而且现在也用它修修补补。
    https://www.techempower.com/benchmarks/#section=data-r18
    bojue
        74
    bojue  
       2020-03-18 00:41:47 +08:00
    @kely php 排除掉
    afpro
        75
    afpro  
       2020-03-18 03:09:58 +08:00
    来头条吧 只要能面过 入职之后给时间熟悉 go 内部也有各种技术讲座 完善的新人技术培训
    dog82
        76
    dog82  
       2020-03-18 09:23:27 +08:00
    面向未来选 Go,面向现在选 Java。
    不过语言的学习成本并不太高,集中精力两三个月就差不多了
    subpo
        77
    subpo  
       2020-03-18 09:28:07 +08:00
    再深入,等到你觉得哦原来编程深入之后和啥啥语言其实也没啥太大关系啊,再转好了
    echoZero
        78
    echoZero  
       2020-03-18 09:54:34 +08:00
    同样的疑问,看了一下 现在二线城市的 PHP 需求真的一般,之前公司让学习 go 学了,只是部分实践,现在公司又让学习 java,希望能够在现在的基础上转到 go 或者 java 去 ,但是转了如何找工作喃,
    ccppgo
        79
    ccppgo  
       2020-03-18 10:06:36 +08:00
    @echoZero 公司让转的话, 转了之后不就有 java 或 go 的经验了, 然后下一份直接找相关工作了
    echoZero
        80
    echoZero  
       2020-03-18 10:20:22 +08:00
    @ccppgo go 的项目经验只有一个项目 结果太久没用基本上忘完了😰 java 的还在学习阶段,不知道公司未来的规划怎么样,毕竟 go 和 java 都学会 这个难度是要比学会其中一种要大的多
    waibunleung
        81
    waibunleung  
    OP
       2020-03-18 10:29:07 +08:00
    @echoZero 坚定选 go,不会错;坚定选 java,错不了;
    zunceng
        82
    zunceng  
       2020-03-18 11:01:07 +08:00
    对于想学 Golang 做 web/curd 的开发我还是劝退吧 毕竟可替代性太强了, 这个十年学了 Golang 下个十年还有新技术,学起来也快一周上手

    对想做 cncf 上的创新 你不学 Golang 还能学啥
    qloog
        83
    qloog  
       2020-03-18 12:41:18 +08:00
    转吧,没错,大势所趋,干就对了。
    wujunze
        84
    wujunze  
       2020-03-18 12:43:21 +08:00
    我们招人 满足你从 PHP 到 Go 某教育公司 有兴趣了联系我 谢谢
    datoubb
        85
    datoubb  
       2020-03-18 14:52:48 +08:00
    @wujunze 大佬,坐标深圳吗?我有兴趣
    hackchen
        86
    hackchen  
       2020-03-18 14:54:31 +08:00
    个人建议,如果以前没学过强类型语言的话,可以考虑入坑 Java,可以体验不同类型的语言的写法,而且 Java 的各种编程思想都是比较完善的
    我搞过 C#、PHP、go、前端,现在也打算搞搞 Java 和 Python
    wujunze
        87
    wujunze  
       2020-03-18 14:58:02 +08:00
    @datoubb #85 北京
    wujunze
        88
    wujunze  
       2020-03-18 14:58:22 +08:00
    @datoubb #85 深圳少量研发部门 不知道招人不 我得看看
    waibunleung
        89
    waibunleung  
    OP
       2020-03-20 09:25:17 +08:00
    @wujunze 北京的话可能有点远 我 base 广州
    datoubb
        90
    datoubb  
       2020-04-26 03:30:27 +08:00
    @wujunze 有的话麻烦通知我一声谢谢,我有过 php 和 go 双修的工作经验
    wujunze
        91
    wujunze  
       2020-04-26 12:04:59 +08:00
    可以的 加我微信 1017109588 备注 v2-Go
    @waibunleung #89
    @datoubb #90
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5432 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.