累了的时候看看这个 |
发现招的java程序员特别喜欢用阿里的fastjson,首先这玩意本身经常有高危漏洞(这不最近又出来一个),另外springboot本身自带了非常好用的jackson,非常反感额外引入一个相同功能的json库(是不是觉得用的库多了项目就牛了,某些开源项目还把用了这个写在首页)。
以上还不是让我最生气的,最让人受不了的就是用了fastjson后,在后台把java当成javascript写,还是用api拙劣的模仿,完全丧失了强类型的优势,代码时间长了自己都看不懂,不知道输入是什么,也不知道输出是什么,真的是恶心死我了。
反正目前新项目,我第一件事就是要求团队成员不允许用fastjson
————————
强调一下:工具无罪,只是用的方法有问题
你知道触发高危漏洞的case是什么吗? 和前段时间log4j一样,都是为了满足高级特性而引入了可以远程执行脚本的漏洞,平常使用fastjson一丁点问题没有,自己写个main方法然后用fastjson和jackson序列化循环一千次打印耗时,你就知道为什么叫fastjson
@LancerXin 为什么?因为不会和钱和时间过不去
我自己java、golang、C++、前端、Qt甚至嵌入式都会,很清楚每个项目最合适的选择是什么。
做业务系统,java绝对是目前国内最合适的选择,不谈工作,就说接私活,我几个前同事都使用java接,客户也愿意,有几个深圳的前同事每年接私活都能额外赚40~100万,这个时候让你选择,你也会选择最方便,最省事,最快的方案,至于内存,让客户加点钱升级就完了
@LancerXin 只要钱给够,你让我用C语言写业务后台都没问题,当年写嵌入式CGI用C语言的sprintf构建整个后台又不是没干过,最省内存和流量,只是写和维护都非常恶心而已
@LancerXin 5年以上程序员都不用担心编程语言问题,花1~2个月(语法估计只要3天,主要是学习库的用法),随便切换。
语言从来不是关键,要按你的标准,C#完全是综合了golang和java的优点(NET6也能单个打包不需要安装依赖,占用内存也小,运行效率比golang还高、生态也比golang好,也能在arm架构的linux上运行),为什么不选C#?无非是政治问题而已
@LancerXin 这个你倒是多虑了,工资高的人其实都很爱学习,只要是钱给够,也愿意换,比方说一个深圳的前同事就是最近被裁员,然后去虾皮,换成golang,他也愿意换,另外即使他没golang经验,虾皮也愿意50W+的年包让他过去,所以跟不跟得上时代,完全看个人平时的努力,和语言框架基本没有关系
@LancerXin 老程序员都知道,不是面向技术编程,是面向需求编程,面向money编程
各种java这种技术能保持一定的占有率 绝对不是你一两句片面的观点就能否定的,要考虑历史问题,比如很早期有些特殊的行业一些支撑的API ,就是用java 或者 C 实现的,早就稳定固化了 非得用go or python 等等 去重新实现一边? 你的观点就是典型的历史虚无主义。 不承认过去的环境的一些限制和条件,在这里大肆贬低 JAVA 体系,我只想说 too young
@LancerXin 我觉得你这是和幸存者偏差一样的情况
写代码,生态最重要,不会因为需要个特性,项目全部重来。Java 就是这点好。Sprint 框架几乎能解决绝大部分的问题
Golang 我也用了几年,生态太差,一堆依赖,连个靠谱的 framework 都没有
首先fastjson在现在看来的确是个质量比较差的库,但是这里面也有很多历史原因,首先它的确是在当时很快,因为它在jdk1.7版本前针对性的做了很多快方面处理,现在看来是投机取巧,也暴露了兼容性,安全性上的很多问题,但是那个时候的确是好用的,它的好用我认为主要不是因为性能,一方面部分程序员是对阿里的迷信,另一方面是因为它比较符合中国程序员对一个库api使用的语义习惯。所以你不能抛开历史谈垃圾,还有说springboot这种框架,生态,java这种语言垃圾的, 大家也没必要这么戾气,技术是在更新,人也是在老去,但是修养,胸怀一样要跟着技术螺旋上升的更新迭代,这些在你看来过时垃圾的技术栈,它里面包含的编程技巧,设计思想,它一定是有相当大的价值的,会为你学习一门新技术,新语言,新思想开辟道路,被淘汰的只是具体的实现和有些人的自大,技术人应该是不停学习进步,也不停包容交流的
楼主没吐槽到重点。
1.烂人无脑复制烂代码,跟语言无关。
2.上阿里的贼船一开头就是个错。阿里所有的开源工具版本维护都稀烂,我发现就没有例外。Dubbo之前一堆问题,万年不更新。上了贼车,想下车都难;同时也看看RocketMQ看看版本更新速度;FastJson持续5,6年每年都爆个惊天大漏洞,阿里哪里体现点责任心整顿下这个包?更不用说一堆它的受众面小的jar包,maven的version信息清一色填alpha,beta,有没有决心搞个正式版的?
@canrom7 不好用
过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号