过去8年,编程语言的流行度发生了哪些变化?PHP下降,Objective-C已过时

前天有一个汇总9个不同排名数据的“地表最强”编程语言排行榜,为了更好地理解语言流行度的变化,作者将2016年的类似调查结果与2024年的数据进行了比较。

虽然2016年的调查只包含6个排名,但它仍然提供了宝贵的参考数据。

我们来看看详细的情况。

11

热门语言

Python凭借其简洁性和强大的功能,成为AI、数据科学和Web开发的首选语言,稳居榜首。

JavaScript在Web开发领域持续占据重要地位,尤其是在创建动态网页方面。

React和Angular等框架进一步扩大了其适用范围,使其超越其他语言。

始终如一的执行者

Java、C++、C#和C这些基于C的语言代表了经典编程的精髓。

它们在算法编码领域仍然发挥着重要作用,并且在流行度方面没有发生显著变化。

Java虽然在我们的指数中下降了两个位置,但仍然处于领先地位。它被广泛用于企业应用程序和Android开发。

C++作为C的扩展,增加了面向对象的功能。它仍然是需要高性能和面向对象结构的编译应用程序的首选语言。

C#作为微软对C++的演绎,在Windows应用程序和游戏开发中占据重要地位。

C尽管历史悠久,但依然在操作系统开发、编译器和嵌入式系统领域发挥着不可或缺的作用。

新上榜的语言

TypeScript、Rust、Kotlin和Dart在2016年的调查中并未出现,但在2024年的榜单中崭露头角。

TypeScript作为JavaScript的超集,添加了静态类型,提高了代码质量和可维护性,使其越来越受欢迎。

Rust专注于内存安全和性能,在系统编程领域受到青睐。

Kotlin作为Java的增强版,提供了更简洁的语法和强大的功能,并被Google选中为Android的首选语言。

Dart和Flutter致力于移动UI开发,在跨平台部署方面表现出色。

冉冉升起的新星

Go作为Google开发的静态类型语言,在构建可扩展的并发应用程序方面表现出色,在云计算、微服务和容器化领域已经很受欢迎。

接下来的几种语言在之前的文章中引起了一些争论,一些程序员声称它们甚至不是真正的语言,因为它们没有典型的算法编程功能。

我之所以将它们包括在内,是因为它们包含在我汇总的调查中。

SQL作为数据检索语言,随着数据量的增长,其重要性也日益凸显。

HTML和CSS可能永远不会过时。因为它们在网页开发中不可或缺,随着数字化转型的加速,其需求也随之增加。

Shell编程是一种用于对程序序列进行编程的工具,自古以来就存在。

所有主要操作系统都存在Shell编程形式,但在复杂的系统环境中需要越来越多的自动化和编排,这使得这些老式工具保持相关性并不断发展。

流行度下降的语言

流行度下降的语言包括PHP、Ruby、Swift和R。

尽管PHP在WordPress开发中广泛使用,但它是一种非常不优雅的语言。它功能强大,但丑陋且容易出现不必要的错误。随着Python的增加,它的受欢迎程度正在下降。

Ruby是另一种在阳光下发展的语言。

JavaScript,特别是与Node.js、Python、Go、TypeScript和Rust的组合,都是更灵活、更强大且代码安全的替代方案。

R作为统计语言,但它能做的,Python也许可以做得更好。

Swift虽然是Apple iOS开发的首选语言,但其他开发平台的出现也为开发者提供了更多选择。

从排行榜上掉下来的语言

Objective-C从排行榜上掉下来是有道理的。这曾经是Apple设备的主要编程环境,但Apple主动用Swift取代了它。

所以,从本质上讲,Objective-C已经过时了。

Perl尽管功能强大,但它的代码非常紧凑,几乎无法阅读。这也使其更难维护,这使其受欢迎程度下降。

Visual Basic和Delphi曾经是构建Windows应用程序的主流语言,但它们已被某些应用程序的Web开发和C#其他所有语言所取代。

🔗原文链接

https://www.zdnet.com/article/the-rise-and-fall-in-programming-languages-popularity-since-2016-and-what-it-tells-us/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/886162.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JSON的C实现(上)

JSON的C实现(上) JSON的C实现(上)前言JSON简介JSON的C实现思路小结 JSON的C实现(上) 前言 JSON是众多项目中较为常见的数据交换格式,为不同项目、系统间的信息交换提供了一个规范化标准。JSON…

Unity八股总结

这里写目录标题 OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?动态加载资源的方式?Unity3d脚本从唤醒到销毁有着一套比较完整的生命周期,请列出系统自带的几个重要的方法。物理更新一般放在哪个系统函数里…

查找与排序-插入排序

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序…

Arduino UNO R3自学笔记15 之 Arduino如何驱动数码管?

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:学习使用数码管。 1.数码管介绍 数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数…

L0-Linux-关卡材料提交

SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。 SSH 是(C/S…

QSqlDatabase在多线程中的使用

Qt中多线程使用数据库_qt数据库管理类支持多数据库,多线程-CSDN博客 1. 代码&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError>…

【深度学习】05-Rnn循环神经网络-01- 自然语言处理概述/词嵌入层/循环网络/文本生成案例精讲

循环神经网络&#xff08;RNN&#xff09;主要用于自然语言处理的。 循环神经网络&#xff08;RNN&#xff09;、卷积神经网络&#xff08;CNN&#xff09;和全连接神经网络&#xff08;FCN&#xff09;是三种常见的神经网络类型&#xff0c;各自擅长处理不同类型的数据。下面…

RabbitMQ应用

RabbitMQ 共提供了7种⼯作模式, 进⾏消息传递 一、七种模式的概述 1、Simple(简单模式) P:生产者,就是发送消息的程序 C:消费者,就是接收消息的程序 Queue:消息队列,类似⼀个邮箱, 可以缓存消息; ⽣产者向其中投递消息, 消费者从其中取出消息 特点: ⼀个⽣产者P,⼀…

负载均衡--相关面试题(六)

在负载均衡的面试中&#xff0c;可能会遇到一系列涉及概念、原理、实践应用以及技术细节的问题。以下是一些常见的负载均衡面试题及其详细解答&#xff1a; 一、什么是负载均衡&#xff1f; 回答&#xff1a;负载均衡是一种将网络请求或数据传输工作分配给多个服务器或网络资源…

SpringSession微服务

一.在linux中确保启动起来redis和nacos 依赖记得别放<dependencyManagement></dependencyManagement>这个标签去了 1.首先查看已经启动的服务 docker ps 查看有没有安装redis和nacos 2.启动redis和nacos 发现没有启动redis和nacos,我们先来启动它。&#xff0c;…

计算机视觉学习路线:从基础到进阶

计算机视觉学习路线&#xff1a;从基础到进阶 计算机视觉&#xff08;Computer Vision&#xff09;是人工智能和机器学习领域中重要的分支&#xff0c;致力于让计算机能够理解和分析图像、视频等视觉信息。随着深度学习的发展&#xff0c;计算机视觉的应用变得越来越广泛&…

音视频入门基础:FLV专题(7)——Tag header简介

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;3&#xff09;——FLV header简介》中可以知道&#xff0c; 在FLV header之后&#xff0c;FLV文件剩下的部分应由PreviousTagSize和Tag组成。FLV文件 FLV header PreviousTagSize0 Tag1 PreviousTagSize1 Ta…

【C++】“list”的介绍和常用接口的模拟实现

【C】“list”的介绍和常用接口的模拟实现 一. list的介绍1. list常见的重要接口2. list的迭代器失效 二. list常用接口的模拟实现&#xff08;含注释&#xff09;三. list与vector的对比 一. list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xf…

2025 年 IT 前景:机遇与挑战并存,人工智能和云计算成重点

云计算de小白 投资人工智能&#xff1a;平衡潜力与实用性 到 2025 年&#xff0c;人工智能将成为 IT 支出的重要驱动力&#xff0c;尤其是在生成式人工智能领域。人工智能的前景在于它有可能彻底改变业务流程、增强决策能力并开辟新的收入来源。然而&#xff0c;现实情况更加微…

SpringCloud源码:服务端分析(二)- EurekaServer分析

背景 从昨日的两篇文章&#xff1a;SpringCloud源码&#xff1a;客户端分析&#xff08;一&#xff09;- SpringBootApplication注解类加载流程、SpringCloud源码&#xff1a;客户端分析&#xff08;二&#xff09;- 客户端源码分析。 我们理解了客户端的初始化&#xff0c;其实…

Python画笔案例-071 绘制闪闪的红星

1、绘制通闪闪的红星 通过 python 的turtle 库绘制 闪闪的红星,如下图: 2、实现代码 绘制闪闪的红星,以下为实现代码: """闪闪的红星.py """ import time import turtledef xsleep(n):"""防

通信工程学习:什么是MAC媒体接入控制

MAC&#xff1a;媒体接入控制 MAC&#xff08;Medium Access Control&#xff09;&#xff0c;即媒体接入控制&#xff0c;是计算机网络中数据链路层的一个重要组成部分&#xff0c;负责协调多个发送和接收站点对一个共享传输媒体的占用。以下是关于MAC的详细解释&#xff1a; …

系统架构设计师-知识产权与标准化

目录 一、保护范围与对象 二、保护期限 三、知识产权人确定 四、侵权判断 五、标准化 一、保护范围与对象 知识产权是权利人依法就下列课题享有的专有权利&#xff1a; &#xff08;一&#xff09;作品&#xff08;著作&#xff09; &#xff08;二&#xff09;发明、实用…

泰勒图 ——基于相关性与标准差的多模型评价指标可视化比较-XGBoost、sklearn

1、基于相关性与标准差的多模型评价指标可视化比较 # 数据读取并分割 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split plt.rcParams[font.family] = Times New Roman plt.rcParams[axes.unic…

针对考研的C语言学习(2019链表大题)

题目解析&#xff1a; 【考】双指针算法&#xff0c;逆置法&#xff0c;归并法。 解析&#xff1a;因为题目要求空间复杂度为O(1)&#xff0c;即不能再开辟一条链表&#xff0c;因此我们只能用变量来整体挪动原链表。 第一步先找出中间节点 typedef NODE* Node; Node find_m…