Coding 极简派

常回C看看

常回C看看.

当你整天写python, ruby 等脚本语言 甚至一些越来越像lambda calculus的declarative language时候.( 以及同样有CG机制的不讨很多人喜欢的Java时), 你可能越来越像一个称职的”software” engineer instead of a hardware engineer. 足够抽象的语言将你从同机器的傻瓜式繁琐对话中解放出来,变成同人类或者智能机器的对话.将更多的精力集中在算法和模式思考上.
操作系统变得看不见摸不着,不需要再自己处理memory allocation 和memory collection, 不需要精心计算how much memory i need. 远观的确美,但其实也少了些xie玩的乐趣.

随着C++11 Java8都开始引入风靡的lambda时,别忘记老当益壮的C老爹.

常回C看看.

这个月12号是C语言之父Dennis Ritchie 的逝世四周年的日子,没有他就没有Linux,BSD和我们爱的Mac OS.人们总是把低调的Dennis和传奇的乔布斯放在一起比较. 因为苹果,乔帮主家喻户晓,但没有多少人记得和乔帮主同年逝世的Dennis. 然而对于计算机发展史来讲,乔帮主的贡献不能与Dennis同日而语.

以此为敬.

和Unix的手足之情

Unix 的原始版本是用汇编写的. 当Dennis Ritchie大叔在1973年缔造了C语言
之后,他和 Ken Thompson一起 (同是Unix的开发者)用C重写了kernel. 这也证明了即使不用汇编也可以写出low-level的操作系统.除此之外,由于C语言是可移植的,当可以产生object code 的C compiler被写出来的时候,说明在任何一个机器上都可以编译出可以运行在这台机器上的Unix 内核.从此可移植的操作系统就诞生了. ( 额外还需要一点customization和一些汇编来具体部署)

相见恨晚

没有建立一个很好的debugging习惯一直是我的一个遗憾. 总是靠无规律可言的方法通过printf等输出 来人肉debug. 但不稳定的模式往往是不靠谱的,至少它不能保证平均效率.

在期中考试的前一天抽空学了一把GDB,顺便把GCC一些特性温习了一遍. 总结在这里

xubing wechat
奇闻共欣赏,疑义相与析.欢迎来我的微信公众号