[oeasy]python052_[系统开发语言为什么默认是c语言

系统开发语言为什么默认是c语言 \[趣味拓展c语言发祥史_c是如何成为第一系统语言的

  • 上次我们了解了 标识符 要求

  • 首字符 为 字母和下划线

  • 后面字符 为 字母和下划线 外加 数字

添加图片注释,不超过 140 字(可选)

  • 使用isidentifier函数 可以验证

  • 标识符 是否合法

  • 规则 可以追溯到 c语言

  • c语言 为什么

  • 会影响到 python 呢?🤔

回顾

  • c语言

  • 源自 美国电报公司 贝尔实验室

  • 1969年 贝尔实验室 诞生 两个杰作

  1. unix

  2. c语言

  3. 兄弟俩 互相影响

添加图片注释,不超过 140 字(可选)

  • 伯克利大学

  • 从unix改出来的 自己的发行版

  • 叫做 伯克利发行版

  • 也就是 bsd

份额

  • bsd市场份额

  • 慢慢 追上unix

  • 逐渐 成为主流

添加图片注释,不超过 140 字(可选)

  • 操作系统

  • 有 巨大的商业潜力

  • 美国电报公司

  • 因为 有垄断案

  • 不能 销售软件

bsd 和 unix

  • 垄断案 最终 判决

  • 美国电报公司

  • 拆成 七个小公司

添加图片注释,不超过 140 字(可选)

  • 美国电报公司

  • 终于 可以销售软件了

  • 开始 使用 法律武器

  • 消灭 bsd发行版

分支

  • 诉讼 bsd的案子

  • 之前 没有判例

  • 情况 长期 不明朗

  • 爱好者们

  • 不敢学 bsd

  • 也不敢学 unix

  • 怕学了也白学

添加图片注释,不超过 140 字(可选)

  • 法律问题 和 开发问题

  • 绞在一起

  • 成死结了

  • 怎么办呢?🤔

风借火势 火借风威

  • 硬件 在加速进化

  • 新cpu架构层出不穷

  • 各种 汇编指令集 彼此不通

添加图片注释,不超过 140 字(可选)

  • 二进制文件 不能 跨架构运行

跨架构

  • 不同指令集的 架构

  • 只要 有c语言 编译器

  • 就可以 跑类unix (unix-like) 系统

添加图片注释,不超过 140 字(可选)

  • 这使得 c语言

  • 跨架构 across architectures

  • 可移植 portable

  • 成了 默认唯一选项

添加图片注释,不超过 140 字(可选)

  • 计算机科学 属于

  • 电子工程的 一种应用

  • 没有 这个学科

  • 更没 学习资料

  • 那怎么 学c语言 呀?🤔

教科书

  • 做unix的 汤普森 和 里奇

  • 在 bell实验室 有个同事

  • Brian Wilson Kernighan

  • a.k.a bwk

添加图片注释,不超过 140 字(可选)

  • 开始 和里奇 一起

  • 给 c语言 出书

教材

  • 这本书

  • 很薄

  • 轻松的语言风格

添加图片注释,不超过 140 字(可选)

  • c的特点 就是

  • 让人 像说话 一样编程

  • 不用记 cpu汇编指令

  • 这可 方便多啦!!😄

成书

  • 有了 学习资料

  • 就有 更多人学

  • 有 更多人 学

  • 就有 更多人参与其中

  • 有 更多人可以答疑

  • 有 更好的案例

  • 正反馈 逐渐成型

  • 需要实践 就到unix或bsd上动手

  • 写代码、编译、运行

  • 形成了 编程文化的 源头

添加图片注释,不超过 140 字(可选)

  • 这书 长 什么样 呢?

封面

  • 封面

  • 强调一个C字

添加图片注释,不超过 140 字(可选)

  • 里面呢?

原文阅读

  • 语言 简洁 明确

添加图片注释,不超过 140 字(可选)

总结

  • 贝尔实验室 诞生了 两个伟大的作品
  1. unix 系统
  • 美国电报公司

  • 压制bsd

  • 想 垄断操作系统 市场

  1. c语言
  • 写起来简单

  • 还能 跨架构

  • 说明书里 还有

  • 我们的老梗 呢!

添加图片注释,不超过 140 字(可选)

相关推荐
cfm_291411 分钟前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈1 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011162 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据2 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
zlinear数据采集卡2 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai2 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间3 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
小努蛋3 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
qz_Serene3 小时前
C++:类和对象(上)
开发语言·c++
西安景驰电子4 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php