当我找工作搜索.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开发人员,因为技术如此专注?或者它看起来那样?
答案 0 :(得分:44)
这是不同的,而不是更容易。
针对框架列出Java作业的原因是Java有大量的框架和设计模式可供使用以使事情更容易维护。设计模式和框架现在也开始出现在.NET中,所以期望看到工作变得更像Java工作。
两个世界中的模式和实践一样多 - 但它们在Java社区中更为成熟(Java雇主会将它们推向您,您会发现自己正在推动.NET雇主)。
很大程度上,Java vs .NET是语法。做其中之一(两者都做!)。但请注意模式和框架,因为它们真的可以帮助您编写更好的代码。
答案 1 :(得分:33)
我是C#开发人员,请相信我,Java中的选择多于.Net。但是,.Net中的明显优势在于,您所使用的任何作业都使用相同的IDE(Visual Studio),并且(在大多数情况下)使用最新的.Net框架(维护旧版应用程序除外)。不同的雇主可能会有一些微妙的差异,例如他们使用企业图书馆,MVC与表格,WPF等;但如果你是一名经验丰富的C#开发人员,你可以根据自己的基本原理轻松适应。
我所在领域的一些没有学习任何其他编程语言的开发人员往往是懒惰的,只需拖放对象就可以在80%的时间内完成任务(有些人甚至认为面向对象的编程只是代码与对象)。如果您熟悉C ++或任何基于C语言,那么您肯定会占上风,但这不是必需的。
我建议学习最好的编程习惯,永远不要把所有的鸡蛋都放在一个篮子里(即使上帝对我们的男人这样做),并且对C#以外的其他语言开放。如果你学习一种基于C语言的语言,那么学习其他主要语言并不会比用VB.Net开始那么难。
无论哪种方式,他们都是薪水很高的工作,如果你选择其中任何一个,你都不会后悔。
我的2美分。答案 2 :(得分:16)
是的,使用Java,你有Web框架,如JSF,Struts,Struts2,Wicket,SpringMVC,Stripes,Tepestry,Facelets ......仅举几例。 每家公司都使用不同的框架,所以如果你改变工作,你将学习新的框架。而它唯一的网络框架,持久性呢? JDBC,Hibernate,JDO,iBatis。谁可以为Java命名5个模拟框架?谁使用过5种不同的应用服务器?数据库怎么样?我甚至使用过Informix和Teradata。我认为所有.NET都使用Sql Server,并且更容易学习一个数据库。
答案 3 :(得分:14)
请不要忘记以下.NET技术:Win.Forms,Silverlight,WCF,WPF,WWF ......在Web开发之外,.NET中仍有很多学习知识。成为一名高级 .NET开发人员并不容易,至少比Java更容易。但是,恕我直言,当你没有过去的开发经验时,它更容易在.NET中启动。
答案 4 :(得分:11)
在Java世界中,您使用来自许多社区的技术进行开发,在.NET世界中,您只使用来自Microsoft的技术。在我看来,Java开发人员在技术选择方面更加自由,但有时它也会给你带来问题。 :)
答案 5 :(得分:11)
Java本身有更多领域;我的意思是,Java开发人员现在拥有的机会比市场上任何其他技术都多。他们正在受到有吸引力的补偿,以开发不同的基于Java的应用程序,软件和游戏等。它将来也会继续增加。坚持使用JAVA:)
答案 6 :(得分:10)
让我们排列你提到的技术(有些你不提及)。这必然有点不精确,所以将是一个挑剔的天堂:)
.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都是两种堆栈共有的技术。
您必须学习的技术概念与您选择的任何堆栈相同 - 只是名称不同。 .NET的所有人都将是“微软Blah Blah Blah”,而Java的人都将拥有时髦酷炫的名字......
答案 7 :(得分:9)
要考虑的其他重要事项是,您可以在职业生涯的中途获得“品牌”作为.NET或Java开发人员。在那时,切换变得更加困难,因为(可以理解)你在没有选择的那个中经验较少。到目前为止,我一直在交替,但是它带来了一系列问题,你们每边都有新的库/框架经验。
关于开发Java与.NET的优缺点的其他想法?例如,什么类型的公司,文化,支付等?
对我而言,似乎.NET倾向于在更成熟的公司中,而Java被许多初创公司使用(考虑到低成本条目和可用的开源库)。薪水是可比的,但.NET似乎有点高。 Java开发可能会更有趣,因为您可以更频繁地使用新框架,而不是局限于特定范例。
答案 8 :(得分:6)
在与我的.Net朋友交谈时,似乎开始使用非常标准的东西更容易,因为大多数人都以微软的方式做事。 Java的大量选择意味着您必须在许多不同级别选择库和工具包。 Java的优势在于,当官方或普通方式不适合您时,还有更多选择。
在实践中,我认为它没有多大区别。任何一个Java商店通常都会选择一个特定的东西。例如,Struts或Spring或JSF,而不是全部三个。 Hibernate或Ibatis或纯JDBC,不是全部三种。所以我认为有相同数量的东西需要学习,因为无论你使用的是Java堆栈还是.Net堆栈,你仍然可以解决大致相似的问题。