原标题:C语言依然位居榜单前列,依然值得程序员学习

关注、星标公众号,不错过精彩内容

如今,市面上编程语言几百种,很多人觉得Python、 JAVA这种语言比较火,是不是C语言就不行了呢?

殊不知,C语言依然是现在的主力军。

一、编程语言排行榜

给大家看一组数据,2019年7月,最新 TIOBE 编程语言排行榜:

TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。

虽然不知道具体是如何进行排名的,但可信程度还是很高的。

再来看一组数据,近十几年 TOP 10 编程语言走势图:

这里说几点:

1.Python在近两年随着人工智能火了。

2.C语言这么多年位居榜单前列。

C语言这么多年没有下沉,原因在于C语言属于系统级语言,属于底层编程语言。

可以用一句简单的话来总结:所有上层语言,都离不开底层硬件的支持,离不开C语言的支持。

JAVA的排名能超越C语言,很大程度在于JAVA的应用很广,web应用、桌面应用、安卓应用等。。。

二、C历史,及C标准

C语言发展的脚步,其实一直都没有停止:从C89、 C90、 C99...... C17,C语言标准还在更新。

1.早期 C

1969:基于 BCPL 创建 B,以作为 Unix 的系统程序语言替代 PDP-7 汇编器。增加运算符 ++ 、 -- 、复合赋值,保持为类 BCPL 的无类型语言。

1971:将 B 移植到 PDP-11 时创建 NB (新“ B ”)。类型( int 、 char 、数组与指针)、数组到指针转换、到机器码的编译。

1972:语言更名为 C。结构体、运算符 && 及 || 、预处理器、可移植 I/O

1973:以 C 重写。无符号整数、 long 、联合体、枚举、增强的类型安全。

1978:The C Programming Language,第1版

2.标准 C

1983:ANSI 建立 X3J11 委员会

1988:The C Programming Language ,第2版

1989:C89 ,ANSI C 标准出版

1990:C90 ,ANSI C 标准被接纳为 ISO/IEC 9899-1990

1995:C95 (ISO/IEC 9899 AM1)

极大扩充了宽和多字节字符支持

双标符、iso646.h

1999:C99 (ISO/IEC 9899:1999)

A.新特性:_Bool 、 long long 、 stdint.h 、 inttypes.h 、 restrict 、复合字面量、变长度数组、伸缩数组成员、指代初始化器、 fenv.h 、变参数宏、复数、 __func__ 、十六进制浮点格式( %a )、 lconv 的货币格式化、 isblank 、窄与宽字符串字面量的连接、枚举的尾逗号、类函数宏的空参数、 STDC_* pragma 、 va_copy 、 tmpnam 的空返回、 setvbuf 中的空指针、 printf 的 hh 与 ll 长度指定符、 snprintf 、 _Exit 、 tgmath.h 、仿 POSIX strftime 指定符

B.来自 C++ :inline 、声明与代码混合、 for 循环的 init 子句中的声明、 // 注释、源代码中的通用字符名

C.移除隐式函数声明和隐式 int

2011:C11 (ISO/IEC 9899:2011)

A.具线程的内存模型 、 stdatomic.h 、 threads.h 、泛型函数、 _Alignas/_Alignof 、 _Noreturn 、 _Static_assert 、可分析性扩展、对复数和虚数类型的扩展、匿名结构体与联合体、独占文件打开模式、 quick_exit

B.移除 gets

C.来自边界检查接口 TR :边界检查接口

D.来自 Unicode TR :char16_t 、 char32_t ,及 uchar.h

·

·

·

2018:C17 (ISO/IEC 9899:2018)(C18非正式名称)

修复C11许多缺陷,包含弃用 ATOMIC_VAR_INIT 和对下列缺陷报告的修正:

当然,这只是其中的一部分,其实每一年都有动作,只是我们没有太关注而已。

以上信息来源:

https://zh.cppreference.com/w/c/language/history

三、更加完善的C语言

从上面的发展历史,可以看得出来:我们常用的一些功能、API接口等都是一步一步发展而来,并非从一开始就有的。

自C11之后,C语言扩展了许多新功能,特别是很多功能都趋向于C++。

如果你去了解C11标准,你会发现C11定义了一些类似C++的标准API接口,使其更像是“现代”的语言。

感兴趣的朋友可以下载C标准手册来看看:

最后打一个总结:C语言依然值得程序员学习。(C语言是世界上最好的语言

)

以上文章由公众号『strongerHuang』黄工精心整理,这里分享给大家!

黄工的公众号『strongerHuang』分享内容包括:Keil、IAR、STM32、μC/OS、FreeRTOS、CANOpen等。

极力推荐关注公众号『strongerHuang』,可以在底部菜单中查看更多精彩内容!返回搜狐,查看更多

责任编辑:

用c语言写出一个榜单程序,C语言依然位居榜单前列,依然值得程序员学习相关推荐

  1. 用c语言写出一个金字塔

    如何用c语言写出一个金字塔 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main(){int i;//用户想要的层数int ...

  2. 如何用C语言写出一个微信群聊机器人

    要用 C 语言写出一个微信群聊机器人,您需要先了解微信群聊的相关信息和 C 语言的编程知识. 首先,微信群聊是通过微信服务器进行通信的,因此您需要了解如何通过网络协议与微信服务器进行通信.微信群聊使用 ...

  3. 用c语言画出一个五角星图案,用c语言画出一个五角星图案.doc

    用c语言画出一个五角星图案 感觉上五角星和六角星 的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~ 以下公布一个非本人的代码,虽然感觉这个五角星画的不是很"正",但总体感觉 ...

  4. C语言写出一个随机生成1-100数字的猜数字游戏

    因为要产生1-100的随机数,所以要用到rand()函数(生成随机数),但是只是单纯使用rand()时,第二次运行玩游戏产生的随机数和第一次运行玩游戏产生的随机数相等,这样一来玩几次就知道答案了,本来 ...

  5. linux下c语言按q退出_在linux下C语言写了一个while循环,怎么实现按任意键退出。如何编写程序?...

    这样解决: 建立一个头文件kbhit.h 内容如下: #ifndef KBHITh #define KBHITh void init_keyboard(void); void close_keyboa ...

  6. 写出一个美观的表单页

    如何写出一个美观的表单页 前言 最近做项目总能遇到各种各样,千奇百怪的需求.用bootstrap等ui框架不能满足客户需求.只能开动自己脑筋,自己写一些样式. 如何调整input样式(包括placeh ...

  7. c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...

    求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束 /* 以下是主要的逻辑代码,还有些.c和.h就没发了 ...

  8. python语言是 创造的_慢步python,如何用python语言创造出一个真正的独立exe程序?...

    我们学习编程,终极目标还是编写一个独立的应用程序.独立的应用程序应该像QQ,微信一样不依靠其他程序运行,只有平台支持,就可以运行.从这个意义上说,所用应用程序都是基于操作系统运行的. 那么如何用pyt ...

  9. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

最新文章

  1. 最新手机号段归属地数据库(2017年4月16日版)免费下载
  2. [日志]保证让你一天不困的方法
  3. 解决WinCE自动挂起的问题
  4. 已知gcd和lcm求a+b最小和?------数论
  5. vue在微信里面的兼容问题_vuejs在安卓系统下微信X5内核这个兼容性问题如何破?...
  6. PHP独特学习模式_php基础知识
  7. 1. K近邻算法(KNN)
  8. 获得代理ippython_Python学习笔记六(免费获取代理IP)
  9. JAVA的MySQL字符串拼接_MySQL字符串拼接、截取
  10. 【精品字体】我有故事你有酒么字体
  11. 2022年3月份报告合集(共353份)
  12. 联通光猫IPV6配置
  13. 某试卷由26道题c语言,c语言模拟试题
  14. excel提取每一行或每一列的最后一个数据
  15. 探索设计之路-Photoshop【魔棒和快速选择工具】
  16. 薅资本主义羊毛,用Google免费GPU
  17. 专访 | 外媒看FAST:刘慈欣说的黑暗森林法则成立吗
  18. 机器学习工具包SHOGUN用户文档翻译完成
  19. 《面向对象程序设计》2018年春学期寒假及博客作业总结
  20. QQ群反向昵称、恶搞昵称的原理[附]

热门文章

  1. 飞鸽传书2012是否发布了?
  2. 2009-08-02 XEIM 2.8 beta 迅速发布
  3. 飞鸽传书不能传送文件
  4. Windows XP SP3 最终发布日期公布
  5. 用VC写Assembly代码
  6. 惩罚女人的最有效方法!
  7. 2017云栖大会:阿里巴巴宣布成立达摩院
  8. 计算机主机配置有哪些,电脑主机配置清单有哪些 电脑主机配置清单及价格
  9. m 文件 dll matlab 中调用_利用USO服务将特权文件写入武器化
  10. 高通量数据分析必备|基因组浏览器使用介绍 - 1