为什么中小企业的技术栈不喜欢 Java ?

2019-04-03 13:08:56 +08:00
 1oNflow
最近面试,发现中小企业招聘后台主要要求会 node, ruby on rails, php, python (频率递减),就见过两家提到过 Spring Java 的。其中一家技术负责人也和我说 java 太重了,但按我的理解,java 库这么全,spring 也是集大成开发非常规范,会 java 的人也最多,招聘、从无到有搭建服务、继而维护不应该是最方便吗,他的"重"体现在哪里呢?

另外,java 的工作难道只能去大厂找了吗……
11805 次点击
所在节点    问与答
123 条回复
puilu
2019-04-04 09:58:35 +08:00
靠了,我这个半吊子前端还想学 Java,你们竟然还没个准话,到底值不值得学?
blackboom
2019-04-04 09:59:44 +08:00
其实大部分是 hold 不住
qq976739120
2019-04-04 10:39:39 +08:00
没想到这个帖子下还有人分不清什么是强类型和弱类型,什么是动态语言和静态语言
LichMscy
2019-04-04 10:41:43 +08:00
@mogutouer #77
类比一下
java 程序员说“ java 程序员普遍沙雕“ 和 “ 2019 年还在用 jdk6 只会 java -jar 充斥各种迷信和盲目的 java 程序员普遍沙雕“
比如某个河南人说”河南人普遍沙雕“ 和 “ 偷井盖低素质的河南人普遍沙雕”

最后说一句 开地图炮的却有 74 个发送感谢 看来 v2 畸形心理或者说从众心理用户增多
还有 我是也 java 程序员
YORYOR
2019-04-04 11:00:25 +08:00
当还处在语言优越感的时候,说明还只是最底层的搬砖而已。
在什么阶段 用什么能最快最好的解决当前问题才是核心需要考量的
iyangyuan
2019-04-04 11:03:10 +08:00
据我所知刚开始用 php 或 py,最后转 java 的比比皆是
lancelock
2019-04-04 11:48:51 +08:00
说 java 开发效率太低我怎么看不出来呢。以前各种配置各种 xml 也就算了。现在 spring boot 或者其他框架都是傻瓜式操作,基本 0 配置,一个 demo 一两分钟就能跑起来,我是没觉得效率低在哪里
mogutouer
2019-04-04 12:15:10 +08:00
@LichMscy #104 你想多了,只是周边有人(不是全部)正巧符合该评论描述,所以略微表示一下赞同而已。
dosmlp
2019-04-04 12:21:55 +08:00
又慢又耗资源,我接触过的 Java 程序员普遍解决性能问题的办法都是加机器,,感觉傻子一样
AngryMagikarp
2019-04-04 12:34:08 +08:00
每种语言都会对程序员的思维产生一定影响。说句不中听的话,JAVA 给人的感觉就是只会按部就班,不会变通,因此中小企业不太喜欢。
JAVA 在大企业流行并不是 JAVA 本身多优秀,而是在那个可选语言贫乏的年代,JAVA 积累了大量的“解决方案”,而在中小企业,其他语言也能满足需求,而且没有历史负担。
murmur
2019-04-04 12:38:23 +08:00
@dosmlp 因为加机器比改代码省钱,改代码优化不测试了?测试不许要成本?数
LichMscy
2019-04-04 12:44:20 +08:00
@mogutouer #108
不好意思 并不是代表赞同 这个意思是感谢回复者
当然也可能你们都当成点赞了 但是退一万步讲你身边有人附和这个描述 然后感谢了一个“普遍沙雕”的回复
想了半天 恕我实在是无法理解这种行为

而且我确认的确不是我想多了 我依旧认为能说出三楼那种话的人非蠢即坏

如果你依旧不认可我的观点 依旧认为我想多了的话 恕我不再多费口舌了
ymj123
2019-04-04 12:46:41 +08:00
node 前端写到后端,老板很省心。
gowk
2019-04-04 12:53:13 +08:00
说 Java 重的都是没把 Java 用好,觉得 IDE 重,框架重,OO 抽象重,打包部署维护重。我觉得是 OO 界的风气把 Java 带坏了,本来是一个身手矫健的高手,你非得给它穿上厚重的盔甲,再配上重型的兵器,它想灵动也灵动不起来了。Java 是非常好的语言,正确的使用才能发挥最大效能。
lihongjie0209
2019-04-04 13:17:05 +08:00
这个问题我之前就和我的领导讨论过了,得出的结论是这样的

java 对开发人员的要求相对高一点。直白一点就是贵

你想啊,php 可以在服务器上直接改代码。
java 要想做到相同的效率你需要搞持续集成系统。
你如果需要搞持续集成,那么你还需要比较熟练 linux

和 php 同样的价钱怎么可能招到同样质量的开发人员。

这只是一个很小的细节。
aijam
2019-04-04 13:39:37 +08:00
领导:小王,客户那边有一个 JSON 的 API 需要你调用一下,今天你赶快写一个。
写 python 的小王:import json; json.loads(...)
写 node 的小王:JSON.parse(...)
写 php 的小王:json_decode(...)
写 ruby 的小王:require 'json'; JSON.parse(...)

写 Java 的小王:
嗯,我先装个 Jackson,好像没有 maven,先装个 maven。。。
maven 配置怎么写来着?上网找找模版。。。或则让 IDE 自动生一个?
嗯,终于写好了 maven 配置,build 下先。。。
终于可以用了,怎么用来着?好像要定一个 Class 先?让我看看这个 json 什么 schema。。。
这个 schema 怎么这么奇怪?太烦啦。。。
。。。网上又搜了下,好像可以直接解析到 jsonNode ?好像还是这个方便。
怎么弄来着? objectMapper.readTree(...)。。。好像还要 catch 一下 exception。。。等等,这个 key 存的是数字还是字符串来着?
。。。终于能跑了,但是不太满意。。。
嗯,objectMapper 好像应该用“依赖注入”传进来比较好,方便测试,那就在 spring xml 里搞一个单例的 bean 吧。。。
哦对了,还没有下 spring,maven 配置改一改,在 build 下。。。
既然都依赖注入了,是不是应该考虑下以后万一发现 Jackson 没有 Gson 快,可以替换底层的解析器呢?
感觉这个想法不错,先写一个 interface JSONParser,再写一个 class JacksonJSONParser extends JSONParser,里面调用 Jackson 的方法,这样不但方便了注入,别人也不用直接调用 Jackson 的方法了。。。
索性再写一个 JSONParserFactory,用来生成 JacksonJSONParser 或者 GsonJSONParser。。。
感觉还不错,感觉我这代码写的鲁棒性真强,各种 design pattern 也体现了我作为高级程序员的技术实力,领导 code review 的时候一定会表扬我。。。

第二天。
领导:小王,昨天那个 API 调用写的怎么样了?
小王:写好了,领导你看看。
领导:哦,对了,刚才客户告诉我说那个 API 是 XML 的不是 JSON 的,你赶快稍微改一改我再看吧。
小王:。。。
mogutouer
2019-04-04 13:54:20 +08:00
@LichMscy #112 你对三楼的看法犹如三楼对 java 的看法,既然你俩无法互相理解,其实是没有结果的,犹如这张图:


另外,沙雕是个不那么严重的词,比如哈士奇可以叫他沙雕狗,就这么随意一说,你真是想得太多了。
Cyron
2019-04-04 14:12:54 +08:00
@CtrlSpace #100 笑死
pursuer
2019-04-04 17:08:09 +08:00
相较于弱类型语言,java 可读性很不错,有些库文档都不需要,看了方法签名就可以拿来用了。对我而言 java 的优点就是生态,classloader。缺点在于运行时实在太重了,繁琐的地方还可以搬出 kotlin,各种不常用的(比如 awt swing javafx 等)也在运行时里。
janus77
2019-04-04 17:12:37 +08:00
我觉得楼主在张口就来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/551629

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX