我最近正在研究一系列新的技术,比如Flex、Groovy、Guice等,很多人于是问我这个老的Java程序员为什么要学这些,而且他们有很合理的理由比如:要实现同样的功能,你可以用Java嘛;新技术的学习资料哪里来等问题。
通常而言这些人陷入了自己的惯性中,他们不愿意改变和升级自己,只是等着成为Java领域的大牛。在我看来,这是极其有害的观点,因为目光仅限于一个系列的技术无疑是目光短浅的,而且Java显然并非所有问题的非常好的解决方案。
原文作者作为一名老的Java 程序员在写完这些后,接着又回答了自己的问题:Why do people insist on doing EVERYTHING in Java?
1. Debugging:我已经使用了 Flex 和Groovy,说实话他们的debugging 真是痛苦。
2. Source Management:脚本语言创建Source Management很困难。Java远非完美,但它创建Source Management既容易又易于管理。
3. 谁用:谁用、有多少人用对一门语言而言至关重要,可以据此推断它的生命力,Java就不赘述了。而使用一门新语言并不仅仅是选择的问题,你得确认有多少人在背后支持它,等到你会发现你是这个城市唯一使用它的人的时候就晚了。
4. 耗时不多:是的,可能写代码用的时间比较长,但是比起比较新、不太成熟的技术debug 用的时间更少。实际上写代码的时间不过开发时间的10%。
有评论质疑原作者的“我已经使用了 Flex 和Groovy,说实话他们的debugging 真是痛苦。“
亦有评论对Why do people insist on doing EVERYTHING in Java?做了补充:
a) 使用单一语言的程序员成本低。用一个精通flex、php、Java、.Net和RoR的人得多贵啊?
b) 可维护性
c) 硬件和服务平台的支持