《OOC》笔记(0)——为何要看这本书

《OOC》笔记(0)——为何要看这本书

《OOC》全名是《Object-oriented Programming with ANSI-C》,作者Axel-Tobias Schreiner写于1993年10月。全书221页,步步为营地讲述了作者用C来实现封装、继承、多态、异常处理和自动化工具的过程。

为何要看这本书

这本书吸引我的理由如下:

  • 我也研究过OOC的问题,想和作者对比对比,取长补短。
  • 学习C实现异常处理try{}catch()finally{}的方法。
  • 学习C语言中一些难缠的东西的用法。(const、static、extern、…)
  • 学习作者的自动化方法。

利用这几天粗略读了一遍,整体感觉还是有收获的,是本务实的书。这本书已经出了20多年了,至今仍有借鉴意义。

我认为,《OOC》中关于封装继承多态的写法不如我的写法,因为我更喜欢尽可能保守的类型安全的写法。毕竟能用是最基本的要求,跑得快是之后才有意义的问题。

作者使用的自动化工具awk我也不想学,我有我自己的工具,不必妄自菲薄。

关于异常处理、"难缠的东西"值得体会。

OOC这个小系列

除本文外,本系列计划分4篇,陈列如下。

《OOC》笔记(1)——C语言const、static和extern的用法

《OOC》笔记(2)——C语言实现trycatchfinally

《OOC》笔记(3)——C语言形参列表ag_list的用法

《OOC》笔记(4)——自动化地将C#代码转化为C代码(结构版)

再往深入写的话,非我的时间精力所能及,暂且到此为止吧。

《OOC》pdf英文版及其附带代码我都不提供了。因为本系列写完后我就不必再看了,白白占用空间。

吐槽

国内的计算机教程大多如汉堡,tasty却是junk food。国外原版教程大多如馒头,不够美味,但细细咀嚼却有麦芽糖的甜感。外文翻译版常如炸旧馒头片,tasty一点,却又失掉了什么。至于各种大学教材,味同嚼蜡,不提也罢。

我希望我写的东西,能如杂粮煎饼,简单好吃又营养。

预祝我最亲爱的美媳妇生日快乐!

《OOC》笔记(0)——为何要看这本书

时间: 2024-11-18 17:34:41

《OOC》笔记(0)——为何要看这本书的相关文章

Python源码剖析笔记0 ——C语言基础

python源码剖析笔记0--C语言基础回顾 要分析python源码,C语言的基础不能少,特别是指针和结构体等知识.这篇文章先回顾C语言基础,方便后续代码的阅读. 1 关于ELF文件 linux中的C编译得到的目标文件和可执行文件都是ELF格式的,可执行文件中以segment来划分,目标文件中,我们是以section划分.一个segment包含一个或多个section,通过readelf命令可以看到完整的section和segment信息.看一个栗子: char pear[40]; static

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash:只好用另一块arm9(i.mx283a)来继续学习: 从开发教程上面可知,烧写uboot和Linux是通过各种批处理脚本和exe程序来执行的,称之为固件烧写,然而并没有需要我们选择uboot路径.Linux内核和文件系统的地方.这样的话是不是意味着只能烧写官方默认提供的文件

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

驱动开发读书笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentation/driver-model/platform.txt Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule, platform specific (and often board-specific) setup code will 84 reg

创业笔记0

创业笔记0: 好奇心.敏锐是成功的必要条件 那么,怎样才能敏锐,怎样才能好奇? 说到底,还是你看问题的视角,怎样在平淡的信息中,找到价值点. 实例说话 1.大家都逛淘宝对不对 大部分人看的是,哪个货物好,哪个东西你喜欢. 敏锐的人看的是,店家用了什么招数,使用了什么心理暗示,来提高用户的点击率,转化率. 思考题:如果你来做苹果官方天猫旗舰店产品描述页的优化,如何提高成交量.如果是非知名品牌呢? 2.很多人都刷朋友圈对不对 大部分人看的是,哪个文章写得好,哪个文章我想分享给朋友. 敏锐的人看的是,

驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识

驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device

《资本论》读书笔记(0)为了弄清楚经济学规律

<资本论>读书笔记(0)为了弄清楚经济学规律 +BIT祝威+悄悄在此留下版了个权的信说: 写在前面 我正在读李睿编译武汉出版社出版的马克思著作<资本论>.拿起这样的巨著自然是逼不得已,因为我太想弄清楚经济学规律了.我在大学期间参加了工商管理双学位课程,其中关于经济学部分的学习让我觉得太胡扯.最近有时间研读<资本论>,就目前的感受来说,<资本论>的观点是以科学的态度研究得来的. 所以我打算边读边写一些笔记,主要是把资本论里严谨的研究过程和结论用不严谨但易于理解

驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇

驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Documentation/driver-model/platform.txt找到一篇译文:http://blog.csdn.net/yili_xie/article/details/5193609 Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule

PHP笔记——java程序员看懂PHP程序

PHP笔记——java程序员看懂PHP程序 php是一种服务器端脚本语言,类型松散的语言. <?php   ?>       xml风格 <script language=”php”></script>   脚本风格 <?       ?>    简短风格 <%              %>    ASP风格 以;结尾: 注释: a)         // b)         # c)         /*     */ 变量是存储数据的容器