前言:我在想如何能说出让人能够理解的话语,可能需要减少专业词汇的使用,捡起以前学过的各种表达方式才能让人更好的去理解(减少入门者或者“门外汉”的理解鸿沟)
说一些实际的,嗯,就这样。(查阅资料需要补充的地方还有很多很多,若是激发了你的兴趣,那么这一回合也算是我的胜利)
不论如何,首先需要建立一个大体的框架。关于“语言”世界大致有多“大”(即使当冒险家的生涯很有意思,但是没有世界地图还是一件让人沮丧的事情)
按照抽象级别分类
1.低级语言
机器语言:直接用二进制指令表示的编程语言,计算机可以直接执行。
汇编语言:一种与特定计算机架构紧密相关的语言,使用助记符代替二进制指令。
2.中级语言
C语言:虽然被认为是高级语言,但因为它允许直接访问内存和其他底层资源,有时也被归类为中级语言。
(计算机可以简单理解为电脑<台式或者笔记本之类的>。
访问内存:电脑的任何操作都是伴随着内存的变更的,这里的内存主要指的是运行内存,电脑不只是看上去的铁皮一块。若是按照手机的视角去看,电脑的存储部分有动态存储和静态存储,其中动态存储等同于手机的运行内存,是随时随地首先被使用的部分,是操作<软件也好,上网也好,种种操作,都需要一个运转的”空间“>。而静态存储,电脑中被称为硬盘,就是手机里的存储了,一般买手机不都说:这手机多少多少内存,128G,256G,这些。当然存储技术手机和电脑之间自然有不同)
3.高级语言
面向过程的语言:如Pascal、Fortran。
面向对象的语言:如Java、C++、Python。
函数式语言:如Lisp、Haskell。
脚本语言:如Perl、Ruby、JavaScript。
声明式语言:如SQL、Prolog。
作为基础使用的语言,C语言能体现出自己是与”同行“---------Java、C++、Python中的比较中才有的 主要的是C语言是<面向过程> 而其他三个语言是<面向对象>
面向过程较为具体,需要你手动输入”1+1=2“ 面向对象则是在已经有结果的情况下,拿过来直接使用,免去了手动输入的过程(这是区别,术业有专攻,没有高低贵贱之分)
历史
C语言是一种通用的、过程式的计算机编程语言。它最初由丹尼斯·里奇(Dennis Ritchie)于1972年左右在贝尔实验室开发,目的是为了编写Unix操作系统。
初创阶段
1972年:丹尼斯·里奇在贝尔实验室开发了C语言。C语言最初是为了改进B语言并用于Unix操作系统开发而创建的。B语言是由肯·汤普逊(Ken Thompson)基于BCPL(Basic Combined Programming Language)设计的。
1973年:C语言的第一个版本完成,随后用于重写Unix操作系统的核心部分。
1978年:贝尔实验室正式发布了C语言,这标志着C语言作为一种成熟的编程语言得到了认可。
标准化
1983年:美国国家标准局(ANSI)开始制定C语言的标准。
1989年:ANSI完成了C语言标准的制定工作,并在1990年发布了第一个官方标准,通常称为ANSI C或C90标准。这一标准化过程极大地促进了C语言的普及和一致性的使用。
影响与应用
C语言因其简洁、高效和可移植性而受到广泛欢迎。它被用于开发操作系统(如Unix、Linux)、嵌入式系统、设备驱动、高性能应用程序和游戏引擎等。
C语言对其他编程语言产生了深远的影响。例如,C++是在C的基础上扩展而成的;Java、C#等现代编程语言也借鉴了许多C语言的语法和概念。
丹尼斯·里奇和肯·汤普逊因对计算机科学领域的贡献,尤其是在Unix操作系统和C语言方面的工作,于1983年共同获得了图灵奖。
其他重要事件
1999年:发布了C99标准,引入了一些新特性,如复合字面量、变长数组等。
2011年:发布了C11标准,进一步增强了语言的功能,包括线程支持等新特性。
红色字体------查阅信息 紫色字体-------个人理解 黄色字体-------需要注意的部分
如果有不懂的地方请查看这之前或者之后的内容,如果没有我会慢慢补充,欢迎私信
!>=<