当前位置: 首页 > 科技观察

不要和Java“结婚”

时间:2023-03-12 10:43:58 科技观察

不要“嫁”给Java手。比尔警告张胖子:“你的苦日子开始了!”张胖子没有放在心上。他非常喜欢Java。他喜欢Java严谨的语法、漂亮的Lambda表达式、漂亮的注解和包罗万象的类库。此外,有七种方法可以用Java编写简单的单例模式!这是其他语言无法比拟的!他发誓以后只爱Java,不仅喜欢她的诸多优点,更喜欢她的种种缺点。不仅爱Java,还爱宅爱黑,喜欢跟Java的七大姨八大姨打交道,像Spring、MyBatis、Tomcat、Netty,都是他家的常客。张胖子用这种方式表达了对爪哇老婆的忠诚。他生为爪哇人,死为爪哇鬼。他的Java媳妇也时常让他摸不着头脑:我们Java家族常年在TIOBE上排名第一,静态类型,正统的面向对象编程语言,后端开发、移动开发、大数据开发的绝对统治者!不仅如此,只要张胖子对其他语言表现出一点点好感,Java就会毫不留情地打击他,直到他悬崖勒马,回头为止。有一次逛街,张大胖瞥了一眼路过的Python,被Java老婆狠狠踢了一脚:动态语言有什么好看的?!看强迫症缩进,丑self,性能很笨重的GIL,怎么能和我比呢?张大胖怕回去跪搓衣板,连忙附和:是啊,虽然有字节码,但Python虚拟机只是个玩具,根本不能和Java虚拟机相提并论。.早些年,张胖子对林心如有好感。他觉得语法很优雅,元编程很强大。直到现在,他还在家里偷偷地放了几封写给Ruby的情书。那天安装VisualStudioCode的时候,张胖子并不知道发生了什么。他实际上用Ruby而不是Java写了一行代码:print"HelloWorld";可惜爪哇老婆在他身后,雷霆大怒。张胖子本想否认,红着脸辩解说是Python代码,被Java老婆当场识破:“Python程序根本不用分号,Python3的print函数必须用括号调用,还有你的文件扩展名明明是.rb我要否认……”除了惩罚他用Java解决LeetCode一百道题外,Java老婆还翻箱倒柜,彻底消毒屋子,以及把C、C++、Python等各种代码,包括那几封情书都当成垃圾扔了出去,让张胖子伤心了好几天。然而,Java妻子对JavaScript持开放态度。不知道是不是名字里有Java的缘故。Java老婆大方规定张大发以后可以使用基于HTTP的RESTful服务与JavaScript通信。信件的格式必须是JSON。必须先交给她审核,再决定张胖子能不能看。后来Java觉得用JSON通信不合适,升级为GraphQL。张胖子真不明白她在想什么。随着时间一天天过去,张胖子掉进了Java的温柔陷阱,掉进了Java编织的信息茧中。他觉得Java语言什么都好。张胖子不管写什么程序都用Java。写服务器端程序就必须用Java,写桌面程序就必须用Java。就是写一个处理文件的小程序,也是Java,虽然用Python可能10行以内搞定。有一次,公司要启动一个新项目,尝试使用Go语言技术栈。完全不懂Go语言的张大发强烈反对:用什么Go语言,Java这么好,生态这么成熟!不仅如此,他还每天都在想着“统一”公司的编程语言。公司有一个爬虫程序,可以从竞争对手的网站上爬取数据。最初是用Python开发的,因为Python这方面的工具很多,开发起来很方便。.但是有一天张胖子居然用Java重写了,这让经理很生气。张胖子不承认动态语言在快速开发中的优势。他看不到快速完成系统并将其推向市场进行验证的价值。他总是以“动力一时爽,火葬场重构”来攻击Python。Ruby等动态语言。他一直在网上和别人争论不休,维护Java的正统地位。张胖子经常听到同事们讨论新技术,比如最近火热的Go语言Goroutine,Erlang的Actor模型,还有LISP的函数式和元编程,JavaScript的闭包,currying……每到这个时候,张胖子就嗤之以鼻,什么Goroutine,什么Actor,Java线程最有用!渐渐的,大家都不和他说话了,周末也不带他去喝酒了。可怜的张胖子被孤立了。寂寞的他回到家,打开《Java 4-ever》这部老电影开始重温。一边喝酒,一边陷入沉思……后记:我写这篇文章是因为我看到有些人太迷恋一种语言,而对其他语言根本看不上眼,对他们不屑一顾,所以我作比喻张大发和爪哇结婚来反驳。现在这个世界上怎么会有万能的语言呢?每种语言都有自己的优势和适用范围。如果我们只是固守一种语言,而不去看看外面美丽的世界,那将是一种遗憾。ps:《Java 4-ever》是Youtube上一个非常搞笑的短视频,点击阅读原文即可观看。【本文为专栏作家“刘欣”原创稿件,转载请通过作者微信获取授权coderising】点此查看该作者更多好文