2009-11-17 71 views
21

我正在寻找在线教程/书籍,它假设了OOP /设计模式概念的坚实知识,并强调C++和Java之间的差异(概念和语法),从而允许后者的快速发展。 非常感谢您提前,感谢您的时间。为有经验的C++开发人员快速切换到Java

回答

6

The Java Tutorial

它保持最新,写得很好。也可在hard-copy

我一直对“从X到Y的变化”指南持怀疑态度。尽管之后他们可能会有所帮助,但从另一个角度学习一门新语言可能比你想象的更诡异。

我认为重要的是要学习新的语言“设计”,并获得这种语言的方式“正确”的方式,并学习它的代码习语。

作为一个经验丰富的程序员谁也想了解Java的潜在陷阱的好书,我推荐Effective Java

+2

有效的Java是一段距离,我读过的最好的Java书。它也是最短的:) – 2009-11-17 14:46:43

+0

适用于Effective Java。你打赌我吧。 – iain 2009-11-17 14:53:33

3

O'Reilly的 '深入浅出' 的书都写得很好。看看Head First Java和Head First Design Patterns。

13

6年前,我从一个C++移植到Java的Bloch使用的“Effective Java”,这是一本样式手册,它在50篇短文中解释了如何最好地使用各种Java类和技术。这与Meyers的“Effective C++”和Sutter的“Exceptional C++”非常相似。

如果您已经了解C++和面向对象编程,并且可以读取Java,这是编写高质量Java代码的最快方法。

现在有一个新的版本,带有泛型等等。在我看来,这本书对于所有Java程序员以及那些想要学习Java的人都很重要。

+0

打我吧。 +1 – Jonas 2009-11-17 14:55:19

+0

+1真正令人惊讶的是大家总是认同Effective Java ;-)。顺便说一下,你可以阅读Java Puzzlers! – NickDK 2009-11-17 15:33:24

1

我在1996年左右的时候做了这个过渡,当时Java是新鲜的。一本书肯定会有所帮助。我使用了Laura Lemay's 21 day book,现在已经达到了第6版。我花了3天的时间阅读原书,并在另一周后才感到我完全熟悉。

旅游习惯:

  1. 语言不是很大,但是支持库。有可能已经做了你想做的事
  2. 垃圾收集和理智的内存管理是真棒。与Java相比,我的bug数量大幅下降与C++相比
  3. 垃圾收集和理智的内存管理很糟糕。我正在写性能关键的应用程序,并且(当时),我会杀死某人以获得类似于放置新操作或操作员新重载的类似内容。
  4. 垃圾收集不是一般资源收集(即打开文件等)。你仍然需要担心这一点。
  5. 我真的错过了一个集成的宏预处理器。当然,你仍然可以使用一个,但是你的构建变得更加复杂。
2

避免头先Java。这是低信噪比。果壳很好,但变得很大,就像语言一样。

相关问题