在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%。在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座!

编程语言 5 月排名(TIOBE )

距离上一次 C 语言占据第一还是 2015 年……是什么原因让这门 “年近 50” 的老大哥,时隔 5 年重回王者呢?

你可能也猜到了:因为新冠病毒。

TIOBE 的 CEO —— Paul Jansen 猜测,每个人都试图攻破新冠病毒,这造成了嵌入式开发语言(例如 C 和 C++)又流行了起来,因为它们被广泛地应用在医疗设备和软件中。在 C 与 JAVA 之外,Python 和 R 语言的表现也相当的亮眼。

在 5 月份,Python 超越了 C++ 成功夺得了第三的宝座,拥有 9.12% 份额的 Python 达到了 TIOBE 指数的历史新高。

对此,TIOBE 官方做了一个大胆的预测,即如果 Python 可以依旧保持着这样的增长速度,那么可在未来 3 到 4 年内成功取代 C、Java,从而成为世界上最流行的编程语言。

2002-2020 编程语言排名变化

值得一提的是,Rust 在一个月内,从 27 名突飞猛进到了 21 名的位置,这可能和央行数字货币和 Libra 的新闻有关。

TIOBE 原文:https://www.tiobe.com/tiobe-index/

20 个 C 语言项目推荐:

如果你还没有 C 语言基础,可以从这门课程学起:C 语言简明课程

课程从 C 语言的历史和基础开始讲解,引入大量的 C 语言程序案例,通过引导大家由浅入深地编写 C 程序。

如果你已经有了 C 语言基础,可以用下面的 20 个项目巩固基础,增加项目经验:

1. C 语言实现简单计算器

本课程用 C 语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。都是 C 语言很基础的东西(输入输出),学了之后能写出一个完整的 C 语言程序。适合涉及 C 语言的基本语法,与输入与输出。适合初学者学习。

https://www.shiyanlou.com/courses/75

2. C 语言实现 2048 游戏

2048 是之前十分火爆的一款益智游戏。本次课程将使用 C 语言完成一个 2048 游戏。适合对 C 语言有一定基础,想做项目练手的同学,本课程学习后将会了解 C 语言,以及绘图库 ncurses 的实用。本课程适合有 C 语言基础,希望在动手能力上得到提升的同学,熟悉模块与主流程的运行流程。

https://www.shiyanlou.com/courses/155

3. C 语言快速实现五子棋

本课程用最简单的代码来实现五子棋游戏,帮助大家复习基础知识,学习了如何设计并实现一个五子棋游戏,巩固大家的基础知识。涉及到 C 语言的基础逻辑判断,程序设计与编写。本课程比较简单,没有复杂的语法和逻辑,适合具有 C 基础的用户,一起探索和发现 C 语言可以做一些有趣的事情。

https://www.shiyanlou.com/courses/313

4. C 语言实现 Flappy Bird 游戏

Flappy Bird 是之前十分热门的小游戏,后来出现多个衍生版本。本节课程将使用 C 语言来实现一个字符版 Flappy Bird,感受不一样的风采。本课程学习后将会熟悉 C 语言,以及绘图库 ncurses 的使用。本课程适合有 C 语言基础,想做练手项目的同学,可以有效的学习 ncurses 绘图库的使用,做一些有趣的事情。

https://www.shiyanlou.com/courses/146

5. C 语言实现自己的编程语言

本实验中你将在学习 C 语言的同时学会编写你自己的编程语言,一个 1000 行左右代码的简单 Lisp ,通过本实验的学习,提高自己的编程能力。本课程翻译制作自著名的 BuildYourOwnLisp 教程。

https://www.shiyanlou.com/courses/670

6. C 语言实现打字练习软件

在本课程中,我们将会制作各种各样的键盘打字练习软件,本实验所编写的程序都比较简单,但它们能加深你对计算机应用程序的理解。

https://www.shiyanlou.com/courses/1105

7. C 语言实现高并发聊天室

本课程实现客户端和服务端编程,服务端使用 epoll 机制,高并发实现,支持多客户聊天室聊天;客户端使用 epoll 和 fork,父进程与子进程通过 pipe 通信。学习本课程可以很好的入门 linux 服务端编程,学习本课程也可用于在局域网搭建聊天室。本课程 linux 服务端编程入门课程,适合有 C 语言基础和 linux 基础,对于服务端编程有兴趣的同学。

https://www.shiyanlou.com/courses/315

8. C 语言实现 Ping 命令

本课程带领你学习用 C 语言实现 ping 命令。通过本项目中你可以更深入地理解 TCP/IP 协议,套接字编程,掌握 C 语言进行网络编程的技巧方法。本课程涉及 C 基础,Linux 网络编程底层比较多,适合有一定基础,想了解网络编程,以及套接字原理的同学学习。

https://www.shiyanlou.com/courses/305

9. C 语言实现贪吃蛇游戏

本课程我们将在 Linux 平台使用 C 语言编程,在终端界面上玩贪吃蛇。本课程分为三个实验,实验一介绍了图像库,实验二绘制游戏图像界面,实验三实现贪吃蛇。逐步为同学们讲解一个游戏的制作过程。

https://www.shiyanlou.com/courses/46

10. C 语言实现 FTP 服务器

通过 《C 语言实现 FTP 服务器》 项目学习,可以更加深入的理解套接字编程模型,并且了解应用层协议(FTP)如何在套接字基础上定义。本项目实现了支持 list,get <filename>,quit 等命令的 FTP 服务器。

https://www.shiyanlou.com/courses/628

11. C 语言实现通讯录

本次课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念。因此,您需要对 C 语言有一定的了解。

https://www.shiyanlou.com/courses/125

12. C 语言实现简单聊天室

本项目在 Linux 环境下使用 C 语言实现聊天室软件,学习并实践基本的 Linux socket 通信的相关技术,加深对 TCP/IP 协议栈的理解。

https://www.shiyanlou.com/courses/602

13. ffmpeg 结合 SDL 编写播放器

本课程将学习 C++ 利用 ffmpeg 解码视频数据,将解码后的视频数据播放出来。通过本实验学习 ffmpeg 和 SDL 基本的用法。

https://www.shiyanlou.com/courses/682

14. C 语言实现 Linux 网络嗅探器

本课程通过原生套接字的方式,监听所有本地主机收发的数据链路层帧结构,然后解析数据包的类型,并记录到日志文件。实现一个轻量级的网络嗅探器。

https://www.shiyanlou.com/courses/613

15.C 语言利用 OpenGL 实现旋转地球模型

只要你懂 c 语言,就可以自己利用 OpenGL 库和 freeimage,用纹理在 Linux 系统显示的一个动态地球模型,自己一直在转动中,且可通过 w,s,a,d 按键控制移动,鼠标滚轮控制放大和缩小。学习后加深对 C 语言的理解和学会使用 OpenGL 库。本课程适合有 C 语言基础,对于 OpenGL 绘制有兴趣的同学,学习后可以加深理解。

https://www.shiyanlou.com/courses/143

16. C 语言实现大数计算器

本课程将通过 C 语言实现一个简易计算器,用于解决任意长度的有符号整数的加、减、乘、除运算。主要将涉及到利用全新的数据结构来表示大数,并将新数据结构存储的大数转化为字符用于显示。以及基于大数新的数据结构完成加、减、乘、除的计算算法设计。

https://www.shiyanlou.com/courses/750

17. C 语言实现文件类型统计

通过实现一个文件类型统计程序,对 Linux 的文件系统有一个更加深入的了解,尤其在文件类型的判断,目录的操作上的理解会加深。

https://www.shiyanlou.com/courses/582

18. C 语言 GTK 实现视频播放器

本课程将使用 C 语言亲手制作基于 GTK + Libvlc 实现的简易视频播放器,支持点击按钮暂定和停止播放视频,同步步显示视频播放进度,全屏播放等功能。本课程适合具有 C 语言基础,对于 GTK 图形编程方面感兴趣的同学,可以参照本课程入门,看 api 文档继续提高。

https://www.shiyanlou.com/courses/69

19.C 语言实现图像信息隐藏

通过 C 语言实现 LSB 信息隐藏算法来演示并讲解图像信息隐藏技术的基础与原理,带领初学者了解信息隐藏技术领域。

https://www.shiyanlou.com/courses/451

20. C 语言实现 Linux 常用命令

本课程通过实现 Linux 常用命令,了解 Linux 常用命令的运行原理,从中学习 Linux 文件系统、文件 I/O 和权限管理等知识,并熟悉 Linux 系统相关的系统调用接口;同时学习部分 C 语言库的使用,提高 Linux 环境下 C 语言编程能力。

https://www.shiyanlou.com/courses/1616

棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!相关推荐

  1. 蜂鸣器发出7种音阶c语言程序_C语言编程新思路

    第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...

  2. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  3. 完数c++语言程序_C语言经典100题(19)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(18)中第三部分编程题的答案: #includeint main(){ int s=0,a,n,t; printf("请输入 a ...

  4. 二分法查找c语言程序_C语言的那些经典程序 第十四期

    戳"在看"一起来充电吧! C语言的那些经典程序 第十四期 本期小C给大家带来三个用C语言解决实际问题的典例.如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧! ...

  5. 判断素数的java语言程序_c语言判断是否素数程序代码

    #include bool isPrimeNum(int x) { if (x == 1) return false; else if (x <= 0) return false; else i ...

  6. 红外接收器c语言软件,红外线遥控解码接收程序_C语言.doc

    红外线遥控解码接收程序_C语言.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 红外线遥控解码接收程序-C语言.txt铁饭碗 ...

  7. nec c语言笔试题,红外NEC编码发射程序_C语言(国外英文资料).doc

    红外NEC编码发射程序_C语言(国外英文资料) 红外NEC编码发射程序_C语言(国外英文资料) * * * * * * * Hardware platform: homemade infrared d ...

  8. 文件的记录c语言程序,c语言程序学生籍贯信息记录簿设计.docx

    c 语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 课程设计报告书 班 级: 方 0909-1 学 号:姓 名: 苑 小 叶 指导教师 : 康 亚 男 石家庄铁道大学四方学院 2010年 07月 ...

  9. 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc

    c语言程序设计实验学生用 C语言程序设计 实验指导 (学生用) 计算机基础教研室 <C语言程序设计>课程组 2012年9月 前 言 <C语言程序设计>是计算机科学技术系面向全校 ...

最新文章

  1. SqlDataReader.GetSchemaTable
  2. 20个数据库设计的最佳实践
  3. SQL Server存储过程的基本概念以及语法【转】
  4. python二分法查找程序_Python程序查找最大EVEN数
  5. 第七周项目4-计算一个程序猿的周工资
  6. 二叉线索树的先序、中序、后序的线索化及其遍历
  7. 绘制14段米字数码管显示,显示数字和英文字母。
  8. 抖音及其他app对xp框架的检测原理刨析和反制方法
  9. steam怎么设公用计算机,steam如何设置家庭共享?steam设置家庭共享的方法
  10. 推荐Ubuntu使用UML工具-Drawio
  11. 运营商进行网络劫持的前生今世+劫持的危害
  12. Eclipse中快捷键组合
  13. 科学计算与Matlab笔记:第4章:Matlab绘图
  14. ValueError: mode mismatch
  15. ERP系统中的工作流和业务流
  16. 通过mqtt再利用移动oneNet平台的连接与数据收发
  17. java aspose.words 生成word目录和更新目录
  18. bzoj1615 [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
  19. Intel 8086处理器
  20. 树泽:汽车次贷,可能正在酝酿下一次经济危机

热门文章

  1. linux网络命名空间详解,Linux Network Namespace (netns) 详解
  2. curlopt_ssl_verifypeer后https还是验证不过_验证码识别竞赛解决方案(97%+一等奖)
  3. python的range()函数用法
  4. 服务器系统打包,详解Docker 容器基础系统镜像打包
  5. 计算机林中鸟歌曲,励志歌曲曲-林中鸟
  6. HTML怎么编写可关闭广告,JS实现关闭小广告特效
  7. 生日快乐程序_亲爱的陕师大:75岁生日快乐!一起走过师大时光,在线生成你的师大印迹!...
  8. python 小游戏500行以内_[宜配屋]听图阁
  9. 制备pdms膜的方法_专利:一种热致变色纳米纤维膜及其制备方法
  10. ubuntu java反编译,[原创]Ubuntu下简单配置反编译工具以及其开发环境