baskice
V2EX  ›  问与答

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

  •  
  •   baskice · Jun 7, 2018 · 26612 views
    This topic created in 2929 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
        101
    crossoverJie  
       Jun 7, 2018
    有大量使用这门语言的工程师,方便找人,

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

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

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


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

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

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

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

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

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

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

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

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

    java 确实可能会好一些吧。

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

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

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

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

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

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

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

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

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