互联网大热,随之对技术、程序员的需求也是很大,因此,很多大学生或想转行从事计算机编程工作,但市场上编程语言众多,我们该选择哪种语言呢?今天我们大圣众包小编根据网络资源从多个角度分析该选择哪个语言!

  1.什么决定流行指数?

  那么,哪种语言最流行?这个问题回答起来不如你想象的那么轻松。关键是要确定什么决定流行指数。

  这是个极其开放性的问题,以至于维基百科有一篇文章专门衡量编程语言的流行指数。该文章表明了衡量流行指数的许多可能的因素,包括如下——

  某种语言的名称在网络搜索中提到的次数,比如谷歌趋势表明的结果;

  提到某种语言的招聘广告的数量;

  教授或介绍某种语言的图书的销量;

  用某种语言编写的现有代码的行数(估计值),这可能低估了不常出现在公共搜索中的语言;

  SourceForge、Freecode和GitHub上使用某种语言的项目数量;

  论坛和新闻组上关于某种语言的帖子数量;

  连上面这些都不完整。你可以添加其中一些衡量标准:

  编程培训班销售的课程数量;

  全球报名编程课的学生数量;

  YouTube上关于某种语言的视频数量;

  Reddit或StackExchange上关于某种语言的帖子数量。

  想必你也明白了。如果你考虑在不同国家的流行指数,这个问题会变得更复杂。某些语言在印度是不是更流行?在美国?在俄罗斯?

  结论就是,流行指数并不是唯一的决定性答案。

  2.不同的衡量来源

  这时问题来了。即便明白流行指数要结合诸多不同的因素来衡量,但是学生和专业人员仍想知道自己是否在引领职业生涯及公司往正确的方向发展。

  有许多网站发布语言流行指数衡量指标,每一份遵循不同的标准。IEEESpectrum采用了值得关注的一种方法,因为它的交互图形让你可以权衡不同的因素,比如求职网站上的招聘广告或开源项目。

  CodingDojo有一个图形,它整合了来自求职搜索引擎Indeed.com的统计数字。Tiobe长期以来使用搜索引擎的整合结果来估算流行指数。PyPl关注谷歌上语言教程的流行指数。

  遗憾的是,这其实毫无帮助。如果你看一下要学习哪些语言,或者想支持哪些语言,很难决定哪个图形是值得信赖的。

  3.那么,哪种是最流行的语言呢?

  为了帮助你厘清头绪,我结合了上面提到的各个来源。就IEEE的三个类别而言,趋势(IEEETrending)意味着会是有流行趋势的语言的排名,工作(IEEEJobs)体现了Dice.com和CareerBuilder上的岗位空缺的排名,而开放(IEEEOpen)体现了开源项目的数量的排名。

  语言流行指数衡量指标的合并图:

  可是问题是,这其实无法告诉你着重关注哪种语言。

  为了深入问题的核心,我对数据进行了一番分析。我整合了来自六个来源中五个的数据(我摈弃了CodingDojo,因为它只显示十种语言)。然后,我根据它在每个图形上出现的名次、出现了多少次给每种语言加权。我拿来前十名结果后制作了下面这张语言分类聚合图形。

  DavidGewirtz基于IEEE、CodingDojo、PyPl和Tiobe的加权后的合并分析。

  正如你所见,有三类语言。第一大类包括Java、C、Python和C++。毫无疑问,你应该熟悉这四种语言。下一大类包括JavaScript、C#、PHP和Swift。剩余两种语言是Objective-C和R。

  4.结果告诉了我们什么?

  第一大类中的语言:Java、C、Python和C#是很普遍的语言。它们并不与某一种特定的编程平台相关联。

  最值得关注的线索是第二大类,包括JavaScript、C#、PHP和Swift。JavaScript和PHP主要是Web开发语言。C#是一种以微软为中心的语言。Swift是苹果新的主要编程语言。从根本上来说,第二大类针对特定的平台。

  同样,这告诉了我们什么?如果你了解现代编程,就认识到不仅仅使用语言。你始终为某个对象从事开发,无论该对象是嵌入式系统、iPhone、Web应用程序还是微软服务器应用程序。

  语言熟悉程度只是其中的一个方面。比如说,不管你有多喜欢Python或很普通但仍然管用的C,如果你编写WordPress插件或主题,就会用JavaScript和PHP来编写。其他语言有多流行并不重要。如果你的雇主是微软技术开发商,那么你最好了解C#。

  5.从字里行间体会言外之意

  我希望你注意到几个比较有意思的方面。首先,CodingDojo的头号语言是SQL。这既合理,又不合理。你很少只用SLQ编程。你使用SQL来访问数据,但用另一种语言管理那些数据查询。所以有必要知道SQL。然而,仅仅上SQL课无法保证你有工作、有丰厚薪水或过上好日子。

  其次,考虑到iOS应用程序的流行指数,针对苹果的语言在图形上的排名比你预计的要低。但是这有其道理。如果你想构建自己的应用程序,应该学习那些语言。但是招聘苹果应用程序开发人员的公司数量并不是很多。这就是为什么Swift在图形上的排名相对较低。Objective-C已被Swift取代,我们眼睁睁地看着它的名次下滑。

  C家族语言仍是主导者。Java、C++、C、C#甚至Objective-C都是基于C的语言。如果你只想学习一种语言,那么应该从中挑选一种。我会建议Java或C++,因为学会这两种语言后,C家族的其余语言学起来很轻松。

  在我职业生涯的现阶段,我可以用20种语言来编程。我通常可以在几天内学会一种新语言。那是由于我在工程学校的论文就是以语言设计为主题,而且20年来我一直断断续续地在教编程。通晓多种语言对我大有帮助,因为我几乎总是可以为当前的工作选择一种语言,不是由于我只上了一门课,我就无所不知了。这听起来难度很大,但是你也能做到。

  我给你的忠告就是,学习多种语言和多种框架,如果你想从事编程行业更是如此。用语言来构建产品。编程不仅仅是一种心智的运用,你还得开发实际的东西。

  通晓多种语言和框架很重要,因为计算机行业在发生天翻地覆的变化。当然,C的历史比数字手表和Pong还长,但是Swift问世才短短几年,却已经跻身前十名。你今天所学的语言可能不足以满足整个事业生涯的要求。所以学会如何学习语言就跟学一种语言一样重要,而最好的办法就是学不止一种语言。

  我的建议很简单。选择C++或Java,好好学。然后学JavaScript。越来越多的基于Web的应用程序需要良好的JavaScript技能。然后选择PHP、Swift或Python,具体要看你想完成哪一种类型的工作。一旦你熟练掌握了这三种语言中的某一种,就能够比较轻松地选择你所需要的任何其他语言或框架。

初学者该如何选择编程语言呢?相关推荐

  1. 新人小白如何选择编程语言和开发方向(非常详细)初学者避坑指南!!

    如果你听说IT编程很赚钱,想入坑,不想入行,那你可以来看一看这篇文章!! 有些坑你应该没入之前就就应该知道! 全世界的编程语言有 600 多种,TIOBE 统计的有 100 种,参与排名的有 50 种 ...

  2. 初学者避坑指南:如何选择编程语言和开发方向(非常详细)

    前言 全世界的编程语言有 600 多种,TIOBE 统计的有 100 种,参与排名的有 50 种,前 20 种是常用的,它们目前正在流行,或者曾经非常流行. 图1:2023年 6月份编程语言排名 TO ...

  3. 初学者如何选择编程语言和开发方向(非常详细)

    全世界的编程语言有 600 多种,TIOBE 统计的有 100 种,参与排名的有 50 种,前 20 种是常用的,它们目前正在流行,或者曾经非常流行. 图1:2021 年 10 月份编程语言排名 TO ...

  4. 初学python还是swift-零基础如何选择编程语言 小白的我研究了3个月得出一个结论...

    导语:去年的某个下午,我突然决定自学编程. 然而我碰到一个困扰我很久的问题--我应该学习哪一门编程语言? 后来我花了3个月时间,查看大量知乎的资料.询问w3cschool的程序员(也就是我同事).再调 ...

  5. python初学者代码-Python-为什么Python是初学者的完美选择?

    原标题:Python-为什么Python是初学者的完美选择? 在过去的两年中,Python部落已经教会了成百上千个开发人员学会了他们的第一个编程语言.我们一直关注的一件事就是为一个初学程序员找到最好的 ...

  6. c语言小游戏代码矿井逃生_如何选择编程语言和逃生教程炼狱

    c语言小游戏代码矿井逃生 A few weeks ago, I posted about my experience attempting to learn JavaScript, C#, Pytho ...

  7. 当你选择编程语言时你在选择什么

    我的微信订阅号"程序视界"有个"有问有答"栏目,上次发了问答 | 我适合做软件开发吗这篇文章,里面提到了"我是否适合做软件开发"和" ...

  8. SEO初学者如何正确选择SEO培训机构或老师

    时下正是网络营销红遍大江南北的时代,随着互联网的发展,网络营销这一专业成为当今莘莘学子争先恐后进行参报的王牌专业.在此设想,如果在各大高校开设有"SEO"(搜索引擎优化)这门专业的 ...

  9. Joshua Bloch访谈:选择编程语言就像选择酒吧

    ■ 文 / Peter Seibel 译 / 郝培强 本文是Commmon Lisp专家Peter Seibel对Google公司首席Java架构师Joshua Bloch的访谈,谈到程序员应该看什么 ...

最新文章

  1. CSMA/CD在全双工和半双工模式下的区别
  2. 【技术】TCP 的固定窗口和滑动窗口
  3. 在职研究生和全日制研究生的区别_“在职研究生”与“全日制研究生”有什么区别?...
  4. c语言math函数 sgn,常用矩阵计算C语言代码
  5. 7/7 第7篇 函数名与函数指针
  6. 华为服务器部署项目,服务器部署项目
  7. 循环队列CircleQueue的使用
  8. linux简单命令3---帮助命令
  9. 1043. 输出PATest(20)-PAT乙级真题
  10. 神经网络np基本用法
  11. cypress自动化--运行测试用例报告输出
  12. 编写一个加密程序,要求从键盘输入一个字符串,然后输出加密后的字符串。加密规则是对每个字母转换为下一个字母表示,原来是a转换为b,原来是B转换为C。小写的z转换为小写的a,大写的Z转换为大写的A。
  13. contents()与children()的用法和区别
  14. 2022年全国职业院校技能大赛:网络系统管理项目 A模块-网络构建(10套样题)
  15. cocos2d-x 从win32到android移植的全套解决方案
  16. 为什么要做用户行为分析?
  17. 解决:tomcat重新部署会删除临时文件以及临时文件夹
  18. 用程序编写计算公式的高次方程数字计算机
  19. 程序员应了解的那些事(4)求递归算法的时间复杂度
  20. 自动驾驶汽车硬件与软件技术介绍

热门文章

  1. LITO模拟器vpc的使用方法
  2. 自用的一些网址,码住!
  3. oracle错误编码大全!
  4. python办公自动化(Excel)的实例教程
  5. 学金融和计算机有什么前途,金融学和计算机科学与技术哪个有前途
  6. .NET Compact Framework下的串口通信
  7. 【知识图谱实战学习--[3]】
  8. 利用switch语句实现加减乘除基本功能(java)
  9. 2022-7-28 第八组wly 各种类
  10. 【HRNet】《Deep High-Resolution Representation Learning for Human Pose Estimation》