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

为什么很多大厂都是 java 系?

  •  
  •   Powered · 2016-09-07 19:42:25 +08:00 via Android · 11171 次点击
    这是一个创建于 2992 天前的主题,其中的信息可能已经有所发展或是发生改变。
    59 条回复    2016-09-09 13:37:26 +08:00
    HugeNature
        1
    HugeNature  
       2016-09-07 19:52:27 +08:00
    成熟
    russj
        2
    russj  
       2016-09-07 20:00:18 +08:00
    java 适合做大系统, 10 年经验的人大把

    好多现成的框架可以直接用
    q397064399
        3
    q397064399  
       2016-09-07 20:02:01 +08:00
    主要是成熟,轮子多,改改就能用,另外人才多,量大,还特便宜,老 java 码农也多,工程经验丰富,为什么不用 java
    loqixh
        4
    loqixh  
       2016-09-07 20:02:13 +08:00
    bt 其实是 cpp 系
    zhuangzhuang1988
        5
    zhuangzhuang1988  
       2016-09-07 20:17:28 +08:00
    成熟, 稳定。。
    cctvsmg
        6
    cctvsmg  
       2016-09-07 20:19:21 +08:00
    主要是 java 语言没什么好发挥的,换个人写代码,写出来的也差不多,于是码农就是可以完全替换的。
    ibcker
        7
    ibcker  
       2016-09-07 20:25:10 +08:00
    成熟,稳定,快
    Infernalzero
        8
    Infernalzero  
       2016-09-07 20:26:42 +08:00   ❤️ 1
    我觉得和为什么很多国家都用英语是差不多道理
    Nitromethane
        9
    Nitromethane  
       2016-09-07 20:29:09 +08:00
    中间件多,中间件多,中间件多
    Nitromethane
        10
    Nitromethane  
       2016-09-07 20:30:34 +08:00   ❤️ 1
    @loqixh 这种说法是不对的,腾讯新的业务也很多去选择 java ,比如 http://beacon.qq.com/
    bramblex
        11
    bramblex  
       2016-09-07 20:34:25 +08:00   ❤️ 2
    贴一段我以前的话。

    ================================================

    Java 成功地把软件产业从「手工作坊」的生产模式转型成了「流水线工厂」的生产模式。

    从「手工作坊」到「流水线工厂」有什么好处呢?

    1. 有效降低了企业对程序员质量的要求。手工作坊对人员素质的要求是很高的,再差的裁缝也要能做成一件成衣,然而服装厂的女工素质要求就相对低很多了。这也是为什么培训机构喜欢培训 Java ,市面上也经常流行着这说“要找工作学 Java ”这类说法了。

    2. 产品的质量、规格和时长都会相对稳定。手工作坊对单个精英的依赖太强。产品的质量,规格,以及所需的时长都是不稳定且参差不齐的。流水线工厂拥有大型的设备仪器(各种“企业级”框架),有各种标准的零件(标准组件),以及设计良好的模板和蓝图(架构和各种设计文档),从而能保证整个生产过程是可控的,最终能保证产品质量、规格以及时长的稳定。
    Tom008
        12
    Tom008  
       2016-09-07 20:44:13 +08:00 via Android
    @loqixh 现在腾讯很多新业务都是 java 了! 你可以去看腾讯公开代码量统计!
    wangxn
        13
    wangxn  
       2016-09-07 20:52:49 +08:00 via Android
    腾讯不可能大规模上 Java 。
    百度收购了糯米,很多系统都是推倒了用 C++重来。
    yuankui
        14
    yuankui  
       2016-09-07 21:32:51 +08:00
    @bramblex 这个适合外包公司吧。。。
    loqixh
        15
    loqixh  
       2016-09-07 21:45:47 +08:00
    @Tom008 没记错的话 50%cpp 10%c#
    66beta
        16
    66beta  
       2016-09-07 21:49:31 +08:00
    可能我去的公司都比较 low ,我觉得 java 同事们并不比 PHP 的技术好,单纯轮子多 java 码农多,来个领导只会 java ,公司必然就走 java 路线了
    Buffer2Disk
        17
    Buffer2Disk  
       2016-09-07 23:00:27 +08:00
    感觉像是一群大学生在大学时代,讨论我他妈到底是学 C 语言牛逼还是学 Java 牛逼呢,然后就这么想了一天又一天?

    资深码农应该都不会去想这种问题吧?当然是什么样的业务场景去用什么语言,去做框架选型。从一个语言,框架过渡到其它也是需求使然。
    Phariel
        18
    Phariel  
       2016-09-07 23:12:49 +08:00 via Android
    JAVA 人多 便宜 稳定 老板们真是求之不得。。。
    paulagent
        19
    paulagent  
       2016-09-07 23:52:17 +08:00
    amazon 新入职员工,培训一个月就要求 oncall 。 你换 c++试试
    kongkongyzt
        20
    kongkongyzt  
       2016-09-08 00:18:44 +08:00
    @Tom008 ?? 腾讯的很多新业务怎么据我所知都是 C++(其实叫 C with class 更贴切一些), PHP 呢?
    ykrl089
        21
    ykrl089  
       2016-09-08 00:50:38 +08:00 via iPhone
    java 一个很大的特点就是可以直接堆人加快开发速度
    janxin
        22
    janxin  
       2016-09-08 08:24:27 +08:00 via Android
    java 开人成本低,看起来真眼馋
    kideny
        23
    kideny  
       2016-09-08 08:38:20 +08:00
    还不都是拿来主义
    nikubenki
        24
    nikubenki  
       2016-09-08 08:49:24 +08:00
    问这种问题的,经验不会超过。。。。嗯。
    wizardforcel
        25
    wizardforcel  
       2016-09-08 09:50:06 +08:00
    组件多啊,你瞧 apache 写的那一堆。
    fin
        26
    fin  
       2016-09-08 10:06:58 +08:00
    @nikubenki 可别这么说,人家全栈呢。
    Powered
        27
    Powered  
    OP
       2016-09-08 10:13:44 +08:00 via Android
    @nikubenki 不想喷你
    newghost
        28
    newghost  
       2016-09-08 10:27:40 +08:00
    java 开发速度并不快,但是历史悠久

    这其实是个历史问题
    VeryEase
        29
    VeryEase  
       2016-09-08 10:32:59 +08:00
    用 C/C++ 开发一个新业务系统,是个水磨功夫......
    GeekGao
        30
    GeekGao  
       2016-09-08 10:46:06 +08:00
    从开发者工具,如 Eclipse 、 Ant 到企业级解决方案 Spring Framework 再到其他 Java 开源组件如 Apache 基金会的众多项目,都非常成熟,企业级应用使用得多,相对也很稳定。

    高校里,一般软件专业都有 Java 课程,所以么,会 Java 的人多,即便不会也好上手嘛,相关培训课程、书籍也蛮多的。
    dl2k
        31
    dl2k  
       2016-09-08 10:46:50 +08:00   ❤️ 1
    其实论业务开发,语言特性最好的是 C#,但是目前主流还是跑在 windows 上,大公司规模大的主要考虑 LINUX ,所以就定型了 JAVA 。其实语言特性上 JAVA 和 C#接近,各有优劣。 c 和 c++对于内存管理的要求更高一些,程序员素质要求更高。 php 和 node.js 之类的语言缺乏一些脚本语言重逻辑开发,缺少一些线程、锁等一些底层系统 API ,有许多架构层面精细控制的功能是没法开发的。 所以 C#和 java 可以总体上满足从基础业务逻辑开发,到架构框架开发的需求。 java 在国内技术领域的大行其道其实更多的是沾了 linux 的光。而且所谓轮子多等其实主要也是最早淘宝选型 java 以后,作为典型的成功案例,加上淘宝开源的推动,进入了一个生态圈的良性上升通道里面。
    nigelvon
        32
    nigelvon  
       2016-09-08 10:50:00 +08:00
    11 楼说的是主要原因, Java 来说更容易把控进度和质量。对普通开发来说个人能力要求相对较低。
    magicdawn
        33
    magicdawn  
       2016-09-08 11:16:27 +08:00
    我也想不清楚...
    macemers
        34
    macemers  
       2016-09-08 12:06:06 +08:00 via Android
    BT 主要是 c++
    caixiexin
        35
    caixiexin  
       2016-09-08 12:08:52 +08:00 via Android
    工业化语言。。
    anexplore
        36
    anexplore  
       2016-09-08 12:33:21 +08:00
    也可以问问有什么理由不用 java
    frankmdong
        37
    frankmdong  
       2016-09-08 13:53:57 +08:00
    发现前不久在知乎看的一篇答案挺适合这个问题的,翻出来给大家看。
    https://www.zhihu.com/question/35969125
    julyclyde
        38
    julyclyde  
       2016-09-08 14:53:54 +08:00
    在 java 里,你能犯出的错误类型比在 c++里少
    ee123
        39
    ee123  
       2016-09-08 16:02:44 +08:00
    JAVA 应该更说专业点吧
    helloworld2010
        40
    helloworld2010  
       2016-09-08 16:15:07 +08:00
    为企业开发而生的 lang
    wshcdr
        41
    wshcdr  
       2016-09-08 16:29:11 +08:00
    历史原因
    luluuulu4848
        42
    luluuulu4848  
       2016-09-08 16:40:15 +08:00
    成本低,轮子多,要求还不太高,就这样
    tairan2006
        43
    tairan2006  
       2016-09-08 17:10:22 +08:00
    主要就是好招人,性能也不错(硬件发展)
    ljh0585
        44
    ljh0585  
       2016-09-08 17:47:42 +08:00
    并不只是大厂这样吧。。
    毕竟 java 人多。。
    我朋友本来招 node 的,招了 3 周,才面试 2,3 个。。
    前几天说改成 java 了,这就面试了 4,5 个了。。
    googlebot
        45
    googlebot  
       2016-09-08 18:05:16 +08:00 via Android
    开源,
    hooluupog
        46
    hooluupog  
       2016-09-08 18:15:17 +08:00
    1.性能强劲,大多数情况下满足大中小型企业的要求,除非那种对性能要求极高的会使用 c/c++;
    2.简单。 java 语言本身不属于特别复杂的语言,不那么学究气息。没有明显的缺陷,也没有明显的优点,再加上非常成熟的工具链, IDE 等等生产工具的辅助, java 显得很亲民;
    3.可扩展性好。既适合需要快速迭代产品原型,轻快灵活的小企业,也更为适合人员水平层次不齐,需要分工合作,对维护性比较看重的大企业。所以,小企业发展成为大企业可以继续使用 java ,一些中小企业在发展壮大时,由于所选的技术栈在遇到可扩展性的障碍时,可以平滑的话迁移至 java 。实际上很多企业也这么做了;
    4.生态丰富。不需要一遍遍的造轮子,但也完全不限制企业内部根据自己的需求造轮子。
    5.好招人。由于前面几点,造成的良性循环, javaer 很多,特别是很多有多年技术经验的 javaer 很多,成本,风险各方面企业都能接受。

    java 唯一的不确定因素就是 oracle 。
    loqixh
        47
    loqixh  
       2016-09-08 19:57:01 +08:00
    很多人高看 java 了
    lynx
        48
    lynx  
       2016-09-08 20:44:56 +08:00
    主要是招人容易,轮子多不多都不重要
    Lonely
        49
    Lonely  
       2016-09-08 21:44:34 +08:00 via Android
    java 不好吗?
    kingoldlucky
        50
    kingoldlucky  
       2016-09-08 22:17:20 +08:00
    @loqixh 没有深入学过 java 的 我觉得没有资格说这话
    Totato5749
        51
    Totato5749  
       2016-09-08 22:33:49 +08:00
    @loqixh
    怎么高看法?

    我倒觉得 java 这么受欢迎自有它的原因,成熟而且可控。就成熟一点想到达到的其他语言都没几个
    Wangxf
        52
    Wangxf  
       2016-09-08 23:52:05 +08:00
    楼上个别码农也是优越感十足啊,能把小作坊变成流水工厂这难道不是 java 的伟大之处么?记住,你的 title 是工程师,不是码农,要把更多的精力放在解决复杂的业务逻辑上,而不是绕在代码里
    Wangxf
        53
    Wangxf  
       2016-09-08 23:55:02 +08:00
    把复杂的业务逻辑抽象成高可用的架子才是你追求的
    nanometer
        54
    nanometer  
       2016-09-09 00:32:04 +08:00
    不用 Java ,你觉得用什么语言能保证在研发团队庞大的情况下仍然能保证一定的工程质量呢?我支持 C#。然而你们都使用 Linux 是吧。
    poorcai
        55
    poorcai  
       2016-09-09 01:44:42 +08:00 via Android
    所以我学 LinuxC 还有未来吗
    markme
        56
    markme  
       2016-09-09 09:32:54 +08:00
    不知道说 java 要求低的是怎么得出来的,应该是像我刚毕业待的那家创业公司吧,本身就是管理乱七八糟。
    我们现在做政府安全,你能想到的高素质我们都有。
    只能说确实有很多小企本身质量就不高,而 java 容错性比较好,相对健壮。
    最近碎片时间在学习 c/c++,当是爱好吧。每个语言都有可爱之处啊,看我同事写 python ,我也觉得很赞啊,不过没精力拜学了。
    haofly
        57
    haofly  
       2016-09-09 09:47:28 +08:00
    恶性循环
    Infernalzero
        58
    Infernalzero  
       2016-09-09 09:52:06 +08:00
    Java 纯写业务的确要求比较低的,屁都不懂的人也能写只要懂点语法,只不过写出来的质量嘛....反正有些老板只要产品达到预期效果就行了,哪管你们码农代码怎么写后续怎么持续开发维护
    所以要求低其实是 java 的优势啊,其他语言做的到吗
    贵站鄙视 java 的人感觉和打 dota 的鄙视打 lol 的如出一辙
    julyclyde
        59
    julyclyde  
       2016-09-09 13:37:26 +08:00
    上午有个人问我 log4j 怎么用
    问题是我这里管的是收日志的系统……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.