在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」,点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!1. 我对OO理解的入门是从Java的。读了一本好书叫做《Thinking in Java》。Java对于(Almost) "Everything is an Object"的要求的确让当时的我耳目一新。2. 我猜想编程语言总有些历史局限性吧,从产生的时代来看(1990年,原来我和Java同岁),Java在那个时代算是很先进的产品了吧(对比同期C/Cpp,还有我没了解的SmallTalk)。3. 我用Java最不爽的地方,是没有FunctionObject。为了放一个Listener,需要写一个专门的Annoymous Class。如果量很大的话,Code读起来缩进太严重,太难读。4. 最近在看Ruby。觉得喜欢Ruby胜过Java是很自然的事情:High Order Programming(each, map, block),很贴近自然语言英语和逻辑(unless/if, ?表示true/false, !表示修改本身--很Vim的习惯),Python一样通过缩进区分逻辑,简明的语言结构。5. 关于库管理,NodeJS有npm,用起来很方便;Ruby有gem,用起来也很方便。Java有maven,用起来很不方便。6. Java有很多企业级的应用。我猜想可能是因为,一方面Java有很多现成的稳定的library,另一方面Java懂的人多,所以一个Project换人的Cost相对较小。7. 但我想语言总是在进步吧。作为程序员总是要不断学习新的编程语言提高自己的。有些编程语言本身就代表了一种新的思维模式(比如Prolog的递归+PatternMatching的思想,NodeJS的EventDriven),可以给人很大启发,新的思维模式也很可能用在旧的系统上。8. 在某些特定的事情,某些语言写东西就是会更快/方便。比如PHP写网页很方便,但是它没有MultiThreading就不太适合做GUI。得到了A就失去了B,为了普适可能就在所有方面都不如某个特定语言做得好。9. 应该说不同的语言做所以多学一些语言总是没有坏处的。反正学一门新语言的成本又不高。