TG码农应该不少,实在忍不住要吐嘈Java的开发……

  • c
    cf3b5
    现在带的团队用3个语言,PHP做前端的业务系统,Java做大数据和高并发处理,Python做数据计算和分析
    这个团队半年带下来,感觉Java的组是最TMD烦人的,只要有新技术或者新需求让他们弄,这帮Java给我的反馈啥都是大工程,各种牵一发动全身,而且对前期设计要求特别多,东西对不对靠产品经理,有没有错就靠测试……敢情他们就专职打字,还TMD觉得这才叫就叫专业流程,随便数据库加个字段都要折腾一个星期还很自豪!
    别的组新东西学的不亦乐乎,经常还能弄新技术,或者用新技术重构原来的代码实现,很多地方明显看着是在一步一步的在进步!
    但是Java组这帮人动不动就是Java啥都能干,要研究一辈子了,别的技术都看不上,敢情别的组研究新技术其实是没水平的表现……所以他们写的代码只要不出错打死也不愿意重构!
    关键是我自己其实也一样会Java,我曾经花了几天用netty写过一个高并发的服务架构,主要是用设计模式的工厂+模版模式做的数据的处理分发,我自己测试下来性能非常好,而且结构及其简单,后期只要持续增加工厂类的实现,就可以持续扩展了,灵活性和性能都可以预计,我自己觉得算是写的很不错了,不过时间精力有限,这个架子写好了打算让他们持续完善就算了!
    结果丢给之后说我写的是原生的java,这种写法太落后了,现在都没人这么写,现在用sping和IOC,Bean这些技术来写,几乎不用继承这种这么落后的写法了,反正张口说的自己NB哄哄的样子,我写的太落后,难维护等等,最后我乐的清闲也就难得计较了……
    然后最近看了他们写的代码,TMD各种复杂各种混乱,一看就知道会存在风险,对很多概念的理解明显不到位,生搬硬套,然后把他们叫一起解释了N久什么叫好代码,为什么要这么设计,架构设计原理什么的,结果这帮SB像听天书似的,敢情Spring这么NB的框架怎么会有问题?能用框架为什么不用?设计模式这么老的东西有Spring厉害?我反倒是不懂的那个……好像我在针对他们似的……
    ……感觉大家的知识体系其实完全不在一个层面上……无语……真TMD日狗了……
    最后人家PHP组一个星期能完成30多个需求修改,这帮java能解决5个我就烧高香了……操!
  • 億万千
    不懂java,等看回复
  • k
    klites
    巧了,我现在公司的java只会做搬运工,系统出问题也是改这里那里出错,老总后面忍无可忍直接全部开了重新招团队
  • 小螃蟹
    java就是这个样子的,不扯些神叨叨的名词,你就不是做java那一路的人。一个framework如果不能把语法重构一遍,他就不是好framework。折腾了半天解释了一堆堆东西,用PHP的人说:哦原来你这半天就做一个网页然后几个API啊
  • 小螃蟹
    另外我不是码农,希望楼下别跟我杠
  • m
    mino
    我觉得是人的问题。我们这边有个java哥们也不用主流框架,他说法是这些框架层次太多了,改个东西从前到后全都要改。没看他怎么做的,反正动作很快,业务数据要加个字段半天就部署好了。

    不过我觉得就算用mvc改需求也不应该很折腾,数据逻辑清晰的话要改什么地方应该是比较明确的。
  • T
    Tobar
    Posted by: Xiaomi MIX 2S
    这明明是人的问题,怎么怪到语言上了?

    他说的ioc和你说的工厂模式,不是一回事吗?你组员都能说成是两回事,水平可见一斑
  • c
    cf3b5
    我知道是人的问题,我都说我自己也会写的java!
    关键是我这大半年也见了不少Java,感觉都是这个鸟样,我有种感觉很多Java开发的知识体系和开发流程,和我们玩互联网这帮人感觉完全不是一条线上的了……
    我TMD也不知道是哪里出了问题……
  • k
    kirbyx
    要不你再看一下标题?
  • z
    zhouli520
    java我觉得不适合现在的web项目,随便改个东西都要重新编译部署,开发效率肯定不如那帮子搞php的
  • j
    jun4rui
    现在的Java我已经不算会了,全部是各种框架搭建起来的,会纯Java没用的,现在不会主流的框架已经不能算会Java了。
  • c
    cf3b5
    对啊,这帮傻叉就是这个意思啊,譬如我们业务里面有个大流量的数据解释分发需求,我用netty写了个入口,然后通过工厂模式和模版模式把neety收到的不同数据的处理和流程封装起来,前前后后加起来不超过10个类,就一个大的配置文件结了,后期只要继承数一下实现新的数据处理和流程就可以了!
    结果这帮傻叉说我写的原生太low,他们非要用spring boot来实现,本来数据流就是字符串,处理就是切割一下完事了,结果非设计成bean,数据格式一变就要改代码重新发布,我10个文件搞掂的需求,他们弄了3、40个文件,一个大摊子,一堆配置,动不动就要调各种配置,各种改,又慢,美曰其名这才叫灵活性,你跟他说“约定由于配置”这个概念,他说你这种太随意……操……
  • L
    LTFYH
    首先是你组员搞JAVA的明显基础不行,知识面比较窄,其次JAVA的一些框架确实更适合处理复杂和大型的业务和场景,但主要还是你的JAVA组员的水平问题。
  • e
    evangelist64
    面试过一些做java出身的,很多和楼主说的差不多。各种framework用得飞起,问问java虚拟机机制都不懂。可能一直做java的东西就这样吧,舍本逐末。
  • j
    jun4rui
    感觉现在这帮人做开发,和我们那个时候已经完全不一样了,不需要了解底层,只需要会框架就可以,有些开发了几年的其实问一些基础的东西那真是吓死人。

    而且眼光很窄,会的东西基本是在现有的框架下寻找解决方案,离开框架就废了。

    不单单是Java(可能是java更突出一点的关系),现在很多方面都有这种趋势,例如前端就是Bootstrap和几种常见的动画效果库,怎么实现的不知道,怎么做出来的不知道,只会用Ant+React搭出来,搭不出来的就傻逼了,或者要去找能搭出来的架子。

    感觉很恐怖啊,以前写代码的如果这样简直不可想像。



    顺便再喷一下Java,这玩意太需要架构设计了,但是大部分人根本不具备这个能力,反正搭出来的就是垃圾,尤其是业务还不明确需要反复进行大大小小的修改的时候,Java简直就是噩梦一般的存在
  • j
    joker23
    离开一线开发几年我都不敢说我会Java了,完全变成玩框架的东西
  • l
    lucifer890
    = - =
    你遇见的都是些培训学校出来的新手吧。
  • 无印凉粉
    难道不是越简单的代码还是越好的代码吗?
  • L
    LTFYH
    JAVA的框架其实正是JAVA的优势。
  • b
    banditcat
    ...........
  • t
    taxidriver
    楼主,人是不是你招进来的?有没看过他们的技术背景。
    我开下地图炮,JAVA,Python,嵌入式,前端的人我都招过,应聘JAVA的人水平是垫底的,特别是培训学校出来的,基础几乎没有,就会扯个框架增删改查,几乎没有任何计算机的基础概念,问个TCP/UDP都说超岗,一个字节多少位都理不清楚,基础真是差得可怕
  • 蓝蓝的天
    JAVA要想玩好比起PHP或者Python这类语言对人的要求要高得多,不过现在学JAVA逐渐变成了学Spring,多少有点舍本求末。
    至于说Java开发繁琐部署复杂的,至少应该没玩过SpringCloud那一套。
    楼主说的那些,其实是你们公司员工的问题。
  • c
    cf3b5
    是的,眼界真是窄,没了框架就好像不能用似的……
    譬如我写的版本里头,要连一下数据库查询一些信息,我太久没写过这块了,就上网搜了个例子代码,配了个新版本的数据库Driver,写个连接池单例就开用了……其实前后也就花了十几分钟……
    结果这帮看了之后说怎么可以这样子连数据库,这样子很落后啊,知不知道Spring的Mysql驱动只要配xml就行了,你还要自己new,这样多麻烦啊
    你不用Spring框架连数据库,这种原生做法肯定很多问题的,到时候很难维护的等等……
    真不知道怎么沟通……
  • X
    X9999
    会PHP跟JAVA有多年工作经验的路过
    还是跟现在业界有关,现在整个JAVA开发完全就是spring 一统天下,结果呢许多人都是不是学习JAVA这门语言而是学习spring这个框架,离开了spring就啥都不会,被框架惯坏了。许多培训班速成基本上都只教spring,这样容易找到工作,但带来的后果就是,工作之后假如不再学习年龄上去很容易被淘汰。
    JAVA这语言上手容易,中后期难度极大,尤其是非常考验架构
  • u
    ueol
    Java那块程序架构是不是“过度设计”了?

    Java相对比较重是真的
  • c
    cf3b5
    其实那个语言玩的好,要求都不低!
    开发这行玩的好,语言关早过了,随便一个语言捡起来也就是短期几天的事情,没到这个层次确实理解不了
    我面试开发的时候都会问有没有看过《代码大全》这书,结果九成以上的开发连听都没听过这本书……
    所以现在这帮人的基本能力和水平确实低的让人可怕,而搞Java开发这帮人无语的是,他们自我感觉还特别好!
  • k
    klites
    面向对象是啥很多人都说不清。。。我看到这类人立马pass
  • j
    jun4rui
    在php、python、java、nodejs这些能搭建web服务的玩意里面,java都算复杂的。哪怕是springcloud。

    成熟的框架稳定健壮是肯定的,所以看不起原生也是正常的,但是很多时候不需要啊,我是说连java都不需要,而不是框架或者原生这种。
  • c
    cf3b5
    超岗这事我也想吐嘈,譬如本来我们的业务有不少高并发场景,这种场景的业务都是由Java组负责的……
    我和Java组说,听说Go语言的高并发解决的很好,要不你们去学一下?Java组的一句话就怼回来,我是搞Java的怎么可以去搞Go语言?
    MD现在反倒是PHP组里头的有2个哥们在研究Go语言……感觉Java这种事情看的特别重,你让他碰一碰别的语言都成超岗做事了!

    [本帖最后由 cf3b5 于 2018-12-12 18:07 编辑]
  • j
    jun4rui
    语言并不难,现在可以说是基础库都差不多了,语法除了python外都是类c的,也没啥难度。这个干了多年的会几种语言的都清楚,关键还是框架的思路。

    以前没这么多框架的时候,那时候的人真的是自己累过苦过,知道哪些该抽象出来,那些不该,哪些要松耦合,那些不要。而现在的框架时代已经不会给那些人学习的机会了,因为天生就只会框架,对系统架构不如以前人体会那么深,反正啥都要在架构里面实现。

    结果就是有些系统架构垃圾的要死,还是大公司的,产品要改一个按钮一个样式一个内容位置,都要重新编译,停服务器发布版本。还有自作聪明把一个网页的各个部分解耦的,一堆网页都严格的共享这一块,导致一个页面的一个区域要调整,会导致所有的页面全部要调,要么一锅端全改了,要么一个字你都别动,神经病一样。
  • T
    Tobar
    你这典型的就是人的问题,就springboot来说,恰恰是约定由于配置的典范,你组员又说两者是冲突的

    事实上,熟练掌握springboot的人,把你说的这个规模的独立应用改成springboot可能也就10行配置,100行代码的改动就行了
  • 萝卜
    国企招不到java的路过,上周来了个三本的java要20万,技术部经理当宝贝一样
  • c
    cf3b5
    关键是他们没有什么正确的概念,什么是好什么是坏,感觉会写java自己就高大上了……
    我现在发现PHP组里头,反倒活力很强,各种学各种看,语言不限技术不限,有几个PHP小盆友当初来的时候基础很一般,半年下来代码写的明显好了不少,而且学了新东西,知道主动去重构迭代代码,把代码中所谓的坏味道改掉!
    反倒是Java组,学历都不差,待遇什么的比别人都高,但是代码只要写完绝不会主动重构,在他们的说法,只要代码用Spring的框架写出来就是只能是这样子的,产品不改需求就没有重构的必要,而且还说的特别理直气壮!
    有时候真不知道怎么沟通……
  • y
    yaoyuef
    完全是你招的人问题,他们很多话在大系统是有道理的,能用和好用差很远。但就是基础太差不理解只会生搬硬套。
    就JAVA开发本身来说,喜欢新技术整天喊重构的满地都是。
  • 不是他
    人的问题不要扯到语言上去。
  • A
    AceSword
    北大青鸟,达内培训了解一下。只要一万八,变身高薪码农。
  • l
    lobydenk
    写c的表示你们慢慢吵。。。
  • f
    foxerfly
    有点练邪功使人心态转变的意思么
  • r
    ro4074
    java是一个外行和内行实现同一个功能性能差出天壤之别的语言,面试时不问jvm底层、字节码、高并发解决方案等知识,自然鉴别不出高手,发出标题这种抱怨也怨不得别人。
  • r
    ro4074
    另外从楼主描述看不太了解Spring技术栈,高并发系统里使用new关键字要慎之又慎,淘宝支付宝最核心模块都是java写的,楼主公司使用java承载高并发部分也是有原因的。
  • 暗蛹
    用go吧,水平差的程序员也能写出标准代码。
  • j
    jun4rui
    这个和高并发、字节码其实没啥关系,而是眼界太窄,目光太短,别的语言估计没写过啥。我们这种十几年的老码农不说框架,起码也有几种语言写过上线运营的玩意了。

    这个道理换个说法其实很简单,哪怕java是把屠龙刀,也不能用来切水果、剪指甲、修花草、给病人开刀,但是现在蛮多粗浅把式的java新人就是这么干的。
  • c
    cf3b5
    只能说你不带团队不知道招人的难……说白了带过研发团队的都知道,靠谱的研发基本上都是带出来的,而不是招回来的!
    我以前带Java的团队确实不多,真不知道Java这帮人这么难搞,他们基础其实根本不好,但是自我感觉又特别好
    在我看来做技术的,都是抱着一颗学习的心去看待问题,公司开工资给你学新东西,开心都来不及了!
    但是现在这批Java其实已经换了不少人了,但是无论怎么换,面试的时候都说的很客气表示自己很好学,但是后面各种问题就出来了!
    他们过去的工作经验和知识体系感觉和我们这种一直干互联网行业的,简直不是处在同一个纬度上……
  • g
    gablin
    Spring框架做大数据和高并发处理?是不是哪里搞错了
  • s
    somesun
    正常, 我现在java这种看都不想看一眼

    python最高, js次之

    真想搞点东西不是混工资的应该考虑到底学这个是为了学习混饭吃还是做点东西
  • c
    cf3b5
    用java承载高并发就是我决定的,其实java的netty框架,其实并不是太极端的项目上,其实我的判断是足够了
    现在公司的整个技术架构都是我来设计的,说白了我干了这行快20年了,什么场景该用什么技术我自己心里清楚的很
    其实我自己都用java能写出我想要的高并发的代码,但是在我这个位置来说,我确实也懒得折腾了,下面几十号人,这么多项目,我一个一个去关心他们写代码究竟好不好其实真的很累的……
    我吐嘈这些Java开发,这么年轻就这么迂腐,眼界这么窄,还自我感觉这么好,不思进取,这才是我最不满的……

    [本帖最后由 cf3b5 于 2018-12-12 20:05 编辑]
  • i
    inmay
    java后台没写过,写过安卓,研究老代码发现什么东西都要写个豆子,感觉挺讲究的
  • k
    kiler
    我觉得你不太懂,淘宝支付宝最核心模块都是java写的,并不代表用了spring了,据我了解阿里里面技术团队对spring的使用并没有想象的那么高,再有一个大系统使用一个语言一个技术基本是不可能的。现在基本所有培训机构都转头搞java培训了,然后很多其他语言混的差的基本也都转java了,现在的Java开发整体水平和以前完全没法比了。
  • s
    somesun
    java圈风气就是这样的

    不说这些底层小开发, 就算是一些所谓国外大牛, 多少都有点看不起其他东西

    但这个是个致命的弱点, 搞技术的不把心思放在实现东西上面, 天天关心什么语言好不好混工资, 肯定不可能有前途

    搞技术必须思想开放, 要很清楚随时都有更好的东西出来