V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
1oNflow
V2EX  ›  问与答

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

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

    另外,java 的工作难道只能去大厂找了吗……
    第 1 条附言  ·  2019-04-03 13:49:44 +08:00
    补充一点,感觉 go 用的公司也不少。

    开发周期、效率的确可能是重要的因素,js 全栈前后端顺带 react native 全都搞定了,但是不知道为什么又总能看到 js 行情不好的消息……
    123 条回复    2019-04-14 14:29:50 +08:00
    1  2  
    puilu
        101
    puilu  
       2019-04-04 09:58:35 +08:00
    靠了,我这个半吊子前端还想学 Java,你们竟然还没个准话,到底值不值得学?
    blackboom
        102
    blackboom  
       2019-04-04 09:59:44 +08:00 via Android
    其实大部分是 hold 不住
    qq976739120
        103
    qq976739120  
       2019-04-04 10:39:39 +08:00
    没想到这个帖子下还有人分不清什么是强类型和弱类型,什么是动态语言和静态语言
    LichMscy
        104
    LichMscy  
       2019-04-04 10:41:43 +08:00   ❤️ 1
    @mogutouer #77
    类比一下
    java 程序员说“ java 程序员普遍沙雕“ 和 “ 2019 年还在用 jdk6 只会 java -jar 充斥各种迷信和盲目的 java 程序员普遍沙雕“
    比如某个河南人说”河南人普遍沙雕“ 和 “ 偷井盖低素质的河南人普遍沙雕”

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

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

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

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

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

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

    这只是一个很小的细节。
    aijam
        116
    aijam  
       2019-04-04 13:39:37 +08:00   ❤️ 5
    领导:小王,客户那边有一个 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
        117
    mogutouer  
       2019-04-04 13:54:20 +08:00
    @LichMscy #112 你对三楼的看法犹如三楼对 java 的看法,既然你俩无法互相理解,其实是没有结果的,犹如这张图:


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

    开语言程序员炮是是我头脑发昏孟浪了,我也没想到这么多人点💕,可能是真的身边遇到过类似的人吧

    语言的设计和其生态的发展确实会影响使用的程序员,我后续写一篇文章就这个观点展开一下😳
    charlie21
        122
    charlie21  
       2019-04-04 20:29:45 +08:00 via iPhone
    @Cbdy 是的,语言生态再好,语言设计负分,也没用 ...
    mingyun
        123
    mingyun  
       2019-04-14 14:29:50 +08:00
    @aijam 哈哈
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4555 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:53 · PVG 17:53 · LAX 01:53 · JFK 04:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.