为什么大多数公司随着业务的发展技术栈都转向 JAVA 了?
为什么不坚持自己的以前的技术栈?
难道业务大了,只能上 JAVA,还是其他原因?
1
assad OP facebook 未了适应业务增长,改写了 PHP
github 依然有一大部分业务采用 ruby 国内的这些公司稍微一大,觉得 PHP,Python 等其他语言就不能胜任了,直接就上 JAVA 了 |
2
alexzhou 2017-07-31 11:01:41 +08:00
想用现成的方案
|
3
sampeng 2017-07-31 11:01:51 +08:00
人的原因。。java 对企业的成熟度而言更简单粗暴。。
比如做电商,直接去 XX 挖一批人来就能干活,而不用重新组建团队 |
4
shoaly 2017-07-31 11:03:24 +08:00
圈子.
各种必然的难题在 java 圈里面都有成熟的方案了 |
6
assad OP 但是我觉得他们所谓的那些性能啊什么的,其他语言也有很好的解决方案的。
|
8
iyaozhen 2017-07-31 11:15:18 +08:00 via Android
@assad 各种解决方案。比如说一个定时器功能、redis、MySQL 连接池,Hadoop 等技术,rpc 框架等等
不是说别的语言没有(不能做),而是现有的方案(库)都有 Java 成熟的版本,门槛低、会的人多 |
9
broadliyn 2017-07-31 11:17:24 +08:00
fb、github 用 php、ruby 很大程度是因为初创时采用的技术栈就是 php 和 ruby,人家有技术实力去改写底层的语言框架满足现有需求。
|
11
z5864703 2017-07-31 11:20:09 +08:00
@broadliyn 楼主不就是在问国内的为什么不坚持初创时采用的技术栈吗,国内很多初创也用 php 这些,但后面都改用 java 做微服务啊啥的
|
12
ioth 2017-07-31 11:21:16 +08:00 2
java 没有高手,不需要程序开发能力;
中国程序员水平低,流动性大,对企业没有价值。 |
13
zjsxwc 2017-07-31 11:24:27 +08:00
因为人多了,钱多了,什么都可以搞起了
|
14
janxin 2017-07-31 11:24:44 +08:00
Java 工程师好招,方案好搞
|
15
broadliyn 2017-07-31 11:25:00 +08:00
@z5864703
国内改做 java 的我觉得很大程度是收到阿里的影响。。 阿里的很多开源解决方案养活了国内一大批互联网公司。 人家有现成开源的,就没必要投钱进去研究了吧。反正又不是技术主导的公司。。。 |
16
EricCartman 2017-07-31 11:26:22 +08:00
@assad #1 YouTube 和 Instagram 都是十亿级别的月活,还在用 Python ……
不过它们也对底层做了一些改动,ins 禁用了 Python 的 GC,YouTube 貌似用 Go 重写了 runtime ? |
17
wangdu2012 2017-07-31 11:37:58 +08:00 via iPhone 1
目前我看到技术语言唯一一个能达到工业生产级别,性能也没有太差的语言,而且生态环境好
|
18
wangdu2012 2017-07-31 11:39:14 +08:00 via iPhone
@ioth java 没有高手…
|
20
Sapp 2017-07-31 11:47:10 +08:00 1
其实说了那么多,就是人好招,便宜,哪有那么多理由,和 php 一个道理。
|
21
tuteng 2017-07-31 11:58:57 +08:00
比如说 sql 的语法解析,java 有好多好用的轮子
|
22
bnbvb 2017-07-31 12:04:54 +08:00
忘了谁说的,如果新的技术方案不能够做到比现有的成熟方法带来 10 倍提升,就没有必要使用新技术栈,这里的提升不仅仅指性能。
|
23
clearbug 2017-07-31 12:05:29 +08:00 via Android
你知道吗? Java 是世界上最好的编程语言!
|
24
eric2021 2017-07-31 12:06:00 +08:00
如果不是特殊的需求,为啥要重复造轮子
|
25
chinvo 2017-07-31 12:13:19 +08:00
不赞同所谓 Java 在各难题领域有成熟解决方案(而其他语言没有)的说法。
如 @ioth 所说,Java 不需要高手,一般公司可以不把写 Java 的当然看,换一批又一批人,项目风格不会变化太多,项目效率也不会改变太多,算法得不到优化就堆服务器,这可以说是 Java 的一大“优点”了。 |
27
chinvo 2017-07-31 12:27:10 +08:00
@Lonely 并没有这么说,但是其他语言的一些特性导致每个人的写法和风格不一致,换人不能很快完成交接。当然我不否认 Java 也有很多高手,能做出 Hadoop, Spark 等十分厉害的框架和项目。
|
30
zpf124 2017-07-31 12:36:57 +08:00 1
说白了,与国内外关系不大, 看这个公司是不是技术主导。
不是技术主导公司的你猜 他们当初为什么选择 某一种技术栈? - “外国那个 xx 就是 zz 写的,咱就全套照着人家来做成中国的 xx 还不简单么” - “整个这个行业都是用 xx 写的,你们直接把开源的拿来改改不就好了,就这么几苗人怎么省事怎么来的” |
32
snail1988 2017-07-31 13:04:46 +08:00
Java 的性能要比其他后端语言 PHP Python Ruby 强太多,如果服务不是简单地操作数据库,高性能语言的优势就出来了
Java 规范严格,代码易读懂,减少大项目协作中产生的 bug Java 现成的组件多 |
33
acoder2013 2017-07-31 13:08:22 +08:00
@ioth 吃药了吗,智障
|
34
paulagent 2017-07-31 13:35:31 +08:00
我觉得 @sapp 说的很对啊,就是容易招人啊,不管是拉来干活的还是高手,java 都多啊。 君不见还有人用 lisp 创业的公司,后来还不是招不到合适的人材而换了语言。 这个做生意最重要是赚钱,又不是评比语言
|
35
vjnjc 2017-07-31 13:37:19 +08:00
用过 php 和 java,以 php 的 composer 和 java 的 maven 来说,java 的 lib 库太丰富了。
然后上面说的不错,javaer 人多,性那挺不错。你都说了公司规模上去了,那招人就是个问题。招不到人就没法扩张。 |
36
Miy4mori 2017-07-31 13:49:24 +08:00 via iPhone 6
我看你们就是想花式黑 Java,不爱用不用就完了,还要黑,黑也就算了,还要黑写 Java 的。为什么这些大公司放着厉害的 PHP,Python,Ruby 不用,非要用辣鸡 Java,一定是公司辣鸡。(<del>怕不是优雅的 Python 工作难找又学不会 Java 哦</del>
|
37
EricCartman 2017-07-31 13:51:15 +08:00
@Miy4mori #36 戏多
|
38
huobazi 2017-07-31 13:56:05 +08:00
这么多回复 竟然没人顺带 .net 来黑..
|
40
pqee 2017-07-31 13:57:22 +08:00 via Android
我司也在考虑转。业务稳定了,确实需要更稳定可控的技术来实现,对企业来说长期成本最低质量最好。
|
41
danielmiao 2017-07-31 14:01:38 +08:00
@chinvo 能够换人而不改变影响功能和代码风格不是优点么。。。各个技术人员拥兵自重不干活的就好??
|
42
eoo 2017-07-31 14:03:22 +08:00 via Android
菜逼围观中。。。
|
43
Nbsaw 2017-07-31 14:18:40 +08:00 1
虽然每次都知道有人喷,但还是会点进来看 //
|
44
assad OP 我感觉是国内公司还是为了成本
不愿意技术投入 JAVA 刚好,又不需用自己开发啥现成的。反正现成多的是 |
45
linus3389 2017-07-31 14:46:11 +08:00 1
因为 Java 可以实现程序员的“即插即用”
|
46
zhx1991 2017-07-31 14:57:59 +08:00
java 傻子写业务代码也不会有太大问题
|
47
crossoverJie 2017-07-31 15:02:48 +08:00
@zhx1991 这是在侮辱啥子还是在侮辱 Java
|
48
zhx1991 2017-07-31 15:19:32 +08:00
@crossoverJie 这是大实话
|
49
Ouyangan 2017-07-31 15:30:08 +08:00
@crossoverJie #47 傻子写别的语言就不是傻子? 黑要黑到点子上
|
50
nullen 2017-07-31 15:34:01 +08:00
java 的生态太强大了。
|
51
slideclick 2017-07-31 15:40:59 +08:00
风险最低.
使用 python/ruby 的风险如下: 1.出来个好的 NOSQL,没有好用库 2.性能差 3.员工跳槽,找不到人接手 4.技术难题解决不了,java 也有技术难题,但是通常外面(花钱买,或者网上搜)可以找到解决 5.被质疑:你为什么不选 java? |
52
acoder2013 2017-07-31 16:04:34 +08:00
@zhx1991 傻子是智商低,跟说英文中文有毛关系
|
54
Totato5749 2017-07-31 16:38:24 +08:00
成本低,风险小
|
55
anyele 2017-07-31 17:05:25 +08:00
java 拿来就用的东西比其他语言的多的多, 就是这点
|
56
joeke 2017-07-31 17:27:00 +08:00
一个生态,一个性能,其他语言不能比的
|
57
xiandao7997 2017-07-31 17:28:40 +08:00
不搞 java 的菜逼请教一个问题,同样是 jvm 上的语言 不用 kotlin 的原因就是因为学习新语言需要学习成本和切换成本吗
|
58
assad OP 看来都是懒,再就是迷信大厂,也不愿意在其他领域做更深的研究。比如 facebook 因为 PHP 不理想,而自己出了个 HVVM,从而提高了 PHP 的效率!
|
59
spice630 2017-07-31 17:29:22 +08:00 via Android
因为可以 21 天精通 逃
|
60
aksoft 2017-07-31 17:29:31 +08:00
你们说了半天 都没在点上,告诉你们,java 好要高价,懂不懂???
|
63
goodmani 2017-07-31 17:41:03 +08:00
java 比较死板,约束比较多,没有那么多奇奇怪怪的写法,适合团队
|
64
wupher 2017-07-31 17:45:28 +08:00
1. Java 工程师好招
2. Java 尤其是 Spring 作为粘接层,接入各种技术栈难度较低 3. 跨平台、调试相对容易 4. 大厂用的人多,出大事找人方便;相对各种开源框架也很丰富 |
65
fyxtc 2017-07-31 18:31:02 +08:00 1
很多转 java 的最关键的考虑就是性能。。担心 py, php 这些性能支持不到后期业务的扩展,然而。。。
以大多数人写代码的垃圾程度而言,根本轮不到拼语言的性能 |
66
pqee 2017-07-31 18:32:45 +08:00 via Android 1
因为 Java 是软件工程语言,一个牛人可以带一堆普通人,做出牛逼的软件。
|
67
BenX 2017-07-31 18:34:17 +08:00 via iPhone
就不是技术优劣问题。说到底就 Java 人好招价格便宜。
|
68
so898 2017-07-31 18:36:20 +08:00
之前我做的时候项目 PHP 写的,换了人之后那位整天在团队和老板面前说 PHP 效率没有 Java 高
然后就换了 Java,曾经做的两个项目都是如此 世界上最好的语言在这些 40 岁的人眼中就是如此的低效、不堪 国内程序员圈子被这帮人控制着,我无话可说 |
69
stzz 2017-07-31 19:06:36 +08:00 via Android
.net 日常好惨...都没人提的
|
70
Miy4mori 2017-07-31 19:17:01 +08:00 via iPhone
@EricCartman 我再多写两句岂不是成了你口中的戏精?红红火火恍恍惚惚哈哈哈
|
71
Cbdy 2017-07-31 19:33:19 +08:00 via Android
java 一个星期可以招一个办公室的人,你换其他任何技术栈试试
招过人才知道招人的苦啊 |
72
ixiaohei 2017-07-31 20:00:17 +08:00 5
做了几年 java,看你们喷 java,觉得好爽; java 确实很垃圾,语法死板啰嗦,从业者很多水货,强类型语言写代码很不爽,另外开发不需要注意内存回收,很多复杂业务导致上 full gc stop the world 很长时间,优化难度很大。
不过干了这么几年深深发现另外一方面才是最重要,java 生态强大,很多复杂业务都有成熟方案; jvm 性能很优秀,一般人写出的垃圾代码也不会影响业务性能;另外很多都是简单 curd 类业务,我不需要太多牛逼的人来做,牛人都是很难招的(工资太高),另外 java 语法死板很适合协作工程,新手老鸟写的代码不难看懂,不像 scala 表达力强,老鸟和新手完全两种风格,导致很多人看不懂,工程维护难度太大;另外强类型没有动态语言写的爽,但是有 idea 这种很智能 ide 解决很多效率问题,在编译上就避免了一堆动态语言最容易出现的问题。另外 java 自带 gc 已经能解决很多场景,复杂的场景导致的 gc 问题都是老鸟深入 jvm 才能后才可以优化,但是新手一般弄不出这种场景,所以对于工程来说 java 很适合,工程和人员上都很容易控制,另外培养新人学习曲线适中。 不过喷 java 新手很多垃圾也没有啥用,你要看世界顶级的公司都在 java 生态上弄出一堆解决方案,如果还要说那些人很垃圾或者还很少就是无知了。java 在大数据,搜索,金融一堆成熟的框架,另不用说企业级和互联网方案这堆小 case 了。另外光一个 spring 家族框架都可以解决很多日常问题。还有后面微服务大火的 spring cloud 框架。另外这些框架的源代码都是可见的,光看学习借鉴这些源代码都能成为大牛,就看你有没有时间和意愿去学习了。 另外 php 是世界最好的语言!!! |
73
depress 2017-07-31 20:17:09 +08:00
妈呀楼主还真理想主义,国内有几个技术驱动的,不都是为业务服务,只要能用,哪个快哪个坑少来哪个,哪有那成本去钻技术,都是挣钱第一的。Java 菜鸡很多,解决方案多,框架直接拿来用,所以写业务的说难听点真的是傻子都能很快上手,因为需要自己思考的太少,需求流程有了,直接套就行了,我确实也见过一点 Java 不懂进公司带俩礼拜开始写业务的,反正有 code review,也有完整的测试流程,不怕出问题,反复改就行了。但说 Java 都是菜鸡就可笑了,为什么架构师大多 Java 出身也是有原因的,Java 拿高薪资不简单,需要懂的广度和深度很多语言比不了。而且 Java 项目普遍很大,出问题没点经验你都不知道怎么解决。更不用说 Hadoop 生态了。
|
74
TangMonk 2017-07-31 20:18:35 +08:00 via Android
好招人,工资不高,适合流水线生产。
|
75
tairan2006 2017-07-31 20:22:45 +08:00
国内没几个公司愿意深挖技术的,基本都是找开源方案…
看好 kotlin |
76
sagaxu 2017-07-31 20:39:53 +08:00 via Android
@assad Facebook 后来不也是 JAVA 和 cpp 满地爬吗?并没有坚持用 PHP 搞定一切。
国内投入 PHP 的,比如 swoole 和 workerman,花大力气造了轮子,这些轮子 Java 生态圈早就有了,还比你更成熟好用,除非核心团队都是 PHP 的,不然坚持 PHP 有何意义? |
77
slion 2017-07-31 20:40:05 +08:00
我们公司也是,原本用 PHP 实现的业务慢慢迁移到 java 平台,PHP 作为中间件,调用 java 接口返回数据给前端。 无力吐槽...
|
78
sagaxu 2017-07-31 20:46:16 +08:00 via Android 1
@slion 你这还算好的,据说有些创业公司,空降了 bat 大前端做 leader,不管你是 JAVA 还是 PHP,都要重构成 node,成了就是技术栈升级,PPT 里吹的天花乱坠,失败了就换个公司继续坑。
|
79
wangdu2012 2017-07-31 20:50:05 +08:00 via iPhone
@sagaxu 哈哈。你说的不少创业公司这样吧
|
80
Perry 2017-07-31 20:51:58 +08:00
规模变大了之后,需要很多能够 scalable 的库,Java 有很多现成的。
|
81
wangxn 2017-07-31 21:03:19 +08:00 via Android
BAT 使用 Java 的比例是是二比一。
纯技术出身的创始人一般不用 Java …… |
82
HaoyangWei 2017-07-31 21:18:59 +08:00 1
平时工作都用的 C++,去年有 3 个月去支援部门兄弟项目,用的 Java。
相比 C++,Java 真是太爽了,IDE 强悍,好多东西不用自己管,上班带半个脑子就行了:D |
84
jimzhong 2017-07-31 22:20:05 +08:00
个人觉得有这些原因
1. 语言成熟,容易招人 2. 生态圈好,有很多开源方案 3. Java 适合写接口 |
85
WildCat 2017-07-31 22:31:33 +08:00 via iPhone
|
86
hienchu 2017-07-31 23:27:20 +08:00
从语言层面,java 虽然繁琐,代码死板,很多都有标准的讨论,所以在项目变大的时候,代码和人都非常的好管理,这个是其他语言比不了的。另外 java 的招聘市场要大很多。
|
87
paulagent 2017-08-01 00:25:26 +08:00 1
每次都有人拿 fb 来举例也是醉了, 国内公司要是能给出 fb 的薪资,当然可以用 php。 核心不就在于 fb 是特例吗?看看 fb 里的牛人都是什么水平,各大名校 phd,甚至包过知名语言创造者,流行框架的奠基人。
|
88
assad OP JAVA 之所以在国内占主导,与高校也有很大关系的
|
89
Clarencep 2017-08-01 09:13:38 +08:00
简单点:Java 招人好招。
一般来说 10k 的工资确实能招来 10k 的 Java。但是其他语言来说就难说了。 |
90
chocotan 2017-08-01 09:41:06 +08:00
成熟的解决方案+10086
招人是另一方面了,至于说培训 20 天就能出山的,也太夸张了,就算有这样的人,也是少数 |
91
janxin 2017-08-01 10:09:00 +08:00 via iPhone
@depress … Java 架构师难道不是因为因为应用广人多才多的嘛…没看出来需要比其他语言架构师多懂什么东西,莫非你是指比其他人多懂 Java ?
|
92
bk201 2017-08-01 10:09:12 +08:00
半道出家的 php 最多,轮不上 java
|
95
ioth 2017-08-01 10:57:04 +08:00
说自己是 java 高手的请发一段代码来看。
我 02 年 java 的代码也可以取出来教你。 |
96
ioth 2017-08-01 10:59:41 +08:00
|
97
ioth 2017-08-01 11:02:59 +08:00 1
@ixiaohei
做了几年的,眼光和头脑还不错。 语言有什么垃圾?谁 c 语言来,来一段? basic 才是最好的语言,bill/gates 只会这个。 世界最聪明,最有钱人的,不开公司了。 说 java 没高手你们就急了? 你是高手能证明这语言多牛? |
98
zacard 2017-08-01 11:04:02 +08:00
果然被黑的不行了。。。
|
99
em84 2017-08-01 11:11:17 +08:00
日经帖
|
100
strahe 2017-08-01 11:13:48 +08:00
来杭州某企业挖了点人
|