当你已经很熟悉C#时,值得学习Java吗?


6

由于C#在很多方面都是Java的直接派生物,因此我想知道在学习Java之后是否有任何优势,因为在了解了关于C#的相当合理之后呢?

注意:请提供清晰,直接的建议,而不是讨论,以符合SO指导方针。

0

绝对。很多工作都需要java。学习了Java并能够将其简单明了地表达出来,意味着您不必与人力资源部和招聘人员争吵,这些人并没有太多的线索。

而且由于除了少数几个地方都差不多,它的投资回报非常好。更不用说它开辟了使用其他框架的可能性。


8

如果您想用Java编程,请学习Java。这真的很简单。

模式,算法和设计思想不会有太大差异,因此学习语言本身就足够奖励了。

但是,Java在C#平台上运行的平台的可接受性要好得多(尽管单声道的数量正在改变),所以如果您想将脚趾浸入平台不可知的代码中,您可以试试Java。你会注意到它周围的边缘粗糙了一点,但不喜欢看C++或C

- 亚当


4

我主要是Java的家伙,但在这里和那里做了一些C#。国际海事组织没有足够的差异,真正从扩大编程视野角度给予很多好处。通常当我想要学习一种新语言时,我想找到一些迫使我从不同角度看待程序的内容。 Java的观点与C#基本相同。有些高级语言特性的工作方式和API在某些地方有所不同,但是总体上Java和C#都是内存管理的,静态类型的OO语言。


0

C#和Java之间的相似之处使您能够更快地了解java。原则是一样的,你在寻找工作时获得竞争优势,或者通过选择哪个平台更适合于项目来实现自己的项目(基于项目的商业方面和可扩展性问题,因为你可以根据需要在Linux服务器上扩展Java,而无需额外的许可证费用)。


0

我对Java非常了解,不得不为C#学习一个工作项目。这是非常痛苦的,我在这个过程中学到了很多有关这两种语言的

Java也将提供整个“一次编写,到处运行”的事情,并开辟一条路径做Unix/Linux服务器基于集成项目。

+2

*咳嗽*单声道*咳嗽* 23 9月. 082008-09-23 23:53:58

+1

FlySwat,Linux上的单声道可以运行用Visual Studio编写的任何C#程序吗? 08 11月. 092009-11-08 23:08:13


5

两者之间的syntatical差别并不大,但你得到了很多像[],你不会在Java中发现标签.NET特定的代码。但我确实发现API和开发方法是完全不同的。每一个的后端都与另一个非常不同,在.NET中,一些高效且运行良好的代码可能不适用于Java,反之亦然。

我已经在这两个工作,那你将不得不习惯,如果你在Java中工作,以限制在IDE中。与Visual Studio相比,没有哪个IDE能够提供开发速度和易于部署的特性。 (IMO无论如何)。

我在一些Java项目上工作了很多。你学习了很多不同的编程技术和方法。具体来说,我会建议在J2EE中工作,不同之处肯定会让你感觉到使用不同的语言和技术。


0

这个问题的答案更多依赖于你自己的个人情况,而不是语言之间的相似之处。 如果您有时间学习Java,那很好,但是在那个时候您可以做些更有价值的事情。

如果您专注于开发微软的路线,那么学习Java并不是一件好事,但需要花费更多的时间去了解C#的深度,或者学习可以让您更有价值的微软产品,例如.NET 3.5框架中的新项目。

在.NET领域学习的东西绰绰有余,没有学习与大多数企业环境中的使用无关的语言。

作为一名多面手是给你一个更广泛的发展前景,但作为一个专家更直接赚钱。


1

这里有两个注意事项。

如果你想学习为了在Java环境中工作,那么学习Java显然是朝着这个方向迈出的一步。在某些方面,它应该是非常直接的,因为C#和Java之间的实质性差异相对较小。具体取决于您使用的是什么技术,您使用的支持堆栈可能存在一些实现差异,但在原始语言方面几乎没有差异。然而,如果你想学习Java来进一步发展你的个人发展,那么我会说你的时间会花在学习一些能够让你多一点的东西上。像Python,Ruby或Erlang这样的语言将真正扩展你程序员的视野。其中每一个都需要一个与您在Java或C#中发现的想法略有不同的想法。


5

我打算带着与其他答案不同的答案。如果您正在编写Windows平台的应用程序,我没有看到任何好处。我说这是你的“工作”的原因取决于知道这个平台。我只能假设你的工作取决于它,否则,为什么你会投入它(希望是有道理的)。

我的建议不是停止学习,而是学习别的东西,这会给你一个完全不同的观点。具体来说,我建议学习一些动态或功能。例如,也许是F#,或者试试Ruby或Python。我认为这是一次更好的投资。

我的.02。

-Keith


3

作为一个新鲜的[谁知道C#以及和JAVA不算多],我会建议你这一点。

如果你在找工作的:

投资自己的学习C#& Java中的差异。这是因为它会增加你的价值并减少你找工作的时间。

如果您需要为一个项目[在Java做]:

然后,很明显,你必须要学会正确的!

如果你正在寻找一种新的技术:在Java中

不要浪费时间,去的Python,Ruby或二郎。这是因为,80%的C#和java都是相同的,你将只学习剩下的20%(最大),我觉得这是浪费时间。