当我为 .Net 开发人员寻找工作时,几乎都是相同的东西 .Net、ASP、SQL Server、CSS、Javascript、AJAX,也许还有 C#。而对于 Java,您可能必须拥有 Java、Sturts、Spring、JSF、EJB、RDMB、Eclipse RCP、CSS、Javascript、AJAX、Rest,以及任意数量的特定 Java API。由于技术如此专注,成为 .Net 开发人员是否更容易?还是看起来就是这样?
9 回答
这是不同的,而不是更容易。
将 Java 作业与框架列出的原因是因为 Java 有大量框架和设计模式可供使用,以使事情更易于维护。设计模式和框架现在也开始更多地出现在 .NET 中,因此希望看到工作变得更像那些 Java 工作。
在这两个世界中都有同样多的模式和实践——但它们在 Java 社区中更为成熟(Java 雇主会将它们推给你,你会发现自己在推你的 .NET 雇主)。
很大程度上,Java 与 .NET 是语法。做任何一个(做两个!)。但请注意模式和框架,因为它们确实可以帮助您编写更好的代码。
我是一名 C# 开发人员,相信我,Java 比 .Net 有更多的选择。不过,.Net 的明显优势在于,在任何工作中,您都使用相同的 IDE (Visual Studio),并且(在大多数情况下)使用最新的 .Net 框架(维护遗留应用程序除外)。不同的雇主可能会有一些细微的差异,例如他们使用 Enterprise Libraries、MVC 与 Forms、WPF 等;但是,如果您是一位经验丰富的 C# 开发人员,您可以根据自己的基础轻松适应。
我所在领域的一些没有学习任何其他编程语言的开发人员往往很懒惰,80% 的时间都只是简单地拖放对象来完成任务(他们中的一些人甚至认为面向对象编程只是带有对象的代码) . 如果您熟悉 C++ 或任何基于 C 的语言,您肯定会占上风,但这不是必需的。
我建议学习最好的编程实践,永远不要把所有的鸡蛋放在一个篮子里(即使上帝对我们男人这样做了),并且对 C# 以外的其他语言持开放态度。如果您学习一种基于 C 的语言,那么学习其他主要语言不会比从 VB.Net 开始那么难。
无论哪种方式,他们都是高薪工作,如果您选择其中任何一个,您都不会后悔。
我的 2 美分。
是的,使用 Java,您可以使用 JSF、Struts、Struts2、Wicket、SpringMVC、Stripes、Tepestry、Facelets 等 Web 框架......仅举几例。每个公司都在使用不同的框架,所以如果你换工作,你会学习新的框架。而它唯一的 web 框架,持久性呢?JDBC、休眠、JDO、iBatis。谁能说出 5 个 Java 模拟框架?谁使用过 5 种不同的应用服务器?数据库呢?我什至使用过 Informix 和 Teradata。我认为所有 .NET 都在使用 Sql Server,而且它更容易学好一个数据库。
请不要忘记以下 .NET 技术:Win.Forms、Silverlight、WCF、WPF、WWF……在 Web 开发之外,.NET 还有很多学习。成为一名资深的.NET 开发人员并不容易,至少没有Java 容易多少。但是,恕我直言,当您没有过去的开发经验时,更容易从 .NET 开始。
Java 本身有更多的领域进入它;我的意思是,Java 开发人员现在拥有比市场上任何其他技术更多的机会。他们以诱人的报酬被聘用,以开发不同的基于 Java 的应用程序、软件和游戏等。未来还将继续增加。坚持使用 JAVA :)
在 Java 世界中,您使用来自许多社区的技术进行开发,在 .NET 世界中,您只使用来自 Microsoft 的技术。在我看来,Java 开发人员在技术选择方面更加自由,但有时它也会给您带来问题。:)
让我们列出您提到的技术(还有一些您没有提到的技术)。这必然会有些不精确,因此将成为挑剔者的天堂:)
.NET Java 包罗万象的技术 ASP Struts 一个 Web 开发框架 JSF (.NET BCL?) Spring 一个应用程序开发框架 EJB SQL Server 一个 RDBMS 一个数据库 (VS) Eclipse 一个 IDE
CSS、Javascript、AJAX、REST 都是这两个堆栈共有的技术。
无论您选择哪种堆栈,您必须学习的技术概念都是相同的——只是名称不同。.NET 都将是“Microsoft Blah Blah Blah”,而 Java 都将有时髦酷的名字......
其他需要考虑的重要事项是,您可以在职业生涯的中途获得“烙印”为 .NET 或 Java 开发人员。到那时,切换变得更加困难,因为(可以理解)您在没有选择的那个方面经验较少。到目前为止,我一直在交替,但这会带来一系列问题,即你在每一方的新库/框架的经验上都有差距。
关于开发 Java 与 .NET 的优缺点的任何其他想法?例如,什么类型的公司、文化、薪酬等?
对我来说,似乎 .NET 倾向于在更成熟的公司中使用,而 Java 被许多初创公司使用(考虑到低成本入门和可用的开源库)。薪水是可比的,但 .NET 似乎要高一些。Java 开发可能会更有趣一些,因为您可以更频繁地使用新框架并且不受限于特定范式。
在与我的 .Net 朋友交谈时,似乎开始使用一些相当标准的东西更容易,因为大多数人都以微软的方式做事。Java 的大量选择意味着您必须选择许多不同级别的库和工具包。Java 的优势在于,当官方或通用方式不适合您时,还有很多可用的选项。
在实践中,我认为这没有太大区别。任何一家 Java 商店通常都会专注于一件特定的事情。例如,Struts 或 Spring 或 JSF,而不是全部三个。Hibernate 或 Ibatis 或纯 JDBC,不是全部三个。因此,我认为要学习的东西大致相同,因为无论您使用的是 Java 堆栈还是 .Net 堆栈,您仍然在解决大致相似的问题。