如果我们已经非常了解C#,那么值得学习Java吗?

时间:2020-03-06 14:37:47  来源:igfitidea点击:

由于Cis在许多方面都是Java的直接派生产品,所以我想知道学习了有关C#的合理知识后,学习Java是否有任何优势?

注意:请提供明确,直接的建议而不是讨论,以便与SO准则保持一致。

解决方案

绝对地。很多工作都需要Java。学习过Java并能够令人信服地将其放在简历上,意味着我们将不必与人力资源和没有那么多头绪的招聘人员费劲。

而且,除了少数几个地方,两者大致相同,因此投资回报率很高。更不用说它打开了使用其他框架的可能性。

如果要使用Java编程,请学习Java。真的就是这么简单。

模式,算法和设计思想的差异不会太大,以至于仅靠学习语言就能获得足够的回报。

但是,Java在比C多得多的平台上可以很好地运行(尽管单声道正在发生变化),因此,如果我们希望将脚趾插入与平台无关的代码中,可以尝试一下Java。我们会发现它的边缘有点粗糙,但是不喜欢使用C ++或者C。

-亚当

我主要是Java的人,但是在那里做了一些Chere。 IMO两者之间没有太大的区别,从扩大编程视野来看,并不能真正带来很多好处。通常,当我想学习一种新语言时,我想找到一些东西,迫使我从不同的角度来看一个程序。 Java的观点与C#基本相同。某些高级语言功能的工作方式和API在某些地方有所不同,但是总体Java和Care都是内存管理的静态类型的OO语言。

Cand Java之间的相似之处使我们可以快速了解Java。原理是相同的,并且在寻找工作或者通过选择哪个平台更适合该项目(基于项目的商业方面和可伸缩性很重要)来做自己的项目时,我们会获得竞争优势,因为我们可以在Linux服务器上根据需要扩展Java,而无需支付额外的许可证费用)。

我非常了解Java,因此必须学习Cfor一个工作项目。这非常轻松,在此过程中,我学到了很多关于这两种语言的知识。

Java也将提供整个"一次编写,随处运行"的功能,并为进行基于Unix / Linux服务器的集成项目开辟一条道路。

两者之间的语法差异并不大,尽管我们获得了许多.NET特定代码,例如Java中找不到的[]标记。但是我确实发现API和开发方法完全不同。每个后端都彼此不同,在.NET中,某些高效且运行良好的代码可能不适合Java,反之亦然。

我已经在这两个方面进行过工作,如果我们使用Java,则必须习惯的限制是在IDE中。在开发速度和易于部署方面,没有一个IDE与Visual Studio相提并论。 (无论如何,IMO)。

我从从事一些Java项目中受益匪浅。我们会学到很多不同的编程技术和方法。具体来说,我建议我们使用J2EE,两者之间的差异无疑会带给我们使用其他语言和技术的感觉。

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

如果我们专注于采用Microsoft路线,那么学习Java并不是一件好事,但要花费时间来花更多的时间来了解C#的更多知识,或者学习一种可以使我们变得更有价值的Microsoft产品,例如.NET 3.5框架中的新项目。

在.NET世界中,如果不学习与大多数公司环境中使用情况无关的语言,则有足够的学习机会。

成为一名通才可以使我们拥有更广阔的发展前景,但是成为一名专家可以直接赚更多的钱。

这里有两个注意事项。

如果我们想学习以便在Java环境中工作,那么学习Java显然是朝着这个方向迈出的一步。由于Cand Java之间的实质差异相对较小,因此在某些方面应该很简单。根据所使用的确切技术,所使用的支持堆栈可能会有一些实现上的差异,但是用原始语言来讲,差异很小。

但是,如果我们想学习Java来促进个人发展,那么我想说,时间最好花在学习一些东西上,这将使我们受益匪浅。像Python,Ruby或者Erlang之类的语言确实可以扩大我们作为程序员的视野。与Java或者C#相比,每种方法都需要稍有不同的思维方式。

我将给出与其他答案不同的答案。如果我们正在为Windows平台编写应用程序,则看不到任何好处。我说那是"工作"的原因取决于了解该平台。我只能假设工作取决于它,否则,为什么要投资于它(希望如此)。

我的建议不是停止学习,而是学习其他可以给我们完全不同的观点的东西。我特别建议我们学习动态或者功能性的知识。也许以Ffor为例,或者尝试Ruby或者Python。我认为这是对时间的更好投资。

我的$ .02.

-基思

作为一个新鲜的人(谁对Cwell和JAVA不太了解),我会建议我们。

如果我们正在寻找工作:

投资于学习C&Java的差异。这是因为,它将增加价值,并减少我们找工作的时间。

如果我们需要一个项目[用Java完成]:

然后,显然我们必须学习正确!

如果我们正在寻找更新的技术:

不要在Java上浪费时间,而去使用Python,Ruby或者Erlang。这是因为80%的两个Cand java都是相同的,我们将只学习其余的20%(最多),这是浪费时间。