我目前在一家有相當(dāng)多的“我討厭Java”開發(fā)人員的公司工作。它也用來扼殺我。我當(dāng)然討厭所有的Java技術(shù)的囤積。這使得做出決定太困難。它喜歡當(dāng)你有太多的選擇,你沒有選擇。你必須花時(shí)間與100年的框架真正想出的框架,為您工作。標(biāo)準(zhǔn)的Servelt架構(gòu)對于大多數(shù)應(yīng)用來說是復(fù)雜的。這不是Ruby,Django和東西的情況。他們更多的是一個(gè)單一的框架,而不是語言。
我從開發(fā)人員聽到的大的投訴
語法太長。只是打印我們要編寫的System.out.print。你不能真正使用一個(gè)簡單的VI像編輯器,并在幾個(gè)小時(shí)內(nèi)寫出一個(gè)工作的代碼。
弱測試框架。即使測試框架在Java和Ruby中非常相似,Ruby也可以通過使事情容易用于測試來向前邁進(jìn)一步。如果您在應(yīng)用程序中廣泛使用DB,這尤其如此。即使許多Web框架不考慮測試。
模板是一種痛苦。使相對簡單的語言成為面條湯。
不酷。大多數(shù)Java應(yīng)用程序都是用巨大的公司編寫的,這與官僚機(jī)構(gòu)有關(guān),并不適合開發(fā)人員。人們不認(rèn)為Google當(dāng)他們認(rèn)為Java。 Google == Python。它也做了很多,沒有書出來指示在Y天的X。
不喜歡編譯。對大多數(shù)開發(fā)人員來說,編譯是十年前的現(xiàn)象。它的意義在80年代與C,但現(xiàn)代計(jì)算機(jī)可以做更多。他們不編寫編譯語言的代碼。 Java是編譯和用于編寫Web應(yīng)用程序的極少數(shù)語言之一。
Oops概念太多。即使開發(fā)者靜靜地采用了Oops域名。他們不喜歡它。他們不喜歡當(dāng)你寫一個(gè)應(yīng)用程序有10個(gè)類,每個(gè)類只做一件事。讓你打開100年的文件,并想象100年的類,有時(shí)與框架的交互。使整個(gè)編程活動變得繁雜。這在大多數(shù)語言中可能是真的,但我看到Java開發(fā)人員非常重視類的作用。它的Java開發(fā)人員經(jīng)常拿出100個(gè)類的代碼。從許多角度來看這是好的,但非java開發(fā)者討厭它。
所以所有的Java在項(xiàng)目的開始施加了一個(gè)陡峭的曲線,這意味著太多的錢要承諾。添加到這是一個(gè)巨大的社區(qū)附加到j(luò)ava,每個(gè)想法以不同的方式,沒有人真正的頭腦的整個(gè)社區(qū)。他們也沒有看到社區(qū)舉行的會談和會議炫耀所有酷的新事物。沒有新的酷書。 Java看起來會下降,因?yàn)樗糜诮鉀Q太多不同的問題,幾年前。