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

今天的主题是:探讨一下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. Java面试通关要点汇总整理【终极版】(转载)

    简历篇 请自我介绍 请介绍项目 基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区 ...

  2. C语言进入界面编程准备篇

    Win视窗编程和DOS下编程不同,但是类似.Windows应用程序也有它的入口函数,DOS程序中的入口函数是main函数,Windows程序的入口函数是WinMain函数.新建Win32 Applic ...

  3. linux 监控进程所消耗的资源(内存),达到阈值(绝对值、相对值)后,将其杀死

    监控某个python进程是否存在,如不存在则启动 #!/bin/bashwhile [ 1 ]do #打印出当前的jboss进程:grep jboss查询的jboss进程,grep -v " ...

  4. ABAP WEBRFC

    通过WEBRFC实现在网页下载SMW0上传的文件 FUNCTION zhr_download_test. *"---------------------------------------- ...

  5. 在调试状态查看DateTable里的数据信息

  6. ASP.NET Web Pages (Razor) API Quick Reference

    ASP.NET Web Pages (Razor) API Quick Reference By Tom FitzMacken|February 10, 2014 Print This page co ...

  7. bzoj1835: [ZJOI2010]base 基站选址

    新的一年新的开始.结果第一题就用了几乎一周.而且感觉很不好. 先检讨自己.最近写的各种数据结构模板基本没打过出来,各种细节崩盘,这题线段树都居然被lazy标记没清零卡挂. DP还是博大精深,这东西感觉 ...

  8. HDU1087 Super Jumping! Jumping! Jumping! —— DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1087 Super Jumping! Jumping! Jumping! Time Limi ...

  9. Powershell 常见问题

    unapproved verbs WARNING: The names of some imported commands from the module 'todo' include unappro ...

  10. sphinx 针对tedfield搜索

    query = "(user can be admin)"  -> check all fields for the given words. If all words ar ...