2019年最值得学习的编码语言

在理想的世界中,您对编程语言的选择无关紧要。 大多数流行语言都具有相同的基本概念,未经训练的人大多数看起来都是相同的,并且使您或多或少地获得相同的结果。 从开发人员的角度来看,编程语言是一种工具,选择正确的语言将影响一个人的职业,经济前景和未来的幸福感。 本文着眼于五种最流行的编程语言,研究了它们的个体和相对优点,并建议您在2019年应该学习哪些语言。

选择一种编码语言涉及多个折衷方案。 对于初学者,您将需要在所花费的时间和精力与该语言的感知收益之间找到平衡。 您还需要查看任何给定语言的长期前景。 对于2000年代初期的Web开发人员而言,PHP和Ruby on Rails看起来像是促进您职业发展的最佳语言。 今天,主要的市场条件已经改变,PHP和Ruby不在我们的建议之列。

本文提供了精选的2019年最佳学习的编码语言。对于每种语言,我们都会为您简要概述该语言,其用途及其长期前景。 我们还列出了值得研究但更专业或服务于特定市场的语言的荣誉提名列表。 为了显示每种语言的市场份额和采用率,我们根据它们在Stack Overflow的2018年开发人员调查中的排名选择了我们的选择。

学习一种新语言的关键原因之一是能够利用它提供的就业机会。 雇主可以通过编码访谈来了解自己对所选语言的了解程度。 为了显示在编码采访中可能会问到的问题类型,我们为我们的每条建议提供了一系列可能的问题。

请注意,我们的列表是基于“堆栈溢出”调查得出的,但是我们已经对我们推荐最常学习的语言进行了排名。 此外,我们只选择命令式语言 ,不包括在调查中排在第二,第三和第四位的声明性语言(例如HTML,CSS和SQL)以及Shell脚本语言(例如Bash)。

数字1:JavaScript

根据Stack Overflow的2018年开发人员调查 ,有71.5%的专业开发人员将JavaScript列为最受欢迎的编程语言。 与2015年相比,这是一个很大的增长,当时只有54.4%的开发人员将JavaScript列为最受欢迎的技术。

出现这种情况的原因之一是JavaScript无处不在。 在客户端,您可以使用AngularReactVue等前端JavaScript框架来构建基于浏览器的Web应用程序。 在浏览器之外, Node.js允许您使用用于编写客户端代码的相同语言来编写后端应用程序。 使用Node,您可以编写Web服务,管理物联网(IoT)并进行机器学习实验。 与所有其他语言相比,选择JavaScript的关键因素是它在整个软件行业中的广泛支持-包括Google,Facebook,Microsoft和Amazon的重大努力。 您还可以找到各种各样的付费和免费课程,网站,书籍,视频和博客,其中涵盖了该语言以及所有与之相关的主题。

在JavaScript的大部分历史中,JavaScript被视为编程语言的丑小鸭。 尽管它从未像儿童故事那样成为美丽的天鹅,但JavaScript社区已经做出了共同努力,将其从基于浏览器的脚本语言转换为现代的通用语言。 随着时间的流逝,许多JavaScript的粗糙边缘都被磨掉了,但确实存在。

值得注意的是,就JavaScript而言,许多潜在雇主将在他们的编程采访中根据对JavaScript的较模糊特征的了解来对潜在候选人进行评估。 常见的编码面试问题涉及变量范围,闭包,回调和条件运算符。 任何寻找涉及JavaScript的工作的人都应该为这些和类似的问题做好准备。 我们还建议您了解您感兴趣的公司,研究其开发堆栈,并在相关的现代框架(例如React,Angular或Vue)上实践展示您的技能。

数字2:Python

根据Stack Overflow调查,Python在37.9%的专业开发人员中很受欢迎。 我们的评估基于Python的快速采用率,在过去五年中,Python的增长速度超过了其他任何语言。 Python的影响力是如此之高,以至于 经济学人》( The Economist)杂志以其与开发人员相关的主题而广为人知,并在最近的一篇文章中谈到了该语言。

Python受欢迎的部分原因是它摆脱了其他语言的烦人习惯,例如使用分号指示语句的结尾。 这可以解释为什么Python取代Java成为计算机科学教学的主要教学语言-不仅在大学而且在高中和小学课程中也是如此。 Python已在学术界广为人知,并且是用于机器学习和数据科学的最流行的通用语言。 实际上,Python目前在这些领域占据主导地位,以至于最近有人提出将Python与数据科学语言R 合并

Python与其他编码语言既相似又非常不同。 当要成为一名Python开发人员时,编码面试将需要测试候选人对Python如何实现通用语言功能(例如数据类型,模块化,函数和类)的理解。 他们可能还会询问如何将Python用作脚本,面向对象或功能编程语言,或者您是否了解Python特定的数据类型和功能,例如元组,列表推导,字典和修饰符。

第三名:Java

第三名是Java ,根据Stack Overflow的2018年调查显示,有45.5%的专业开发人员喜欢Java

Java持久吸引力的一个原因是Java虚拟机(JVM) 。 JVM使在不同的硬件平台和设备上运行每种语言成为可能。 Java还被设计为处理许多与数据类型和内存管理相关的任务,这些任务使开发人员的生活陷入困境。 Java简化应用程序开发并将其部署在不同操作系统中的能力使Java成为大型组织的首选语言。 这是可以使您在大公司中稳定工作的语言。 Java的另一个重要用途是编写本机Android应用程序。 在智能手机操作系统领域, Android的市场份额超过其所有竞争对手的总和,这是许多开发人员学习Java的主要动力之一。

近年来,已经为JVM创建或移植了许多流行的语言,并广泛使用了Java生态系统。 这些语言在特定上下文中很流行,包括Scala,Closure和Kotlin。 Kotlin有许多有趣的用途,包括编写Android应用程序和使用Corda框架创建智能合约。

在寻找Java开发人员的工作时,重要的是要了解语言的范围。 编码采访可以包括任何可能的Java相关主题。 对于企业开发工作,您可能需要证明您对Java基础架构的理解,因此请期待有关JDK,JRE和JVM的问题 。 将向Android开发人员询问与Android具体相关的问题,包括SDK版本管理,意图,设备仿真和应用程序部署过程。 如果您正在为一家运行Java以外的特定JVM语言的公司面试,那么在该语言上磨练技能也可以提供优势。

4号:C#

参加Stack Overflow 2018年调查的专业开发人员中,有35.5%是Microsoft C#的粉丝。 尽管许多开发人员对Microsoft的所有事物持反对态度,但不仅Python和Java的排名都高于C#,而且Bash脚本语言在40.4%的开发人员中也很受欢迎。

在当今市场上,Java仍然比C#更好,但是从长远来看,有迹象表明这可能会改变。 Java提供新功能的速度一直在放缓,而Microsoft一直在积极向C#添加新功能。 这是该公司为摆脱对Windows操作系统的依赖而作出的一致努力的一部分,其中包括购买Xamarin和其跨平台开发环境,发布多平台.NET Core以及持续的投资。在Azure中 。 微软认为C#在其新战略中发挥了作用,并努力确保C#可以同时使用Microsoft技术和开放行业标准。

像Java一样,C#语言和生态系统也非常丰富。 这意味着对于您申请的任何职位,做功课并了解准雇主的市场都是很重要的。 像Java一样,大多数C#编码访谈都将包含与C#基础结构相关的问题,包括.Net框架公共语言运行时(CLR) 。 还应注意的是,CLR托管其他语言,例如F#和VB.net。 如果您正在面试一家除C#外还使用另一种CLR语言的公司,那么值得用该语言学习和编码。

数字5:C / C ++

尽管CC ++是具有不同编程模型的独立语言,但它们是如此紧密地联系在一起,因此,出于本文的目的,我们将一起讨论它们。

对于通用和专门任务,例如应用程序开发,用户界面,移动应用程序和机器学习,C已被该列表中的其他语言所取代。 但是,对于嵌入式系统和构建操作系统,C仍然保持着自己的地位。 没有什么比Linux更好地说明了这一点。 Linux是有史以来最流行的操作系统,并在最大的大型机以及运行Android的任何设备中使用。 Linux的关键部分是Linux内核,Linux内核是用C编写的。C的另一个常见用法是编写其他编程语言,例如我们的第二选择Python。

C ++是C的更现代的,面向对象的版本。C++是在性能很重要的任何应用程序中使用的语言。 例如,许多公司,尤其是金融部门的公司,在其后端系统中使用它。 无聊的东西和一些最令人兴奋的技术领域都采用了C ++。 由于其在高速工作中的声誉,C ++也是图形密集型应用程序(包括游戏开发,图形引擎以及虚拟现实和增强现实)的首选语言。

在寻找使用C或C ++的工作时,一些面试官会提出可能适用于这两种语言的问题。 这些包括对有关数据类型,运算符,循环,条件语句,指针和内存管理的访谈问题进行编码。 可能还会要求您定义和解释链表,并编写一个简短的程序来实现和管理链表。 由于C ++是一种面向对象的语言,因此很可能会询问您有关其对对象,类,方法,属性等的支持的类似类型的问题。

荣誉奖

我们列表上的五个选择都是通用语言。 以下是其他几种较为专业的语言或服务于较小的细分市场的语言。

Apple的Swift是一种受到广泛关注的语言。 Swift旨在作为Apple的新通用语言,旨在替代Objective-C。 Swift可用于编写iOS和Mac桌面应用程序,并由Apple根据开放源代码许可证发行,希望它成为一种服务器语言。 不幸的是,这种希望没有实现。

在Web开发领域, PHP仍然非常流行。 尽管PHP作为一种语言存在局限性,并且存在更好的替代方案,但PHP仍被许多大型Web财产(例如Facebook和Wikipedia)使用。 Facebook甚至创建了自己的PHP方言Hack。 PHP还是许多大型开源平台(例如WordPressMediaWiki)使用的语言。 这些平台已被广泛采用,并且PHP用于为其创建插件。 Facebook仍然致力于PHP,甚至创建了自己的现代化版本的语言Hack 。 然后是Ruby ,它是PHP的一种现代且设计更好的替代方案。 Ruby on Rails Web开发框架已广泛部署,并拥有庞大而活跃的支持社区。

对于更高度专业化的用途,例如系统编程, Google的GoMozilla的Rust都很有前途。 两种语言都旨在构建高度并发的系统。 在函数式编程领域, ElixirErlang的现代替代品, Clojure是在JVM上运行的Lisp的现代形式,而F#是在.NET运行时上运行的功能语言,具有许多主流功能。 最后,如果您对快速发展的智能合约和基于以太坊的加密货币领域感兴趣,则应研究Solidity

结论:选择正确的语言

在我们研究的五种语言中,您如何选择最适合您的一种? 根据当前的趋势,应用范围最广的最佳通用语言是JavaScript。 您可以在大多数设备上运行它,并使用它来构建客户端,服务器和无服务器应用程序。 在过去的十年中,JavaScript发生了变化,如今与C#和Lisp等现代语言有很多共同点。 是的,它仍然具有一些粗糙的边缘,但是它们不像以前那样突出。

我们的第二选择Python是对于开发人员进行长期职业发展的最佳选择。 正如我们指出的,它已经成为用于研究和教育的语言。 它也是机器学习,人工智能和数据科学相关领域中的主导语言。 在构建用户界面方面,JavaScript比Python具有明显的优势。 但是随着时间的流逝,这种优势可能变得不那么重要了。 对于初学者来说,Web Assembly标准使得可以使用任何高级语言来编写基于浏览器的应用程序。 此外,如果基于语音的用户界面得到了广泛接受,则图形用户界面将变得不那么重要。 由于Python是亚马逊Echo语音助手的技能编写语言,因此它在这一领域已经占据了领先地位。

在企业空间中,您将需要在Java和C#之间进行选择。 这两种语言的语法,功能和基础结构都非常相似,您可以根据个人喜好,职位空缺或掷硬币来选择它们。 如前所述,Java比C#的历史更长,更受欢迎,并且发布的职位也更多。 另一方面,Microsoft的积极支持及其推动C#成为真正的跨平台解决方案的动力使它成为一个更好的长期选择。 Java仍然是Android的语言,但是Microsoft的Xamarin允许您使用C#编写Android,iOS和Mac应用程序。 请注意,C#在启动社区中的声誉很差,在硅谷并不受欢迎。 在这些圈子中,C#开发人员通常被视为二等公民。

同样重要的是要意识到,在申请Java / C#企业计算职位时,访问员将着重于您使用两种语言(而不是特定语言功能)创建后端应用程序的能力。 在编写解决方案的代码时,您应该编写惯用的代码,在这里您可以展示您对语言功能的了解, 同时解决实际问题。

最后,C和C ++都可以算作通用语言,但实际上,它们主要用于特定领域。 对于C,它们是系统和嵌入式编程。 对于C ++,它们是高性能,资源密集型应用程序,例如实时图形。 两者都用于没有明确替代方法的情况,并且当您需要构建这些类型的应用程序时,应该选择学习这些语言。

最重要的是,在进行编码面试时,请确保您了解适用于所申请工作的任何语言的来龙去脉。 编码面试是申请过程中压力很大的一部分,但是磨练一种语言的优势,局限性和应用以及做好准备将使任何面试和您的求职经历变得更加容易。

From: https://hackernoon.com/best-coding-languages-to-learn-in-2019-b49b49250a25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值