.Net 与 Java 工作

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1152194/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 00:17:00  来源:igfitidea点击:

.Net vs Java Jobs

java.netjobs

提问by

When I do a job search for a .Net developer it's all mostly the same stuff .Net, ASP, SQL Server, CSS, Javascript, AJAX, and maybe C#. Whereas with Java you may have to have Java, Sturts, Spring, JSF, EJB, a RDMB, Eclipse RCP, CSS, Javascript, AJAX, Rest, any number of specific Java APIs. Is it easier to be a .Net developer since the technologies are so focused? Or does it just seem that way?

当我为 .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 开发人员是否更容易?或者看起来就是这样?

回答by Fenton

It's different, rather than easier.

这是不同的,而不是更容易。

The reason the Java jobs are listed against frameworks is becuase Java has tons of frameworks and design patterns ready to be used to make things easier to maintain. The design patterns and frameworks are starting to appear more in .NET now too, so expect to see jobs changing to look more like those Java jobs.

将 Java 作业与框架列出的原因是因为 Java 有大量的框架和设计模式可以用来使事情更容易维护。设计模式和框架现在也开始更多地出现在 .NET 中,因此预计工作会发生变化,看起来更像那些 Java 工作。

There are just as many patterns and practices in both worlds - but they are more established in the Java community (the Java employer will push them onto you, you will find yourself pushing your .NET employer).

在这两个世界中都有同样多的模式和实践——但它们在 Java 社区中更为成熟(Java 雇主会将它们推给你,你会发现自己推向了你的 .NET 雇主)。

Largely, Java vs .NET is syntax. Do either (do both!). But be aware of the patterns and frameworks as they'll really help you to write better code.

在很大程度上,Java 与 .NET 是语法。做任何一个(做两个!)。但是请注意模式和框架,因为它们确实可以帮助您编写更好的代码。

回答by AakashM

Let's line up the technologies you mention (and some you don't). This will necessarily be somewhat imprecise so will be a nitpickers paradise :)

让我们列出您提到的技术(还有一些您没有提到的技术)。这必然会有些不精确,因此将成为挑剔者的天堂:)

    .NET           Java        The overall encompassing technology
    ASP            Struts      A Web development framework
                   JSF
    (.NET BCL?)    Spring      An application development framework
                   EJB
    SQL Server     an RDBMS    A database
    (VS)           Eclipse     An IDE

CSS, Javascript, AJAX, REST are all technologies common to both stacks.

CSS、Javascript、AJAX、REST 都是两个堆栈共有的技术。

The technology concepts you have to learn are the same whatever stack you choose - it's just the names are different. The .NET ones will all be 'Microsoft Blah Blah Blah', whereas the Java ones will all have funky cool names...

无论您选择哪种堆栈,您必须学习的技术概念都是相同的——只是名称不同。.NET 的都将是“Microsoft Blah Blah Blah”,而 Java 的都将有时髦酷的名字……

回答by William Pietri

In talking with my .Net pals, it seems like getting started on something pretty standard is easier, because most people do things the Microsoft way. Java's large number of choices means you have to pick libraries and toolkits at many different levels. The upside for Java is that when the official or common way doesn't suit you, there are a lot more options available.

在与我的 .Net 伙伴交谈时,似乎开始一些非常标准的事情更容易,因为大多数人都按照 Microsoft 的方式做事。Java 的大量选择意味着您必须选择许多不同级别的库和工具包。Java 的好处是,当官方或通用方式不适合您时,还有更多可用选项。

In practice, I don't think it makes much difference. Any single Java shop will generally settle on one particular thing. E.g., Struts or Spring or JSF, not all three. Hibernate or Ibatis or pure JDBC, not all three. So I think there's about the same amount of stuff to learn, in that whether you're using a Java stack or a .Net one, you're still solving roughly similar problems.

在实践中,我认为这没有太大区别。任何一家 Java 商店通常都会解决一件特定的事情。例如,Struts 或 Spring 或 JSF,而不是所有三个。Hibernate 或 Ibatis 或纯 JDBC,并非所有三种。所以我认为需要学习的东西数量大致相同,无论您使用的是 Java 堆栈还是 .Net 堆栈,您仍然在解决大致相似的问题。

回答by IAdapter

Yes, with Java you have web frameworks like JSF, Struts, Struts2, Wicket, SpringMVC, Stripes, Tepestry, Facelets .. just to name a few. Every company is using different frameworks, so if you change job you will learn new frameworks. And its only web framework, what about persistance ? JDBC, Hibernate, JDO, iBatis. Who can name 5 mocking frameworks for Java? Who have used 5 different application servers? What about databases? Ive even used Informix and Teradata. I think all .NET is using Sql Server and its easier to learn one database well.

是的,使用 Java,您拥有 Web 框架,例如 JSF、Struts、Struts2、Wicket、SpringMVC、Stripes、Tepestry、Facelets ……仅举几例。每个公司都在使用不同的框架,所以如果你换工作,你会学习新的框架。它唯一的 Web 框架,那么持久性呢?JDBC、Hibernate、JDO、iBatis。谁能说出 5 个 Java 模拟框架?谁使用过 5 种不同的应用服务器?数据库呢?我什至使用过 Informix 和 Teradata。我认为所有 .NET 都在使用 Sql Server 并且它更容易学习一个数据库。

回答by Bruce Li

In Java world, you develop with technologies from many communities, in .NET world, you only work on technologies from Microsoft. In my opinion Java developers are more free in terms of choices of technologies, but sometimes it also brings you problems. :)

在 Java 世界中,您使用来自许多社区的技术进行开发,在 .NET 世界中,您只使用来自 Microsoft 的技术。在我看来,Java 开发人员在技术选择上更加自由,但有时也会给你带来问题。:)

回答by Bogdan_Ch

Please don't forget about the following .NET technologies: Win.Forms, Silverlight, WCF, WPF, WWF... There are still a lot of learning in .NET outside of web development. It is not easy to be a senior.NET developer, at least not much easier then Java. However, IMHO it is easier to start in .NET when you have no past development experience.

请不要忘记以下 .NET 技术:Win.Forms、Silverlight、WCF、WPF、WWF……在 Web 开发之外,在 .NET 中还有很多学习内容。成为一名高级.NET 开发人员并不容易,至少没有 Java 容易得多。但是,恕我直言,当您没有过去的开发经验时,在 .NET 中启动会更容易。

回答by Martin Ongtangco

I'm a C# developer, believe me, there are more choices in Java than in .Net. The obvious advantage in .Net, though, is that in any job you land uses the same IDE (Visual Studio) and (in most cases) uses the latest .Net framework (except for maintaining legacy apps). There may be some subtle differences in different employers such as them using Enterprise Libraries, MVC versus Forms, WPF, etc.; But if you're a seasoned C# developer, you can adapt easily depending on your fundamentals.

我是一名 C# 开发人员,相信我,Java 比 .Net 有更多选择。不过,.Net 的明显优势在于,您在任何工作中都使用相同的 IDE (Visual Studio) 并且(在大多数情况下)使用最新的 .Net 框架(维护遗留应用程序除外)。不同的雇主可能会有一些细微的差异,例如他们使用企业库、MVC 与表单、WPF 等;但是,如果您是经验丰富的 C# 开发人员,则可以根据自己的基础轻松适应。

Some developers in my field who did not learn any other programming languages tend to be lazy and simply drag-n-drop objects to accomplish tasks 80% of the time (some of them even believe that object-oriented programming is simply code with objects). If you are familiar in C++ or any C based language, you will definitely have the upper hand but that is not a requirement.

我所在领域的一些开发人员没有学习任何其他编程语言,他们往往很懒惰,80% 的时间只是简单地拖放对象来完成任务(他们中的一些人甚至认为面向对象编程只是用对象编写代码) . 如果您熟悉 C++ 或任何基于 C 的语言,您肯定会占上风,但这不是必需的。

I'd suggest learn the best programming practices, never put all your eggs in one basket (even though god did that to us men), and be open to other languages other than C#. If you learn one C-based language, learning other major languages won't be as hard rather than starting with VB.Net.

我建议学习最好的编程实践,永远不要把所有的鸡蛋放在一个篮子里(即使上帝对我们男人这样做了),并且对 C# 以外的其他语言持开放态度。如果您学习一种基于 C 的语言,那么学习其他主要语言不会比从 VB.Net 开始更难。

Either way, both of them are well paying jobs and you won't regret if you choose either one.

无论哪种方式,它们都是高薪工作,如果您选择其中任何一个,您都不会后悔。

my 2 cents.

我的 2 美分。

回答by taj

Something else important to consider is that you can get "branded" as a .NET or Java developer midway into your career. At that point, it becomes more difficult to switch, since (understandably) you have less experience in the one you didn't choose. Thus far, I have been alternating, but that comes with its own set of problems where you have gaps in experience with new libraries/frameworks on each side.

需要考虑的另一件重要事情是,您可以在职业生涯中途获得“品牌”作为 .NET 或 Java 开发人员的称号。在这一点上,切换变得更加困难,因为(可以理解)你对你没有选择的人的经验较少。到目前为止,我一直在交替,但这也带来了一系列问题,你在每一方的新库/框架的经验上都有差距。

Any other thoughts on the pros/cons of developing Java vs. .NET? For instance, what types of companies, cultures, pay, etc?

关于开发 Java 与 .NET 的优缺点还有其他想法吗?例如,什么类型的公司、文化、薪酬等?

For me, it seems like .NET tends to be in more established companies whereas Java is used by a lot of startups (given the low cost entry and open source libraries available). The pay is comparable, but .NET seems a little higher. Java development might be a little more fun given that you get to play with new frameworks more often and aren't as restricted to specific paradigms.

对我来说,似乎 .NET 倾向于在更成熟的公司中使用,而 Java 被许多初创公司使用(考虑到低成本的入门和可用的开源库)。薪酬是可比的,但 .NET 似乎更高一些。Java 开发可能会更有趣一些,因为您可以更频繁地使用新框架并且不受特定范式的限制。

回答by Sam

Java itself has more fields coming into it; I mean, Java developers have now more opportunities than any other technologies in the market. They are being hired at attractive compensations to develop different java-based applications, software and games etc. It will continue to be increased in future as well. Just stick with JAVA :)

Java 本身有更多的领域进入它;我的意思是,Java 开发人员现在拥有比市场上任何其他技术都多的机会。他们以诱人的薪酬被聘用,以开发不同的基于 Java 的应用程序、软件和游戏等。未来还将继续增加。坚持使用JAVA :)