[征文] Modern C

楼主: lc85301 (pomelocandy)   2016-05-15 23:55:20
其实这是最近写在网志的读书心得:
http://yodalee.blogspot.tw/2016/05/modern-c.html
想说征文这么少人参加我也来写一篇
推荐书目名称或网址
Modern C
http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf
没有实体书或电子书,只有公开连结
适合阅读此书或网站的程度/对象
对C 略懂到专精,如果是碁峰的书大概右半两块
我不确定初学者适不适合,自觉是没有从很简单开始讲
简介
从书名和它的序言,作者旨在对 C language 有个基础的介绍
由于C 的<简单>,能让程式设计师快速写出可以动的程式,例如Hello World
反倒使人忽略了存在C 背后种种的议题;同时 C经历多次标准改进
和当年的 K&R C 已经颇有出入,本书从 level 0 - 4,从简单到复杂再次检视C 语言中的概念。
本书架构其实没差太多,level 0 - level 2 也是控制结构、资料型别、array, struct, enum 等等
书中不时列出一些 <Rule>做为重点提示,像是建议、警告,和一般C 语言的书比较不同是
它会去讨论一些背后的概念,例如unsigned int 的值是如何得来
comma operator 回传最后一个expr 的定义不小心会让你debug 超久
各种资料型别极限值与转换时数字的变换
也会提到用C 来实作OOP 的概念,wchar 的使用以应付多语系的要求
虽然个人写C 也有一段时间,不过重新细看书内的介绍,还是会发现一些之前没想过的陷阱
Level 3 作者好像没时间写的样子,里面涉及最佳化、multi thread 之类
最后的 Level 4: Ambition 可能是我目前看过C language 相关最有野心的一章
大多数 C 的书只专注在“把C 讲好”这件事
Ambition 这章跟现行的C 语言无关,而是提出作者的见解:如何修改标准“让C 更好”。
如果只是想更亲近C 语言的人,可以明正言顺的略过这章,毕竟这章节需要对C 标准、编译
器实作与程式最佳化有更多认识后,才能理解个中大意与作者意图
不然只是看着书中列出一段C standard,说应该改成怎样怎样
应该不用五分钟就可以安然入眠了,个人最后也是看得一头雾水QAQ
读后心得
要我说对这本书的整体心得,该说随着C/C++ 标准进化的同时,更适合的写法也推陈出新
绝对避免的写法也所在多有,但很无奈的为了相容之前的标准,过去的用法会一直留在那里
等待天真不知情的新手程式设计师去踩雷然后~~~~~~~~EXPLOSION~~~~~~~~
学习C/C++的问题并不是学不会什么生猛功能,而是要在各种实作的方法中学习
“怎么用比较<适合>的方法来实作,避免哪些有问题的写法,比较好的方法和概念是什么?为何如此”
这本书前半部未必适合新手程式设计师,比较适合已经有些了解的人,再次检视自己所学的内容
后半部则适合对C, OS, compiler 都有详加研究的,栽进去与作者一同让这款有44 年历史的语言更加完善。
补充说明(Supplement):
作者: descent (“雄辩是银,沉默是金”)   2016-05-16 00:47:00
感谢分享
作者: wtchen (没有存在感的人)   2016-05-16 04:51:00
感谢分享 <(_ _)>

Links booklink

Contact Us: admin [ a t ] ucptt.com