10月TIOBE榜Java跌出前三!要不我转回C#吧
前言
Java又要完了,又要没了,你没看错,10月编程语言榜单出炉,Java跌出前三,并且即将被C#超越,很多资深人士预测只需两个月,Java就会跌出前五。
看到这样的文章,作为一名Java工程师我感到一阵发自灵魂的战栗,三魂丢了两魂,七魄去了六魄,现在已经躺在床上奄奄一息,对未来产生了极大的迷茫,眼泪不争气地流了下来,什么时候Java才能站起来。
哈哈不开玩笑了,先看看排行吧。
逛逛圈子
10月TIOBE编程语言趋势榜单,先瞅瞅。
放眼望去,哇!Python!哇!C!哇!C++!唉,Java。咦?C#。
TIOBE 的官方说法:“C# 和 Java 之间的差距从未如此之小。如果这种趋势保持不变,预计 C# 将在两个月后超过 Java。”
看到这句话,我多年逛微博的经验告诉我,有一群人铁定要嗨起来了……
我寻思了一下,先上了CSDN瞅瞅,果然头部热搜就有,点开啥也不说,直接看评论。
好吧,直接给我干沉默了。
这我完全没满足好奇心啊,怎么办,遇事不决上知乎。
然后不出意外,也找到一堆文章,点进了热搜靠前的看了看,嗯,没辜负我的期待。
有直接反驳的,我猜这肯定是Java工程师。
然而实际上我查了下这人的过往评论和文章,竟然是个Golang工程师,咦,我感到一丝诡异,Golang工程师为Java反驳C#,这有多恨啊,我不信,继续翻啊翻,好吧,原来是Java转Golang的,难怪,典型的我可以批评前女友,但你C#不行。
再看了下别的,也有这种串子,直接一串三。话说Rust的加入是不是就快形成嘲讽闭环了,我猜后面估计还会有别的,这大家庭越来越热闹了哈。
再翻了下,嗯,我最爱的血喷Java环节果然来了。
这还只是这篇文章而已,是冰山一角,其实这样的评论我在其他同类文章也看到不少哈。
我特意抽检了下其中几个人的过往评论,发现没有一个人是Java工程师的,一时让我无语,比如这个就是典型的.net工程师。
这种讨论和争议我个人是不排斥的,就觉得挺有意思,编程语言果然还是要百花齐放才有氛围啊。
但是过度的嘲讽我是不赞成的,因为根本改变不了现实,目前国内依然是Java的工作更好找,尤其是对中小企业而言,Java程序员目前依然是首选,这跟Java本身在国内的发展轨迹有关,一时半会儿我是看不到它被替代的可能。
另外,C#我早年也学过,当年还考过什么微软专家认证,虽然后来工作搞的Java,C#体系已经忘光了,但依稀记得那些年C#被Java统治的日子,有一段时间我差点以为C#要走PHP老路了。
但毕竟是微软的东西,有大公司背书就是好,说起来就起来了,最近5年明显能看到C#的起色,我们公司就有一个C#团队,都是北上广回来的七八年经验以上的工程师,专门对接自助机的业务,他们目前对C#就很看好,但也没到尬吹的程度,就是觉得比以前好了许多。
相对的,Java也一样啊,有甲骨文背书,你觉得它拉垮了,但搞不好什么时候一个决策下来,很快又起飞了。
我一向认为,编程语言的发展有一定比例要看公司背景,有实力的公司对于编程语言的改变往往是跳跃式的。
找风向标
有人会问,光凭一张嘴巴说Java目前挺好,有什么依据吗。
我以前的文章其实有写过类似的课题,就是一门编程语言在国内什么情况,要找一个风向标,而不是网上看口水仗。
我以前在广州工作的时候,很早就一直以国内的培训机构和线上教育平台作为风向标,觉得还是挺有用的。
这些机构是做什么的,是做生意的,做生意当然要争取口碑,那么培训出来的学生能找到工作,进入各个IT企业,这才是最大的成绩。
那么这些机构和平台一定是最了解风向的,他们有多年输送出去的学生,这都是资源,很多已经在企业中占有一席之地,他们能得到的企业中的讯息肯定比你和我要直观。
就比如老牌的传智,后起之秀的尚硅谷等等,我每年都会看他们发布的课纲,像传智,往年还会有一个发布会,专门把新一年的课纲列出来。
这里面什么技术被淘汰了,什么技术出现了,通过课纲能明显的看出来。
而且根据他们近两年发布的课程,你能清晰感觉到目前到底哪个专业依然是国内最好找工作的,因为不好找工作他们花那么多力气做课程干嘛呢。
至少到今年2023年,我看到的依然是他们以Java课程为主,前几年会有一些Python课程,因为Python很火,后续又出了一点Golang和区块链的课程,这两年开始有一些嵌入式的冒出来。
但也就这样了,我没看到之后他们开始大力推广这些课程,反而是Java课程依然是主要体系课。
线上平台的话,通过站长之家可以发现,这个领域内流量最高的是慕课网,慕课网中你搜索一下最近两年的课程,80%都是Java的,只是去年多了嵌入式,今年开始多了一些AI相关的,但占比也不多。
他们当然不是傻子,如果学Java的人少了,肯定会有另一种编程语言对应的体系抢占份额,它自然会被这些机构和平台嗅到金钱的味道,陆陆续续一堆课程就会涌现。
事实是,并没有。
以后怎么样我还不知道,目前用事实说话,还是Java。
如果非要以去年和今年的情况而言,我看到的是嵌入式和AI的课程确实有变多,但仅仅两年看不出什么,当年Python还热卖了几年,都说Python要干掉Java了,结果出去找工作才有一堆人把头撞破。
学习的人变多和找工作成功的人多不多是两码事,要看现实数据才行,所以嵌入式和AI这块还有待观察。
谁能替代Java
如果以后是别的语言替代了Java,我个人的一点感觉,Golang肯定是不可能的,因为钻研的领域我看不到替代Java的味道。
Python更不可能,完全不是一个领域,web领域更不提,虽然也不错,但企业级开发和Java不在一个次元。
要真说目前比较火的语言里面,有谁可以替代Java,我还是觉得C#更像一点,因为这俩语言太像了,我刚入行的时候就听到他俩是异姓兄弟的传说。
虽然C#目前我看着是有它自己的领域,但你真要问谁能打败Java,现有的语言里面,不管是看背后公司,还是根据语言特性来讲,还是看流行的程度,甚至包括发展的时间(Java是1995年诞生,C#是2000年诞生),我也只感觉C#和Java是有重叠之处的。
其他的语言压根和Java经营的领域不沾边,也远没有Java配套的成熟体系,只有C#这些条件基本都具备。
至于以后会如何,这没法判定,还要看后面几年是如何演进的。
总结
怎么样,我给大家唠唠,是不是感觉还蛮有意思的。
以上都是个人粗浅观点,不喜轻喷,绝不引战哈,我自己也会偶尔学习下Python、Go的语法,更多是为了了解一下行业内当下流行的语言是什么样,大家也可以像我一样,有空多了解了解,还是有用的,也能增加自己对编程领域的兴趣。
没兴趣,哪有学习的动力呢。
好了,今天的话题你还满意吗。
喜欢的话请点赞+关注↓↓↓哦,持续分享干货和行业有趣的话题。
相关文章:

10月TIOBE榜Java跌出前三!要不我转回C#吧
前言 Java又要完了,又要没了,你没看错,10月编程语言榜单出炉,Java跌出前三,并且即将被C#超越,很多资深人士预测只需两个月,Java就会跌出前五。 看到这样的文章,作为一名Java工程师我…...

优盘中毒了怎么办?资料如何恢复
在现代社会中,优盘成为我们日常生活与工作中必备的便携式存储设备。然而,正是由于其便携性,优盘也成为病毒感染的主要目标之一。本篇文章将帮助读者了解如何应对优盘中毒的情况,以及如何恢复因病毒感染丢失的资料。 ▶优盘为什么…...

如何查看端口占用(windows,linux,mac)
如何查看端口占用,各平台 一、背景 如何查看端口占用?网上很多,但大多直接丢出命令,没有任何解释关于如何查看命令的输出 所谓 “查端口占用”,即查看某个端口是否被某个程序占用,如果有,被哪…...

Photoshop与Web技术完美融合,Web版Photoshop已正式登场
通过WebAssembly Emscripten、Web Components Lit、Service Workers Workbox以及对新的Web API的支持,Chrome和Adobe之间的合作使得将Photoshop桌面应用程序引入Web成为了一项重大的里程碑。现在,您可以在浏览器上使用高度复杂和图形密集的软件&#…...

易点易动:提升企业固定资产管理效率的完美解决方案
在现代商业环境中,企业的固定资产管理是一项关键任务。高效的固定资产管理可以帮助企业降低成本、提高生产力,并确保资产的最佳利用。然而,传统的资产管理方法常常繁琐、低效,导致信息不准确、流程混乱。为了解决这一问题…...

SRE实战:如何低成本推进风险治理?稳定性与架构优化的3个策略
一分钟精华速览 SRE 团队每天面临着不可控的各类风险和重复发生的琐事,故障时疲于奔命忙于救火。作为技术管理者,你一直担心这些琐事会像滚雪球一样,越来越多地、无止尽地消耗你的团队,进而思考如何系统性地枚举、掌控这些风险&a…...

APK大小缩小65%,内存减少70%:如何优化Android App
APK大小缩小65%,内存减少70%:如何优化Android App 我们一直在努力为我们的Android应用程序构建MVP产品。在开发MVP产品后,我们发现需要进行应用程序优化以提高性能。经过分析,我们发现了以下可以改进的应用…...

传统工厂如何搭建蒸汽流量远程无线抄表系统?
一、应用背景 2021年国务院政府工作报告中指出,扎实做好碳达峰、碳中和各项工作,制定2030年前碳排放达峰行动方案,优化产业结构和能源结构,特别是近期煤炭价格上涨导致蒸汽价格大幅上涨,节能减排显得更加重要…...

睿趣科技:抖音店铺怎么取名受欢迎
抖音作为国内最大的短视频平台,其商业价值不容忽视。许多商家和创作者都在抖音上开设了自己的店铺,而一个富有创意和吸引力的店铺名字,往往能带来更多的客流量。那么,如何为抖音店铺取个好名字呢?以下是一些有用的建议。 明确定位…...

面试经典 150 题 22 —(数组 / 字符串)— 28. 找出字符串中第一个匹配项的下标
28. 找出字符串中第一个匹配项的下标 方法一 class Solution { public:int strStr(string haystack, string needle) {if(haystack.find(needle) string::npos){return -1;}return haystack.find(needle);} };方法二 class Solution { public:int strStr(string haystack, s…...

儿童产品亚马逊CPC认证审核不通过的原因解析
一、亚马逊CPC认证审核不通过的原因 CPC认证是亚马逊针对卖家销售儿童用品的一个认证,如果提交CPC证书到亚马逊,亚马逊审核一直不通过,我们可以从几个方面入手来查下什么原因,是资料本身的原因?是否提供的资料合规&…...

项目_数据可视化| 折线图.散点图.随机漫步
安装matplotlib 在正式开始编写程序之前,需要先安装pip、matplotlib模块,苹果系统的安装问题在之前的文章中有相关介绍内容,如果pycharm运行模块报错,可以再次检查是否版本兼容问题。 绘制折线图 调用subplot(&#x…...

Android 项目增加 res配置
main.res.srcDirs "src/main/res_test" build->android->sourceSets...

MySQL数据库的MVCC详解
在MySQL的事务隔离锁机制中,MVCC是一个非常重要的概念,学会MVCC可以更好地理解MySQL如何实现各种隔离级别。 首先,大概地介绍一下mysql的事务隔离级别: 1、读未提交(Read Uncommited):指的是&…...

AI:10-基于TensorFlow的玉米病害识别
玉米是世界上最重要的粮食作物之一,然而,玉米病害对其产量和质量造成了严重威胁。传统的病害识别方法通常依赖于人工观察和经验判断,效率低下且易受主观因素影响。近年来,基于深度学习的图像识别技术在农业领域取得了显著进展,为玉米病害的快速、准确识别提供了新的解决方…...

vue3前端开发系列 - electron开发桌面程序(2023-10月最新版)
文章目录 1. 说明2. 创建项目3. 创建文件夹electron3.1 编写脚本electron.js3.2 编写脚本proload.js 4. 修改package.json4.1 删除type4.2 修改scripts4.3 完整的配置如下 5. 修改App.vue6. 修改vite.config.ts7. 启动8. 打包安装9. 项目公开地址 1. 说明 本次安装使用的环境版…...

前端uniapp生成海报并保存相册
uiapp插件 目录 图片qrcode.vue源码完整版封装源码qrcodeSwiper.vue最后 图片 qrcode.vue源码完整版 <template><view class"qrcode"><div class"qrcode_swiper SourceHanSansSC-Normal"><!-- <cc-scroolCard :dataInfo"dat…...

0基础学习VR全景平台篇 第104篇:720全景后期软件安装
上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 摄影进入数码时代,后期软件继承“暗房工艺”,成为摄影师表达内在情感的必备工具。 首先说明,全景摄影与平面摄影的一个显著的区别是全景图片需…...

CMakeLists编译前拷贝文件或目录
${CMAKE_CURRENT_BINARY_DIR} 编译工程目录 file(COPY python/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/python/ FILES_MATCHING PATTERN "*.exe") file(COPY python/Lib DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/python/) file(COPY python/Libs DESTINATION $…...

mysql面试题35:MySQL有关权限的表有哪些?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL有关权限的表有哪些? MySQL中与权限相关的表主要包括以下几个: user表:存储MySQL用户的基本信息,包括用户名、密码等。可以使用以下命令…...

ES6:什么是Symbol_
引言 在编程领域,我们经常听到关于"Symbol"的术语,但你知道它到底是什么吗?Symbol是一种基本数据类型,它在JavaScript中被引入,用于表示唯一的标识符。本文将介绍Symbol的概念、用途以及如何在代码中使用它…...

E. Li Hua and Array
Problem - E - Codeforces 思路:观察给定的函数,其实就是求与这个数互质的数的个数,即欧拉函数,我们发现一个数迭代欧拉函数不会很多,那么对于第一个操作来说我们可以直接暴力修改,而对于第二个操作来说&am…...

【项目】在线oj
1. 创建项目 创建maven项目。 引入依赖(mysql connector和servlet): <dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><ar…...

第十章-输入输出系统
Ⅰ.锁 本质是互斥操作 原因:针对公共资源访问时,临界区若不加以互斥限制,可能导致执行过程中突然的中断导致出现异常。 1.互斥过程 设定互斥量M为二值信号量,0/1,P-,V,现有两个进程A、B共同…...

TensorFlow学习:使用官方模型进行图像分类、使用自己的数据对模型进行微调
前言 上一篇文章 TensorFlow案例学习:对服装图像进行分类 中我们跟随官方文档学习了如何进行预处理数据、构建模型、训练模型等。但是对于像我这样的业余玩家来说训练一个模型是非常困难的。所以为什么我们不站在巨人的肩膀上,使用已经训练好了的成熟模…...

Matlab地理信息绘图—研究区域绘制
文章目录 m_map工具箱Matlab绘制研究区域结果显示 m_map工具箱 m_map是 MATLAB 中用于制作地图和地理数据可视化的工具包。这个工具包提供了一组函数和工具,使得用户能够在 MATLAB 中轻松创建地图,并在地图上显示各种地理和气象数据。以下是 m_map 工具包…...

[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过)
[CSAWQual 2019]Web_Unagi 1 解题流程1.1 分析1.2 解题 2 思考总结 1 解题流程 这篇博客讲了xml进行编码转换绕过的原理:https://www.shawroot.cc/156.html 1.1 分析 页面可以上传,上传一句话php失败,点击示例发现是xml格式,那…...

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的问题解决
winR打开窗口输入 services.msc 停止mysql 找到data文件,清空其中全部文件。没有data文件,手动创建 输入 mysqld --remove mysql 移除服务; 注册服务,mysqld -install; 并开始初始化,mysqld --initi…...

什么是函数库和动态链接库?
函数库和动态链接库(也称为共享库)是在软件开发中常见的两种代码重用技术,它们有助于组织、共享和管理代码。在本文中,我们将详细解释函数库和动态链接库的概念、用途以及它们的工作原理。 ## 什么是函数库? 函数库是…...

POM配置
dependencies 所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承 dependencyManagement 只是声明依赖,并不会自动引入,因此子项目需要显示声明依赖。在子项目中声明了依赖项,且没有指定具体版本&#x…...