选择何种编程语言似乎无关紧要,因为大多数流行语言基于相同的基本概念,对于未经训练的人来说,大多数语言看起来都是一样的,都能得到大致相同的结果。但从开发人员的角度来看,编程语言不仅是一种工具,选择正确的编程语言将影响一个人的职业生涯,经济前景和未来的幸福。本文将推荐五种当下和未来一段时间最值得学习五种编程语言,并逐一介绍它们的特点和优点,以及面试中需要注意的要点。
image对于初学者来说,选择编程语言是一件非常纠结耗神的事情,你需要结合自身需求找到平衡点,同时还要留意一门语言的长期前景。对于21世纪初的Web开发人员来说,PHP和Ruby on Rails看起来是推动职业发展的最佳语言。但是今天,市场条件已经发生了变化,PHP和Ruby不属于我们接下来的讨论范围。
第1名:JavaScript
<canvas width="75" height="75" style="display: inline-block;"></canvas>
image在大部分时间里,JavaScript被看作是编程语言的“丑小鸭”,虽然它从未成为美丽的天鹅,但就像童话故事一样,JavaScript社区已经齐心协力将其从基于浏览器的脚本语言打造成现代的多功能语言。随着时间的推移,许多JavaScript的粗糙面已经被打磨平整,但有些仍然存在。
值得注意的是,关于JavaScript,许多未来的雇主将在编程面试中根据他们对JavaScript更加模糊的功能的知识对潜在候选人进行评估。常见的编码面试问题涉及变量范围,闭包,回调和条件运算符。任何寻找JavaScript相关工作的应聘者都应该为这类问题做好准备。我们还建议您提前深入了解您感兴趣的公司,研究他们的开发堆栈,并在相关的现代框架(例如React,Angular或Vue)上展示您的技能。
第二名:Python
imagePython与其他编码语言有相似之处但又有着明显不同。Python开发岗位的面试中,往往要求应聘者阐述对Python如何实现公共语言功能的理解,例如数据类型、模块化、函数和类等。面试官还可能会问如何使用Python作为脚本,面向对象或函数式编程语言,或者是否了解Python特定的数据类型和功能,例如元组、列表推导、字典和装饰器(decorators)。
第三名:Java
<canvas width="75" height="75" style="display: inline-block;"></canvas>
image第四名:C#
Stack Overflow 2018年调查开发者中,35.5%是 微软C#的 粉丝。不仅Python和Java排名高于C#, Bash 脚本语言在开发人员中的得票率也达到了40.4%,许多开发人员对微软的所有事情都表示反感。
<canvas width="75" height="75" style="display: inline-block;"></canvas>
image第五名:C / C ++
对于通用和专用任务,例如应用程序开发,用户界面,移动应用程序和机器学习,C已被Stackoverflow列表中的其他语言取代。但是,在嵌入式系统和构建操作系统方面,C仍然拥有自己的一席之地,Linux就是最好的证明。Linux是有史以来最流行的操作系统,从最大的大型机到Android设备都能看到Linux的影子。Linux的关键部分是Linux内核,Linux内核是用C语言编写的。C的另一个常见用途是编写其他编程语言,本推荐清单中排名第二的Python。
image<canvas width="75" height="75" style="display: inline-block;"></canvas>
C ++是一个更现代,面向对象的C语言版本.C ++是用于偏重性能的应用程序的开发语言。例如,许多公司,特别是金融部门的公司,在其后端系统中使用C++。C ++既可以被用于无聊的应用,也出现在一些最令人兴奋的技术领域。由于其高效率的声誉,C ++也是图形密集型应用程序的首选语言,包括游戏开发,图形引擎,虚拟和增强现实。
在寻找C或C ++的工作时,一些面试官会提出可能同时适用于这两种语言的问题,例如编程相关的数据类型,运算符,循环,条件语句,指针和内存管理方面的面试问题。您可能还会被要求定义和解释链接列表,以及编写实现和管理链接列表的简短程序。由于C ++是面向对象的语言,因此面试官很有可能会询问类似对象,类,方法,属性等的支持的相关问题。
荣誉奖
我们列表中的五个选项都是通用语言。以下是其他几种语言,它们要么更专业,要么服务于较小的垂直市场。
结论:选择正确的语言
在我们推荐的五种语言中,您如何选择适合您的语言?根据当前趋势,具有最广泛应用的最佳通用语言是JavaScript。您可以在大多数设备上运行它,并使用它来构建客户端,服务器和无服务器应用程序。在过去的十年中,JavaScript已经被不断迭代改造,现在与C#和Lisp等现代语言有很多共同之处。是的,JavaScript仍然有一些粗糙的地方,但已经大大改善。
对于开发人员来说,Python可能是跨职业生涯的最佳选择。正如我们所指出的,Python已成为用于研究和教育的首选语言,同时也是机器学习,人工智能和数据科学相关领域的主导语言。在开发用户界面时,JavaScript相比Python具有明显的优势,但随着时间的推移,这种优势可能变得不那么重要。对于初学者来说,Web Assembly标准使得开发者可以使用任何高级语言来编写浏览器应用程序。此外, 如果基于语音的用户界面得到大众认可,图形用户界面将变得不那么重要。而且Python是开发亚马逊Echo语音助手应用的编程语言,因此在语音用户界面领域,Python已经占据了先机。
在企业领域,您需要在Java和C#之间进行选择。这两种语言在语法,功能和基础结构方面都非常相似,您可以根据个人偏好,工作需要或掷硬币来选择它们。正如我们所指出的,Java存在的时间C#更长,更受欢迎,并且有更多的职位机会。但另一方面,微软对C#的积极推动有望使其成为真正的跨平台解决方案,因此长期看C#有可能是更值得下注。Java仍然是Android的语言,但Microsoft的Xamarin允许您使用C#编写Android,iOS和Mac应用程序。但值得注意的是,C#在创业社区中声名狼藉,在硅谷非常不受欢迎。在这些圈子中,C#开发人员通常被视为二等公民。
同样要特别注意的是,在申请Java / C#企业计算职位时,面试官关注的重点往往是你创建后端应用程序的能力,而不是你使用何种语言。因此编写解决方案时,您最好使用惯用语言,这样可以 **在 **解决实际问题的 同时 展示你对语言功能的理解。
最后,C和C ++都算是通用语言,但在实践中,它们主要用于特定领域。对于C,主要面向的是系统和嵌入式编程; 对于C ++,主要面向高性能,资源密集型应用程序,如实时图形处理。
最重要的一点是,在进行编码面试时,请确保对面试语言的来龙去脉多做了解。 开发面试 是应聘最难的一个环节,如果你对一门语言的优势、局限性和应用了然于胸,将会让面试变得更加容易。