开发者社区 > 博文 > 2020年TOP7的编程语言和框架,它们至少还能风靡全球5年以上
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

2020年TOP7的编程语言和框架,它们至少还能风靡全球5年以上

  • 京东科技开发者
  • 2020-08-03
  • IP归属:北京
  • 350240浏览

在本文中,我们将看一看由我推荐的编程语言和框架列表,我相信在接下来的5年至10年中,对于开发者来说,这份列表中的语言和框架仍然会有用。同时考虑到我不希望该列表仅是另一个备受好评的编程语言推荐,尽管这过程由于每个人的偏好不同而带来困难,我仍然会精心挑选,收窄范围。同时,为了应对日新月异的程序发展,在记下想法时,我也不断思考编程范式和创新是如何随着时间演变的。



回顾2020年,过去的五年我们发生了很多变化,诸如区块链,机器学习、深度学习和量子计算等新趋势正在涌现。对于刚开始学习编程甚至是经验丰富的开发人员的人,最好是反思一下自己的位置和想要做的事情,以便在这个瞬息万变的动态领域保持专业。过时是一个永恒的现实,一直潜伏在我们的肩膀上。因此马上出发,开始新的知识之旅并习得新技术然后添加到您的工具栏中。


为什么对开发者来说,选择并学习正确的语言或框架很重要?


虽然,学习新的语言和框架对您而言是一笔不少的时间投入,无论是金钱还是工作时间,您都无法从中直接获得回报。但几乎每一年技术总是在变化,所以与时俱进的想法是很重要的,而选择正确的语言和框架甚至能改善生活,彻底改变您的业务方式,并且会极大地帮助开发及长期战斗能力。因此,您自然希望您所选择的语言和框架,是有价值并且不会过时的事物。



1

 Rust


Rust是一种系统编程语言,旨在替代C和C ++开发。Rust具备了C和C ++的性能,可以更有效地帮助开发人员。对于那些使用C / C ++进行编程的人来说,一定能明白我这句话的意思。进入这个领域的新开发人员已经相当多。 Rust具有不断增长的用户基础。现在,有数百家公司将Rust用于开发语言,例如Dropbox,Yelp和Cloudflare。像Amazon最近宣布的虚拟化技术Firecracker之类的产品都是用Rust创建的,在StackOverflow的2016年开发者调查中,Rust也被评为“最受欢迎的”技术(这意味着它拥有最多的用户希望继续使用它)。


尽管与几十年来的其他语言相比,它相对较新,但令人惊讶的是,它具有大量可用库的清单,可用于加快开发工作。您可以在crates.io或GitHub上找到大部分您想要的内容。


Rust的一些关键功能:

 

速度和内存效率:由于它没有runtime或garbage collector,它可以全力为关键性能服务提供支持,也可以在嵌入式设备上运行,并且可以轻松地与其他语言集成。未来的5年和10年,因为我们将遇到硬件的限制,而Rust语言将更快,内存占用更少,能提高速度和响应能力,能使我们编写更节能的代码。


可靠性:Rust的丰富类型系统和所有权模型可确保内存安全性和线程安全性,并使您能够在编译时消除许多类的错误。


生产率:Rust拥有出色的文档,用户友好的编译器提醒哪里出错了。相较之下,众所周知,C ++代码的编译器消息很难解密。Rust的编译器更好,更有用。如果您想学习系统编程,以“ rustc”编译器作为指南将使您不必担心存储器安全性以外的其他问题。



2

 Python


这些年来,Python的流行度一直在稳步上升,尤其是在过去10年中,急速跃升了Tiobe Index的前5名。Python用途广泛,它是一种非常实用的语言,非常适合许多实际场景。对于初学者来说,它是一种脚本语言,这意味着入门非常迅速,没有像Java这样麻烦的编译运行周期。本质上就是面向对象的语言,也就是说,您选择以面向对象的方式编程。Python已取代Java,成为在大学许多学术课程中默认的首选语言。对于初学者来说,开始安装python解释器运行非常容易:

$ print (‘hello world this is my. First program’)

就是这样,您的第一个程序是用Python编写的。


Python为未来铺平了道路。因此,它在未来5年或以后的意义必然是重大的。Python里配备诸如TensorFlow,Scikit-Learn,Dask等成熟库,这些库中有大量代码关于机器学习,深度学习,人工智能,大数据等新技术。可见,Python已经成为互联网上所有流行的数据科学中的世界编程语言。此外,Python还能实现分布式数据科学的大型可扩展计算,这可以用于量子计算。

 

Python已在企业和初创企业中广受好评。这些巨大的进步是在过去5年中取得的,因此,Python现在比以往任何时候都更加强大。同时,我们现在拥有广泛的平台,例如Reddit,建立在Python之上的Google库。我个人也常使用Python来编写脚本并快速自动执行许多平凡的任务,它是快速完成自由项目的宝贵语言。

 

如果您会使用Python,那就足够了。因为Python可以访问Django等网络框架,该框架是构建Web前端和后端应用程序的最好框架。其遵循DRY原理,以很少的代码和很少的编程经验即可快速构建应用程序。



3

 Ruby


Ruby是另一种功能强大的高级编程语言,它可以使您轻松轻松地构建应用程序。Ruby作为一种面向对象的编程语言,对于那些有Python经验的人来说,Ruby语法看起来与Python非常相似。该语言还配备了构建复杂应用程序所需的所有工具


许多硅谷初创公司已经在Ruby之上建立了自己的业务,其中包括Airbnb,Twitch,GitHub和Twitter。运行Ruby的全栈Web应用程序框架Ruby on Rails进一步巩固了其流行性。


Ruby的一些关键功能:


  • Ruby提供了强大又简单的代码库

  • 有助于快速进行开发原型设计

  • 由于学习难度低,新程序员可以轻松地上手

  • 它是一种面向对象的编程语言,因此您可以在该范式的学习中必定会受益匪浅



4

 Golang


Go(Golang)是Google所开发的一种相对较新的编程语言。最近它已经越来越流行。Go为多线程提供了出色的支持,由于,许多公司极度依赖于分布式系统,因此正在广泛地使用它。Go的设计旨在解决Google面临的紧迫问题。Google还将Go用作新项目的主要语言,并用Go替代其他语言。由于google与我们的日常生活息息相关,因此我们不可能否认它,因为它在可预见的未来仍将继续存在。


我十分同意Go是一门漂亮的语言,带有令人愉悦的语法。它作为动态类型语言及解释型语言,其在专业的易用性、性能、类型安全性与内存安全性之间取得了平衡


Go的一些关键功能


  • Go的主要功能之一是通过Goroutine和Channels。由于Go在设计上具有并发性,因此使您可以有效地使用CPU功能,擅长于云系统开发中的分布式系统,微服务。

  • 轻量级,快速执行和快速开发,

  • 较小的内存占用空间和较小的二进制文件大小

  • 自动的Garbage collection

  • 没有异常,Go自行处理错误。

等一下,您没看错。这对您意味着什么?与其抛出大量的try-catch异常并变得懒惰,不如让Go处理这些错误。考虑一下吧


有趣的事实


  1. 全球Go开发人员平均工资:每年109,483美元。在美国,使用这种顶级编程语言的平均年薪为$ 136K;

  2. 在2019年Stack Overflow开发者调查中,Go是全球收入第三高的语言;

  3. Go编程语言是GitHub上第四活跃的语言。



5

 GraphQL


当我们回顾过去,与今天相比,Web API设计相对简单,因为当时有REST表示状态传输标准,可从服务器检索数据,该标准通过URL访问数据。由于越来越多的移动设备使用,API变得更加复杂且由数据驱动,因此必须设计新方法以实现更好的数据检索。GraphQL数据不是静态数据之前的样子,所以创建这样的GraphQL会更加动态。GraphQL是基于REST的体系结构的现代替代方案,旨在解决其缺点。与REST不同,GraphQL允许请求客户端所需的特定数据,这与固定数据结构方法比起来更好它的核心是从客户端应用程序查询数据库的语言


在后端,GraphQL向API指定如何将数据呈现给客户端。GraphQL重新定义了开发人员使用API的工作,这些API提供了更大的灵活性并可以投放市场。它使前者能够发出精确的数据请求,并获得更多更多的数据,从而改善了客户端与服务器之间的交互。GraphQL最初由Facebook于2012年创建,通过其特定的数据提取功能在内部用于其移动应用程序,以减少网络内存的使用量。从那时起,GraphQL规范成为开源的。现在,主要的编程语言(例如Python,Java,C,Node.js等)都支持它。由于生态系统的迅速扩展,这使其成为在可预见的未来中,具有重要意义及独特的技术之一,GraphQL凭借其不断扩展的库和强大的工具(如Apollo,GraphiQL和GraphQL Explorer)成为有用的语言。

 

GraphQL的一些关键功能


  • GraphQL速度更快,只需要选择要查询的字段就能完成任务

  • 通过在其API后面集成多个系统,非常适合复杂的系统和微服务

  • GraphQL非常适合构建微服务架构,可将多个位置的数据聚合到单个API中,并通过单个API调用来获取数据

  • 没有over -fetching和under -fetching的问题

  • 即套即用的验证和类型检查

  • 自动生成的API文档使您无需担心Swagger并可以直接到Github找出问题,寻找有关如何使用该规范的线索

  • 没有版本控制的API演变是REST的常见问题,因为API的更新迫使您要么创建新的API要么在URL上加上版本前缀,并且常弹出不能删除的提示。通过使用GraphQL,您可以拥有一个不断自更新的版本,这使您的应用程序可以连续访问新功能并一直使用更干净,更可维护的服务器代码。


GraphQL并非试图取代REST,而是试图解决不同类型问题的两种不同方式。随着我们向大数据迈进,花一些时间来学习Graphql是很有意义的。



6

 Angular


Angular是用于软件开发的TypeScript完整框架,是用于构建Web和移动应用程序的著名开源框架之一。


由Google开发。Angular是AngularJS完全重写的新版本。虽然从angularJS刚发布开始,它的地位一些动摇,但如今,Angular已发展成为一个全面的开发框架,其中包括构建Web和移动应用程序所需的所有工具和组件。该框架的优点在于它遵循清晰的路线图,每六个月发布一次新的主要版本Angular,如果您对长期使用有所了解,便会知道这确实很重要。


Angular的一些关键功能


下面,我仅介绍Angular 9中已解决的功能,这些功能可能会解决您对性能的某些担忧。


  1. Google为该框架提供了长期支持并不断对其进行改进。同时经常进行常规改进,以表明该框架具有强大的后盾,并且Google真的希望看到其成功。因此,了解Google对其进行的支持以及投资,就能知道该框架将在可预见的未来保持专业性和可用性

  2. Angular 9的另一个主要功能是通过Ivy Compiler减少了大文件包,从而减小了占用空间。通过减小JavaScript包的大小,对于试图加速应用程序启动的开发人员来说,Ivy成为令人欣喜的改进

  3. Angular9支持多种语言的应用程序,因此其国际化程度更高



7

 JavaScript


Javascript是我真诚地向你推荐的语言,毫无疑问,这种语言将在未来几年依旧流行。因此,投资时间在这种语言将在未来得到回报。JavaScript不仅仅是一种客户端脚本语言,有了诸如Node JS,Angular和React之类的框架和库,您就可以在服务器端使用JavaScript以及进行用户界面开发



JavaScript是Netflix,Facebook,Google等许多大型科技公司的心脏。因此,JavaScript作为一种语言与任何其他编程语言一样兼容。2020年是开始学习的一年,快使用您的业余时间学习JavaScript。不信的话您现在想一想,是不是几乎所有的网站都在某种程度上利用了JavaScript。



结论


请您细想,其实所有的编程语言和框架都可以构建复杂而强大的功能。因此选择解决现实世界中紧迫问题的应用程序吧!没有一种语言是适合所有人的,因此总是倾向于一种特定的语言几乎是不可能的,因为每种语言和框架都有其优点,也有其缺点,我们只能使用它有意义或不合理的地方。始终牢记并记住,任何编程语言或框架的目标都是完成工作,选择最适合您的口味的技术


🔗原文链接:

https://medium.com/swlh/top-7-programming-languages-frameworks-to-learn-in-2020-that-will-still-be-relevant-in-5-years-11245d7e2d56



以上信息来源于网络,由“京东智联云开发者”公众号编辑整理,

不代表京东智联云立场


共0条评论