baskice
V2EX  ›  问与答

初创团队后端语言选择什么好?

  •  
  •   baskice · Jun 7, 2018 · 27696 views
    This topic created in 3073 days ago, the information mentioned may be changed or developed.
    过往一直在用 php,性能低、代码乱。

    新项目希望能:
    有大量使用这门语言的工程师,方便找人,
    代码相对规范、工整,
    高性能

    有什么好选择吗?
    Supplement 1  ·  Jun 8, 2018
    一些频繁被问的问题的回答:

    之前的项目指 萌娘百科 。本身这个项目用的就是 mediawiki 框架,是维基百科在用的开源程序。基本上是把开源能占的缺点全部占了个遍。要不是后来与 Facebook 的 HHVM 项目进行了深度合作,而成果又被顺利塞入了 php7。这玩意基本是要凉了。这还没包括萌百自己开发的各种功能引入的问题。

    新项目指的是萌币 https://MoeCoin.one 项目。首轮融资了 500 个 ETH,投资人和我都希望项目能快速推进。但是目前又陷入了过往进展缓慢的情况……发愁
    169 replies  •  2018-06-08 18:00:26 +08:00
    1  2  
    ❮ ❯
    crossoverJie
    crossoverJie
    Jun 7, 2018
    101
    有大量使用这门语言的工程师,方便找人,

    Java
    Twinkle
    Twinkle
    Jun 7, 2018
    102
    话说冰娘是做什么的呀(
    qq976739120
    qq976739120
    Jun 7, 2018
    103
    golang ,动态语言注定规范不了
    nekoyaki
    nekoyaki
    Jun 7, 2018
    104
    用你们队伍里,相对最有责任心、中期内不会离职、具有一定代码水平的这些人最熟练的语言就行了……
    语言各自有适用场景和优缺点,没什么特别完美的语言,但是各自的缺点一般也有办法规避掉。
    eslizn
    eslizn
    Jun 7, 2018
    105
    php7 开始有强制类型约束了,另外性能也能通过 server 的方式来解决,常见的解决方案有 swoole 和 phpreact
    whatisnew
    whatisnew
    Jun 7, 2018
    106
    钱少 php
    钱多 java
    linuxchild
    linuxchild
    Jun 7, 2018
    107
    没有统一风格么
    wly19960911
    wly19960911
    Jun 7, 2018 via Android
    108
    @Twinkle 萌娘百科站长
    daxingzhesun
    daxingzhesun
    Jun 7, 2018
    109
    PHP 冻死了,因为它听到一个很冷的笑话
    czzhengkw
    czzhengkw
    Jun 7, 2018❤️2
    110
    性能低:一个关联查询,你查 N+1 次数据库,能不慢么

    代码乱:没有抽象,没有提取数据模型,全写在 controller 里面,能不乱么

    说白了,不是语言,也不是框架的问题,是开发者水平的问题……
    xiaowangge
    xiaowangge
    Jun 7, 2018
    111
    Java
    wekw
    wekw
    Jun 7, 2018
    112
    我写的 PHP 就性能高,代码整洁。


    话说 PHP 是性能最高的脚本语言,已经把 Python 秒的渣都不剩了,不该再拿性能说事儿了。Java 性能高? Java 也许在占用大量内存的情况下,处理时间可能比 PHP 端,但根据我的实测,在同一台机器上 Spring Cloud 框架的 QPS 性能并没有 Laravel 高,Laravel 已经是天天被人诟病性能差的框架了。

    建议选择对自己最熟悉的。选 Python 的话公司倒闭的时候记得通知我一声(在国内招人极其困难)。
    wupher
    wupher
    Jun 7, 2018
    113
    看人

    我司既有 PHP 也有 Java。混乱的代码,两者都能让你吐。

    就个人而言,更推荐 Java 系( Java、groovy、Kotlin、Scala )。

    我有一个坑逼前队友,最近才被从 Java 骂到了 PHP 团队,这其实就已说明了许多。
    doracoinC
    doracoinC
    Jun 7, 2018
    114
    1.代码乱和语言没关系,和写代码的工程师水准有关系;
    2.性能好坏一定程度上受语言影响,但不完全取决于语言,还有应对场景、工程师水准等等;

    应对你的新项目需求,看起来 Java 最适合你的情况:
    1.做 Java 后台的人很多,真的很多,绝对方便你找人;
    2.代码相对规范工整:不好说,还是取决于工程师水准,任何代码是否规范工整,都取决于工程师水平;
    3.性能高:这点不好说,什么语言都有关于性能的争论,但谁可以明确的否认哪种语言性能不够呢?只是应对场景适合和不适合的问题而已。不过还要再说一次,工程师水准不高,也可能会出现写出来的程序性能不好的问题。

    总结:
    - 目前做 Java 的人多,很多,非常方便招人;
    - 找个经验丰富的即可,经验丰富很大程度会避免代码不规范问题;
    - 擦亮双眼识人,别被招来的工程师忽悠就行;
    - **请你客观的、更深入的了解关于开发的知识,只知其然不是好习惯**
    - **请你客观的、更深入的了解关于开发的知识,只知其然不是好习惯**
    - **请你客观的、更深入的了解关于开发的知识,只知其然不是好习惯**
    MushishiXian
    MushishiXian
    Jun 7, 2018
    115
    这怎么又 PHP 背锅了.....哪门语言人水平不行都会存在这个问题吧,如果你真的不要 php,就换 java 咯,当然你找的人不行的话,换什么都没用
    mudone
    mudone
    Jun 7, 2018
    116
    你最熟悉 PHP,就选 PHP。
    业务先跑起来,然后逐步用 Java 或者 Go 构建后端服务,解决性能问题。
    znood
    znood
    Jun 7, 2018 via iPhone
    117
    我觉得这种应该是你们架构师应该考虑的问题吧,看项目周期,后期维护性,性能,业务类型
    alwayshere
    alwayshere
    Jun 7, 2018
    118
    目前想存钱买一辆跑车,他们都说玛莎拉蒂加速性能不好,希望能找到一辆加速性能好,逼格高的跑车
    nicevar
    nicevar
    Jun 7, 2018 via iPhone
    119
    不知道选什么时选 Java 是没错的,技术栈选错创业公司也很容易挂掉,选 Python 要谨慎,玩得好的人相对来说较少,见过几家创业公司掉这坑里的
    a7a2
    a7a2
    Jun 7, 2018
    120
    java。。。不用想的。。。
    WinMain
    WinMain
    Jun 7, 2018
    121
    显然 java 没有之一,python 有几个深入了解的?坑居多。PHP 就不多说了,坑巨多。
    jadec0der
    jadec0der
    Jun 7, 2018 via Android
    122
    萌百在组建开发团队吗?请问是以公司还是社区的形式运行的
    xnotepad
    xnotepad
    Jun 7, 2018
    123
    Go 吧,语言特性少,随便找个实习生培训个把星期,业务代码就能写得飞起。
    当然第三方库少,很多依赖的第三方接口也很少有 Go 版本的 demo 可以参考的。
    xd314697475
    xd314697475
    Jun 7, 2018
    124
    综合来讲 java
    jennifertxwoodma
    jennifertxwoodma
    Jun 7, 2018
    125
    水平高的话,JS
    水平不行的话,Python
    feverzsj
    feverzsj
    Jun 7, 2018
    126
    当然是 c++
    loryyang
    loryyang
    Jun 7, 2018
    127
    JAVA,越流行越好,除非你们有人非常专长某个语言
    cxbig
    cxbig
    Jun 7, 2018
    128
    初创团队必须选你们玩得最溜的语言,至于性能问题,等挣的钱能养活团队了再说。
    尤其是引进新技术方面要特别慎重。
    to2false
    to2false
    Jun 7, 2018 via Android
    129
    代码乱可能换个语言也一样
    gclove
    gclove
    Jun 7, 2018
    130
    @baskice 抱抱大佬

    我觉得吧, 代码乱的现象语言只是一小部分原因

    不过 PHP 过于宽松的语法,确实可能对一些不够深入学习的人造成这个问题

    java 确实可能会好一些吧。

    但是,终极的解决这个的办法,一定是做微服务, 服务间做 RPC
    Laughter
    Laughter
    Jun 7, 2018
    131
    我司从 Java 转到 golang ,
    从楼猪期望来看, 首选 Java
    sunnygaofan
    sunnygaofan
    Jun 7, 2018 via iPhone
    132
    从 php 转 nodejs,再转到 go,性能 NB 不用说了,三方包也在这两年完善很多,现在呆的公司用的就是 go,当然,go 的问题是招人确实不太好招
    karllynn
    karllynn
    Jun 7, 2018
    133
    Java7,规整的不得了…注意不要乱用 annotation 黑魔法就行,好招人

    Go,连泛型都没有,interface{}满天飞,也很规整

    另外创业团队就别整微服务了,很难搞的
    yingfengi
    yingfengi
    Jun 7, 2018 via Android
    134
    同意 9L,代码乱是人的问题。
    nameldk
    nameldk
    Jun 7, 2018
    135
    可以用汇编啊,汇编写起来可规整了,而且运行起来效率也高。
    cncqw
    cncqw
    Jun 7, 2018
    136
    PHP 做个比你规模大 10 倍的项目都没问题, 哪来的底气黑 PHP ?
    huclengyue
    huclengyue
    Jun 7, 2018 via Android
    137
    java go python 个人排名
    huclengyue
    huclengyue
    Jun 7, 2018 via Android
    138
    用 java 的话更推荐 kotlin
    ytmsdy
    ytmsdy
    Jun 7, 2018 via iPhone
    139
    写的不好,无论什么语言效率都低!
    写的好,无论什么语音都能抗的住高并发!
    与其在这里考虑技术栈,还不如找一个靠谱的技术合伙人给你把关!
    turan12
    turan12
    Jun 7, 2018
    140
    php7 性能其实不错的
    FrankFang128
    FrankFang128
    Jun 7, 2018❤️2
    141
    没人推荐 Rails?
    xrlin
    xrlin
    Jun 7, 2018
    142
    @FrankFang128 #141 看来 rails 真的越来越淡出视线了。
    changwei
    changwei
    Jun 7, 2018 via Android
    143
    我很好奇你们是什么初创团队,你们的产品用户量有多少,居然能把 php 的性能瓶颈用出来。。。php7 的性能已经很棒了,测试数据秒 node,py 应该不是什么问题。

    php7 的工程化也很棒,什么命名空间,强制类型,接口,继承,反射,异常处理都是有的。代码乱和 php 有什么关系。

    感觉这样黑 php 过分了。
    msg7086
    msg7086
    Jun 7, 2018
    144
    @FrankFang128 @xrlin 非常悲惨地三点都不符合……

    国内炒鸡难找人
    黑科技起飞,万一谁瞎瘠薄写代码,血崩
    性能算不上高

    :doge:
    james2013
    james2013
    Jun 7, 2018
    145
    当然是 Java
    gowk
    gowk
    Jun 8, 2018 via Android
    146
    推荐 Go,现代化的语言和类库,没有历史负担
    rzti483NAJ66l669
    rzti483NAJ66l669
    Jun 8, 2018
    147
    Python 或 Golang
    BenX
    BenX
    Jun 8, 2018 via Android
    148
    最熟悉最好
    rateltalk
    rateltalk
    Jun 8, 2018 via iPhone
    150
    代码乱从何说起?
    simpx
    simpx
    Jun 8, 2018
    151
    我会选 golang

    1. 方便招人。这一点比不上 java,不过我见过非常多 c/c++程序员用 golang 的,迁移成本不会太高
    2. 代码相对规范、工整。强类型相对于 python、node 的弱类型,心智负担轻多了。而且 golang 限制了一些写法,用 gofmt 后,不同人写出来的代码差不太多
    3. 高性能。大多数项目都不会触碰到 golang 的性能瓶颈
    jiangzhuo
    jiangzhuo
    Jun 8, 2018❤️1
    152
    前端是 web 就用 js
    前端是 iOS app 就用 oc 或者 swift
    前端是 android 就用 java 或者 kotlin
    反正前端熟悉啥用啥
    这样招一个人就能前端后端都干了
    xiparos
    xiparos
    Jun 8, 2018 via iPhone
    153
    java
    Cbdy
    Cbdy
    Jun 8, 2018 via Android
    154
    其实靠谱的 Java 开发者也不好找,我见过好多写 Java 的,Maven 都用不利索。但带 GC 的通用语言,Java 一般是最好的选择了,没有之一
    yazi
    yazi
    Jun 8, 2018
    155
    个人认为语言层面的性能提升空间是很有限的,如果想提升项目整体吞吐量建议通过横向扩展而不是优化语言本身。
    HangoX
    HangoX
    Jun 8, 2018 via Android
    156
    招人容易,只有 JAVA 了,代码规范,java 也复合
    anotherlf
    anotherlf
    Jun 8, 2018 via Android
    157
    如果公司主要业务不是性能计算,只是表单、展示、扫码支付一类的,我觉得 PHP 最合适。构建简单,维护简单,人好找。
    jingrui
    jingrui
    Jun 8, 2018 via iPhone
    158
    3 年 java 3 年 php 告诉你 php 是最合适的,但你可以选 java,人才是关键
    timwei
    timwei
    Jun 8, 2018
    159
    我很喜欢这个项目呢
    skadi
    skadi
    Jun 8, 2018
    160
    java or go
    karnaugh
    karnaugh
    Jun 8, 2018
    161
    卧槽,这个项目情怀支持啊!
    southsala
    southsala
    Jun 8, 2018
    162
    怎么参与啊 喜欢这个
    sampeng
    sampeng
    Jun 8, 2018
    163
    你需要的不是一个好的语言。是一个靠谱的 cto。。。
    rocbomb
    rocbomb
    Jun 8, 2018
    164
    其实 .net core 可以的
    java 转过来也很简单
    zjyl1994
    zjyl1994
    Jun 8, 2018 via Android
    165
    go 啊,做币的不都用 go
    sasumi
    sasumi
    Jun 8, 2018
    166
    凡是吐槽 PHP 脏乱差的人无非两种:1
    1、根本没在实际项目中大范围用过 PHP 的人
    2、即使是用其他语言写,同样觉得它们不行刚入行的。

    我遇到的人里面,基本没有能理解透面向对象、MVC,更别提抽象、架构能力的程序员。
    naeco
    naeco
    Jun 8, 2018
    167
    FrankFang128
    FrankFang128
    Jun 8, 2018
    168
    @msg7086
    1. 你要看「难招」的定义是什么。你可能觉得用的人少就是难招,但是我是这么认为的,你招 PHP 的人要从 100 个人里面找 10 个靠谱的,然后其中有两三个符合你的要求。而 Rails 是你找到 10 个人,其中有 9 个人都是靠谱的。
    从时间花费的性价比来看,PHP 更难找,因为遇到不符合要求的人太多。
    2. 这个看 leader 的功力了
    3. 初创团队能活下来就不错了,等用户超过一千万你再用 Java 重构核心部分即可。
    wekw
    wekw
    Jun 8, 2018❤️2
    169
    @FrankFang128 还性价比呢。。。Rails 全中国的靠谱程序员还没有望京 soho 一栋楼的靠谱 PHP 程序员多。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2778 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 152ms · UTC 12:27 · PVG 20:27 · LAX 04:27 · JFK 07:27
    ♥ Do have faith in what you're doing.