文章首发于终端研发部,转载,请标明原文链接

今天的主题是:探讨一下6月份语言排行还有我的最新展望!

最近,编程语言排行榜前几天发布更新了,在最新的TIOBE编程语言排行榜中,Java依旧位居第一,但前十名内有所变化,这里我列举了从第一到第十的语言种类:

第一:Java
第二:C
第三:Python
第四: C++
第五: Visual Basic.NET
第六:C#
第七:JavaScript
第八:PHP
第九:SQL
第十:汇编语言。

TIOBE 6月编程语言排行 1-20

image

第 21-50 名的编程语言排行

image

但从前20名来看,值得我们一关有,Python 的排名变化尤其值得关注,Go语言跃进了前15,Swift 和Dart略有较大的提升

  1. Python 排名再度超越 C++,拿下第三名的位置
  2. Go 由上个月的第 19 名跃升到本月的第 15 名
  3. Swift 排名超过 Objective-C,几乎挺进前十
  4. Dart 和 TypeScript 的排名均有较大的上升
  5. PHP 排名与上个月相比上升了一名,但整体呈下降趋势

对于Python来说,排名一直以来都持续上升,大概是Python所做的领域比较多吧,也有很多人本着人工智能去的, 自动化测试,爬虫之类的,也有用python做web全栈开发的。

有人热衷于Go语言 , GO语言之所以厉害,大概是因为它在服务端的开发中,总能抓住程序员的痛点,以最直接、简单、高效、稳定的方式来解决问题本身就支持高并发。

至于PHP,有人说他简单,快速开发,网站更适合用PHP这种轻量级的来做。因此,有人说,GO+Python,天下无敌。

至于Dart和swift,有人说,Dart是JavaScript的替代品,除非Swift可以转换为JS。 作为一种现代语言,它看起来像一种旧语言,因更倾向于做移动和web网站开噶。和Dart一样,Swift也具有跨平台,更安全,更快,Swift摒弃了很多OC的历史包袱,OC语法更直接。

好了,说到这里,我已经不忍心在吹了。我为什么这么说呢?先容我分析一下最近的行情,对于移动端来说,很多公司由原生转向了轻量级的h5,Vue或Flutter之类的,想一种语言同时多个平台,这样导致了很多的移动开发者需要学习更多的语言和 知识来应对现在的情况,不得不说,作为移动开发者,确实需要更多的精力。

当然也有会转向其他方向的,比如转前端,转后台,至于其他方向,我最近也听说有五年的PHP大神转向java,Python转Go,GO转PHP,PHP转Python的,目前而言,很多人学的不精,因各种原因,转方向,这样网格式的跳转貌似在一部分IT人群中成为一个趋势,有人说为了生活,也是没办法。

我为什么建议你要有深度

很多人学习任何东西,只停留在编写「Hello World」的水平,甚至两三年,不愿意去尝试一些自己不了解的领域,去做一些超过自己能力范围的事情 , 有些人只会写Activity,listView的数据展示,有些人工作两三年也还是只会CRUD,遇到问题只停留在Q群或者Google编程,殊不知,在当前的大环境下,离开了当下,你也可能就彻底失业了。如果你只想做一个搬运工, 整天的去搬运代码,那我觉得,学计算机语言还是多多益善,不需要搞清楚其原理,只需要明白如何去用将业务实现出来就行了。

做技术深度的同时,当然,前提,首先保证你有稳定的饭碗,如果,你当下公司面临转型,也可以跟着一块,比如移动端开发Android方向可以选择转Javaweb方向,也可以选择大前端,毕竟在大环境下,这两个方向也是一个不错的开始。

所以,个人觉得每种语言都有其自己的优势,找到自己的短板并补足自己的短板。(这里我并没有觉得评判哪个语言不好)就像一位网友说的那样,什么前台技术最好?什么后台技术最好?其实参加工作多年后,我才真正开始意识到,写程序用什么语言不重要!重要的是研究探索让计算机(服务器)可以跑得更快,用最少的内存完成最多的工作。用最优的数据结构存储最多的数据。用最好的数据库设计更快地增删查改;而绝不是去将每一门计算机语言泛泛而学,不理解其中的原理,就肯定写不出最好的程序,我们公司的很多大牛都是开发Java的,他们对处理线程,进程,管程,内存,时间片的功力非常深厚,所以他们写的代码比我写的代码,好很多很多,尽管他们是用Java写的,没有用python,也没有用Go,产品上线后,产品的执行效率仍然很高啊,效果也很好。

总结

于哥更推荐想成为某种语言编程大牛的人,不建议只想搬运带代码的码农。学习计算机的时候要选准一门语言,就去用好它,然后去理解它,去深究它是怎么执行的,比如看源码,看博客上别人用这门语言如何去完成一个业务; 然后根据自己的理解进行总结。

最后希望大家看到这篇文章,都能有所启发,同时也希望大家在技术这条道路上走得更高!

更多阅读

在百人团队参与游戏研发体验

三条命令解决断网问题
一波Flutter酷炫特效来袭

Java锁,真的有这么复杂吗?

工作了几年,终于转型做了管理!

记五月的一个Android面试经

浅谈final、finally、finalize有什么不同?

如果有什么问题,也可以加入我的群进行学习和技术。

6月份最新语言排行:Java,Python我更看好谁?的更多相关文章

  1. 选择排序的3种语言实现方法(C java python)

    1.选择排序的思路是:遍历数组,第一遍找出所有成员的最小值,放到数组下标为0的位置,第二遍从剩余内容中,再次找出最小值,放到数组下标为1的位置,以此类推,遍历完成所有的数组内容,最后结果就是:数组是按 ...

  2. V语言横空出世,C/C++/Java/Python/Go地位不保

    V语言已在github正式开源,目前已收获近9000星,引发开发者的强烈关注. V语言到底是怎样一门语言?已经有了C/C++/Java/Python/Go..., 我们还需要另外一门语言吗? 先看看V ...

  3. 编程开发(C/C++&Java&Python&JavaScript&Go&PHP&Ruby&Perl&R&Erlang)

    使用Docker快速部署主流编程语言的开发.编译环境及其常用框架,包括C.C++.Java.Python.JavaScript.Go.PHP.Ruby.Perl.R.Erlang等. 在今后采用编程语 ...

  4. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript

    常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript Javascript现阶段还不适合用来做独立开发,它的天下还是在web应用 ...

  5. Spring Cloud Netflix多语言/非java语言支持之Spring Cloud Sidecar

    Spring Cloud Netflix多语言/非java语言支持之Spring Cloud Sidecar 前言 公司有一个调研要做,调研如何将Python语言提供的服务纳入到Spring Clou ...

  6. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  7. D16——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D16 20180927内容纲要: 1.JavaScript介绍 2.JavaScript功能介绍 3.JavaScript变量 4.Dom操作 a.获取标签 b ...

  8. D14——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D14 20180919内容纲要: 1.html认识 2.常用标签 3.京东html 4.小结 5.练习(简易淘宝html) 1.html初识(HyperText ...

  9. java的this static public protected private abstract interface 在python的对应,java python一些区别

    1.因为工作的原因,最近使用了三个多月的java作为主力语言.很早之前在菜鸟教程也看过java文档两遍,但实践少,处于能看懂写出来不流畅的状态(对于java必须要略懂,不能能看到就头疼跳过,因为现在百 ...

随机推荐

  1. Highcharts报表——让你的网页上图表画的飞起

    Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达 ...

  2. oracle 导出导入不含数据的空库

    10g或之前,用exp导出,imp导入,带上rows=n参数 11g或以上,用expdp导出,impdp导入,带上CONTENT = METADATA_ONLY 参数 expdp带上此参数,不导出数据 ...

  3. IDEA 使用方法快捷键

    Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...

  4. MongoDB数据库的初识

    1,MongoDB是基于分布式文件存储的数据库,有c++语言编写,旨在为WEB应用提供可扩展的高效性能数据存储解决方案. MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系数据库当 ...

  5. [NOI2018] 归程 可持久化并查集

    题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个n 个节点.m 条边的无向连通图(节点的编号从 1至 n).我们依次用 l,a描述一条边的长度.海拔. ...

  6. 并不对劲的bzoj4012:loj2116:p3241: [HNOI2015]开店

    题目大意 有一棵\(n\)(\(n\leq1.5*10^5\))个节点的二叉树,有点权\(x\),边权\(w\),\(q\)(\(q\leq2*10^5\))组询问,每组询问给出\(u,l,r\),求 ...

  7. bzoj1296 [SCOI2009]粉刷匠——背包

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1296 对于不同木板之间,最终统计答案时做一个分组背包即可: 而要进行分组背包,就需要知道每个 ...

  8. hdu5410(完全背包变形)

    这是道完全背包,关键点在于如何处理每种物品,第一次放时,价值为A+B,以后放时,价值为A. 所以有三种决策,对于第i种物品,要么不放,要么是作为第一个放,要么是第二个以后放. 作为第一个放时,需要用到 ...

  9. 视图表单访问控制器操作方法的POST、GET方式对应关系

    在视图中,表单默认访问方式是FormMethod.Post(不会将请求显示在地址栏中).在控制器中,操作方法不标注属性,默认为HttpGet属性.会有以下情况出现. 1.表单不指定访问方式(默认形式为 ...

  10. Jmeter测试接口

    文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接 ...