从 .NET 迁移到 Java

2022-09-02 22:09:55

可能的重复:
从C#迁移到Java的技巧?

作为一个相当有经验的.NET开发人员(从1.0开始),我在当地看到了很多有趣的工作,主要集中在Java EE,ESB,WebSphere,JSP等。现在,我对大多数.NET“技术人员”都非常熟悉,但Java是一个谜。我在大学(2003年)做了一些J2SE编程,但从那以后就没什么大不了的。

有没有人做过同样的过渡(或相反的过渡),并且可以分享一些信息,警告,任何事情!.NET 和 Java 技能集的可比性如何,实现过渡的难易程度如何?


答案 1

我遇到了同样的问题:从Java EE到.NET。

我在映射两种语言之间的语言结构方面没有太多麻烦。用一种语言或另一种语言计算关系数据库访问并不困难。循环是循环,如果是如果,孩子。不用担心。

我读过 Jon Skeets 的《C# In Deep》,所以我对添加到 C# 中的一些超越 Java 的好东西有了一定的了解:LINQ、闭包、委托等。

我的问题更多地与其他细节有关。

Visual Studio对我来说是一个谜。我习惯了IntelliJ。ReSharper会有所帮助。但是像任何其他IDE一样,在你熟悉它之前,你会磕磕绊绊,试图将你知道如何在另一个系统上做得很好的东西映射到新系统。Visual Studio Express似乎不是一回事。

我对组织、打包和部署应用程序一无所知。我对.NET模块,部署到IIS而不是像WebLogic等Java EE应用程序服务器等一无所知。

在我的Java项目中使用JUnit和TestNG是第二天性。我对NUnit没有同样程度的舒适感。

我根本没有把它放在我的指尖上。这就像一个在国外的人拿着一本语言指南:“我怎么说呢?我对.NET来说根本不流利。

我真的可以使用一个好的项目和一个月的配对与一个有经验的导游,让我克服困难。但这不是我在项目中的角色,所以我被困住了。

我更愿意用Python走同样的道路。我有来自JetBrains的PyCharm,所以IDE不是问题。Python模块与我习惯的第三方开源内容一样丰富且易于使用。我有一本很棒的书“Core Python”,正在引导我完成。我使用这种语言的次数越多,我就越喜欢它。我有相同的打包和部署问题,但我更有信心我会用Python自己解决这些问题,而不是使用.NET。


答案 2

在我看来,从语言的角度来看,Java和.NET(C#)之间的区别并不大。我自己经常使用两者,尽管我使用的Java比C#更多。

问题更多的是下面的平台和具有不同结构的类库,有时为同一事物提供不同的概念。我感觉中的主要内容是,.NET更多地是由直接来自Microsoft的捆绑/供应商库驱动的,而在Java Plattform上,大多数库和框架都来自平台外部源。

因此,在这方面,最好的办法是查看您在.NET中解决的常见问题,并尝试(部分)在Java中解决这些问题,以了解其中使用的库和框架。

平台之间的另一个不同之处可能是Java EE环境中的应用程序服务器的概念,因为我认为.NET没有与主机应用程序等效的概念。

关于 IDE 的旁注

特别是在重构支持方面,你可以在Eclipse,IntelliJ中找到Java工具,NetBeans比Visual Studio中的开箱即用内容丰富得多。尽管ReSharper似乎为Visual Studio添加了许多缺失的功能。


推荐