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