由于C#在许多方面是Java的直接衍生物,我想知道在学习了相当合理的C#之后学习Java是否有任何好处?
注意:请提供明确,直接的建议而不是讨论,以符合SO指南.
如果您想用Java编程,请学习Java.它真的很简单.
模式,算法和设计思想不会有太大差异,以至于学习语言本身就足够奖励.
然而,Java在比C#更多的平台上运行得非常好(尽管单声道正在发生变化),所以如果你想把你的脚趾浸入平台无关的代码中,你可能会试试Java.你会注意到它的边缘有点粗糙,但不像去C++或C.
-亚当
两者之间的语法差异并不大,尽管你会得到很多特定于.NET的代码,例如你在Java中找不到的[]标签.但我确实发现API和开发方法完全不同.每个的后端都与另一个非常不同,在.NET中,一些高效且运行良好的代码可能不适合Java,反之亦然.
我曾在两者中工作,如果你在Java中工作,那么你必须习惯的限制是在IDE中.与Visual Studio相比,没有任何IDE能够提高开发速度和易于部署.(无论如何,IMO).
我从一些Java项目中获得了很多帮助.您将学习许多不同的编程技术和方法.具体来说,我建议在J2EE中工作,这种差异肯定会让你感觉使用不同的语言和技术.
我将采用与其他人不同的答案.如果您正在为Windows平台编写应用程序,我认为没有任何好处.我说那是你的"工作"的原因取决于知道那个平台.我只能假设你的工作取决于它,否则,你为什么要投资它(希望这是有道理的).
我的建议不是停止学习,而是学习别的东西,这会给你一个完全不同的视角.具体来说,我建议学习动态或功能性的东西.也许是F#,或者尝试使用Ruby或Python.我认为这是一次更好的投资.
我的$ .02.
-Keith