作为一个软件开发的新手,要为自己选择在未来的职业生涯中所使用的平台并不是一件容易的事。掌握任何编程语言都需要花费大量的时间和精力,这是你最不想浪费的事情。选择错误的平台会使人们感到压力,需要改变他们的知识库来完成工作。在这里,我帮助您将选择范围缩小到两个选项:Java或.NET。这已经是向前迈出的一大步,这两种选择都算成功。Java和.NET都很稳定,可以用于企业级开发,这意味着你可能会在拥有大量资源和机会的大公司工作。让我们从就业市场开始吧!截至2020年4月,Monster.com列出了超过41,000个“Java开发人员”职位和8,500个“.NET开发人员”职位。据Glassdoor称,Java开发人员(无论级别和地点)的平均工资约为79,000美元,而ASP.NET/C#开发人员的平均工资为76,500美元。你想毫不犹豫地选择JAVA吗?不要太快下结论,还是仔细想想这两个平台哪个更适合你,哪个与科技的未来关系更密切。Old-schoolJavaJava创建于1995年,是世界上最著名的技术之一,经常在各种排名中名列前茅,这可能是开发者坚持使用它的主要原因。Java相对容易学习,有很多免费的培训资源,还有一个帮助新手完成学习过程的大型社区。Java几乎适用于所有类型的项目:Web应用程序、移动应用程序、云计算等。Java的应用程序Java是一种免费技术,OracleJDK(Java开发工具包)和OracleOpenJDK也是免费的,用于在Java中创建软件。这也使得Java可以与Kotlin、Groovy、Scale等相对简单易学的编程语言一起工作,作为补充。正如刚才所指出的,就业市场充满了来自世界各地的Java开发人员的工作机会。听起来不错?坚持,稍等!Java有一些缺点,包括:授权混乱。您可能认为通过编写一个小的“helloworld”程序您就开始了Java方式,但您错了。在你真正开始学习Java之前,你需要了解这个平台上的许可,否则你可能需要向Oracle支付数千美元才能获得许可,然后才能发布你的产品。所以首先,你必须仔细了解什么是OracleJDK,它与OracleOpenJDK有何不同,两者与社区驱动的AdoptOpenJDK有何不同。来源:freevactor你还需要知道二进制代码许可证是什么,GPLv2+CPE协议能给多少权限?一个官方的FAQ似乎解释了许可情况(一个在Oracle的站点上,另一个在Java.com上),但它看起来更混乱。除此之外,您还可以轻松找到大量博客文章、Quora问题(例如“Java仍然免费吗?”),甚至是有关该主题的视频。但问题是:你真的想处理这一切吗?遗留代码。许多历史悠久的公司都用Java编写了一些东西,作为一个年轻而热情的Java学习者,您可能最终会找到一份使用过时代码的工作,而不是学习一些新的、出色的技术。高竞争。虽然职位很多,但你的竞争对手更多。研究过整个榜单的人都会发现Java位居榜首,于是又有一千个新手选择了Java。更有前途的选择:.NETFramework另一个免费、开源的开发平台,可以为您提供更好的体验——.NET。这就是它可能更适合您的原因:来源:https://devblogs.microsoft.com/dotnet/introducing-net-51。免费、开放、跨平台如果放在五六年前,上述所有特性都会让Java成为更好的选择。因为当时.NET完全被微软控制,只能运行在Windows上。然而,在过去的几年里,情况已经完全改变了。现在Java在甲骨文的领导下变得更加封闭,而微软的做法恰恰相反。.NET是一个不需要许可费用的开源平台。他们宣称开发者自由是他们平台的核心价值之一。从目前来看,微软确实在践行着他们宣扬的价值观。.NET平台的最新版本-.NETCore-与所有主要操作系统兼容:Windows、Linux、iOS。有一些开箱即用的基本.NET工具,以及大量用于构建和编辑应用程序的附加组件和第三方工具。专为.NET构建的多个库使开发过程更加舒适。2.所有应用类型。.NET框架(尤其是Core版本)允许开发几乎任何类型的应用程序,无论是企业级Web应用程序、桌面或移动软件、游戏项目,甚至是IoT服务或AI解决方案。随着WebAssembly技术和Blazorframework的出现,.NET甚至可以用于构建在浏览器中运行的客户端应用程序。这些Web应用程序的客户端和服务器端代码都是用C#编写的,因此不需要使用JavaScript。来源:https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet3.进展迅速,定期更新。.NET框架在其二十年的历史中不断发展。近四五年来,其发展速度明显加快。自2016年发布.NETCore以来,几乎每年都有一次重大更新。微软计划在2020年11月发布该平台的重大更新——.NET5。它将吸收以前版本的优点,成为所有开发任务的统一平台。此外,在2019年年会上,微软介绍了.NET平台的路线图,让人对更新的具体时间和内容有了清晰的认识。资料来源:https://devblogs.microsoft.com/dotnet/introducing-net-5/4。出色的性能多年来,用Java或.NET/C#创建的应用程序都具有类似的性能。但是,Microsoft和许多第三方贡献者在这方面的优化方面进行了大量投资,并不断改进它。例如,ASP.NETCoreWeb框架允许您在单个服务器上每秒处理700万个请求。根据TechEmpower测试,ASP.NETCore远远领先于任何Java开发的Web框架。.NET平台上的可能性的另一个演示——例如,用不同语言编写的超高速网络驱动程序。用C#编写的驱动程序表现出与C和Rust几乎相同的性能水平,略高于Go,远远领先于包括Java在内的所有其他高级语言。来源:unsplash5.C#-现代和多用途。NET最初是为了支持多种编程语言而设计的,使用最广泛的编程语言是C#(英文发音见sharp)和F#(它提供了更实用的方法)。最受欢迎和最受欢迎的无疑是C#——一种通用的面向对象编程语言。它简单易学,广泛应用于各类软件开发,无论是企业级的解决方案,还是底层的物联网和游戏项目,它让一些在Java中过于复杂的功能变得简单。尽管历史悠久,但C#与时俱进。C#中的一些特性,比如LINQ查询、lambda表达式、async/await异步操作等,都遥遥领先于其他编程语言,而Java在C#中很多年仍然缺少很多元素。.NET的缺点和Java一样,.NET在客户端开发方面也有很多缺点,你仍然可以认为JavaScript是最好的选择。在ML(机器学习)和NLP(自然语言处理)应用领域,Python是首选。Java和.NET是企业开发的两个可靠选择。Java虽然现在在所有评分中排名第一,但在就业市场上竞争非常激烈,更新相对较慢。而.NET是一个开源的面向对象的平台,可以用来开发各种各样的应用程序,对未来有着清晰的规划。2020年,将推出.NET5,这是一个结合了以前版本最佳功能的更新。这使得学习成为一种结构良好、简单、现代的技术,甚至更具吸引力。两者各有利弊,无论选择哪一种,都是明智的职业选择。
