当年我是VS程序员,2000年被微软无情抛弃时,我徘徊过,到底继续跟着微软跑还是甩了它!当时兜里没钱,没法再花精力去学习除了名字很像其他都不一样的VS.net……
既然甩了微软,那我为什么不直接选一个跨平台的语言呢?!就这样我没有选择IDE更漂亮的其他语言,选择了IDE还是NotePad的Java。
钟声
如今Java已经用了15年了。这15年中我也曾想过换掉它,直到我用.NET在开发服务器端程序找不到北,用Win2000频遭黑客攻陷,程序经常无故假死时,才知道,走过这么多风风雨雨都让我们稳如泰山的原因,是因为它的名字叫Java!
曾经,我单枪匹马用Java+Linux+MySQL搞定某当年业内知名公司(现已垮掉)1年没搞定的一个采集程序,而轻松愉快。曾经用Java搞定多进程多服务,各进程间通信以及线程健壮且牢固(现在流行的名字叫微服务),坚挺长达8年,直到那个公司被收购才停掉。曾经面对大规模服务器集群,每天数据增量几十GB,Java表示毫无压力。让我们一次次地越过山丘的它,让我曾经以为这是每个语言都有特性,直到我多次尝试多次拖底才知道:不是!
当我以几分钟的速度搞定跨平台程序时,我以为所有语言都可以做到,但,不是!因为只有Java才有最初的跨平台基因。当我处理多线程只需继承个类就搞定时,才知道Java的线程机制有多易用。当我们拿来一个别人写的jar直接放到我们的项目中,不需要再编译成DLL时,才知道Java是多么的开放!只有被那个号称特别强大的IDE的“强大”功能以及复杂的组件结构搞晕时,才真正理解了,语言与IDE分离的重要性!
现在可能Java已经不那么时髦了,又来了一群小屁孩(Python、Go)。我看了半天可能真正可以和它的安全性能以及易用性相提并论的语言是未来的Go语言,但Go并没有跨平台基因,目前Google自己公司的Android都没有很好的支持,以及现在Go想替代线程而采用的协程机制也不怎么好用,因此我只能说那个未来如果能像他号称的那样友好,可能才真正和Java有的一拼。
有同学说,那个.NET现在多强大啊!微软也说可以跨平台了啊?我说:哥们儿,作为Java程序员,我真的看不上它。因为想看清它们的本质就褪去那些华而不实的附着物吧。
Java继续带着我们越过山丘。
了解我的朋友说:钟声,你有点像Java!我说是的,谢谢你的夸奖。
作者简介: 钟声业界知名程序员、架构师,曾任金山软件公司KIS系统架构师,国家电网电科院普华安全中心技术总监等职。同时他也是Need100加密算法设计者,JOpenDNS的创始人,最近他针对Java的Web开发特点设计了ACPL架构模式。微博:@ 钟声程序员
本文选自程序员电子版2015年5月B刊,该期更多文章请查看这里。2000年创刊至今所有文章目录请查看程序员封面秀。欢迎 订阅程序员电子版 (含iPad版、Android版、PDF版) 。