为Java说句公道话(三)

原文出处: 正义的花生

Java没有特别讨厌的地方

   我至今不明白,很多人对Java的仇恨和鄙视,从何而来。它也许缺少一些方便的特性,然而长久以来用Java进行教学,用Java工作,用Java开发PySonar,RubySonar,Yin语言,…… 我发现Java其实并不像很多人传说的那么可恶。我发现自己想要的95%以上的功能,在Java里面都能找到比较直接的用法。剩下的5%,用稍微笨一点的办法,一样可以解决问题。

    盲目推崇Scala和Clojure的人们,很多最后都发现,这些语言里面的“新特性”,几乎都有毛病,里面最重要最有用的特性,其实早就已经在Java里了。有些人跟我说:“你看,Java做不了这件事情!” 后来经我分析,发现他们在潜意识里早已死板的认定,非得用某种最新最酷的语言特性,才能达到目的。Java没有这些特性,他们就以为非得用另外的语言。其实,如果你换一个角度来看问题,不要钻牛角尖,专注于解决问题,而不是去追求最新最酷的“写法”,你就能用Java解决它,而且解决得干净利落。

    很多人说Java复杂臃肿,其实是因为早期的Design Patterns,试图提出千篇一律的模板,给程序带来了不必要的复杂性。然而Java语言本身跟Design Patterns并不是等价的。Java的设计者,跟Design Pattern的设计者,完全是不同的人。你完全可以使用Java写出非常简单的代码,而不使用Design Patterns。

    Java只是一个语言。语言只提供给你基本的机制,至于代码写的复杂还是简单,取决于人。把对一些滥用Design Patterns的Java程序员的恨,转移到Java语言本身,从而完全抛弃它的一切,是不明智的。


结论

    我平时用着Java偷着乐,本来懒得评论其它语言的。可是实在不忍心看着有些人被Scala和Clojure忽悠,所以在这里说几句。如果没有超级高的性能和资源需求(可能要用C这样的语言),目前我建议就老老实实用Java吧。虽然不如一些新的语言炫酷,然而实际的系统,还真没有什么是Java写不出来的。

    编程使用什么工具是重要的,然而工具终究不如自己的技术重要。很多人花了太多时间,折腾各种新的语言,希望它们会奇迹一般的改善代码质量,结果最后什么都没做出来。选择语言最重要的条件,应该是“够好用”就可以,因为项目的成功最终是靠人,而不是靠语言。既然java没有特别大的问题,不会让你没法做好项目,为什么要去试一些不靠谱的新语言呢?


评论
热度(1)

© 牛耳教育|长沙java培训|长沙java培训学校|长沙软件培 | Powered by LOFTER