我目前在一家有相当多的“我讨厌Java”开发人员的公司工作。它也用来扼杀我。我当然讨厌所有的Java技术的囤积。这使得做出决定太困难。它喜欢当你有太多的选择,你没有选择。你必须花时间与100年的框架真正想出的框架,为您工作。标准的Servelt架构对于大多数应用来说是复杂的。这不是Ruby,Django和东西的情况。他们更多的是一个单一的框架,而不是语言。
我从开发人员听到的大的投诉
语法太长。只是打印我们要编写的System.out.print。你不能真正使用一个简单的VI像编辑器,并在几个小时内写出一个工作的代码。
弱测试框架。即使测试框架在Java和Ruby中非常相似,Ruby也可以通过使事情容易用于测试来向前迈进一步。如果您在应用程序中广泛使用DB,这尤其如此。即使许多Web框架不考虑测试。
模板是一种痛苦。使相对简单的语言成为面条汤。
不酷。大多数Java应用程序都是用巨大的公司编写的,这与官僚机构有关,并不适合开发人员。人们不认为Google当他们认为Java。 Google == Python。它也做了很多,没有书出来指示在Y天的X。
不喜欢编译。对大多数开发人员来说,编译是十年前的现象。它的意义在80年代与C,但现代计算机可以做更多。他们不编写编译语言的代码。 Java是编译和用于编写Web应用程序的极少数语言之一。
Oops概念太多。即使开发者静静地采用了Oops域名。他们不喜欢它。他们不喜欢当你写一个应用程序有10个类,每个类只做一件事。让你打开100年的文件,并想象100年的类,有时与框架的交互。使整个编程活动变得繁杂。这在大多数语言中可能是真的,但我看到Java开发人员非常重视类的作用。它的Java开发人员经常拿出100个类的代码。从许多角度来看这是好的,但非java开发者讨厌它。
所以所有的Java在项目的开始施加了一个陡峭的曲线,这意味着太多的钱要承诺。添加到这是一个巨大的社区附加到java,每个想法以不同的方式,没有人真正的头脑的整个社区。他们也没有看到社区举行的会谈和会议炫耀所有酷的新事物。没有新的酷书。 Java看起来会下降,因为它用于解决太多不同的问题,几年前。