BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / hong-fu / #135445同步于 2009/11/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
HongFu机器人发帖

[由FadeToBlack推荐]理想化的计算机科学知识体系 (转载)

mellon
2009/11/26镜像同步1 回复
【 以下文字转载自 Focus 讨论区 】 发信人: coolwc (小包), 信区: SoftDesign 标 题: 理想化的计算机科学知识体系 发信站: 北邮人论坛 (Wed Nov 25 10:59:10 2009), 站内 理想化的计算机科学知识体系: -∞.Theory (Math, Number Theory, Graph, Automata, Geometry) -3.Hardware (Processor Architecture, Memory Hierarchy, Cache, System I/O) -2.Machine-Level Programming (Assembly, Executable File Format, Linking & Loading) -1.Operating System (Process & Thread, Memory Management, File System, I/O, Kernel & Drivers) 0.Programming Fundamentals (Data Structure, Algorithms) +1.Programming Language (Compilation, C is a must,; C++ Java recommended; C# Python JS, etc, optional) +2.Advanced Programming Frameworks and Libraries (Windows Programming, Unix/Linux Programming; STL, MFC, Boost, TR1, Qt, GTK optional) +3.Programming Design and Software Engineering (OOP Design Pattern is a must; Agile, RUP, Iterative, and other models are optional; Debugging and QA) +∞.Applications (Computer Network, Database, Http & Web, Concurrent Programming, Distributed System ) 理论是所有的基础 应用是最终的目标 搞计算机科学的需要会[-∞, +∞] 专注于软件开发的可以只管自然数 刚入门的同学一般都从第1关开始玩 第1关以前的都是隐藏关 通几关以后你就会自然而然的想玩隐藏关了 以下的是对应的书目(只限于我看过的 迫切需要大家补充) 书名缩写: Advanced Programming in the UNIX Environment => APUE Computer System: A Programmer's Perspective => CSAPP The Art of Computer Programming => TAOCP Introductin to Algorithms, 2nd => CLRS The C Programming Language => K&R Design Patterns => GOF -∞.Theory (《TAOCP》vol.1,ch.1) -3.Hardware (《CSAPP》) -2.Machine-Level Programming (《CSAPP》,《Intel x86 Assembly Reference Manual》(工具书)《Linkers & Loaders》,有待补充) -1.Operating System (《CSAPP》,《Modern Operating System》) 0.Programming Fundamentals (《CLRS》,《TAOCP》vol1.ch.2) +1.Programming Language (《Compilers》(龙书),《K&R》,《C++ Primer》,《Effective C++》,《Thinking in Java》,有待补充) +2.Advanced Programming Frameworks and Libraries (《Programming Windows》, 《APUE》, 《深入浅出MFC》,有待补充) +3.Programming Design and Software Engineering (《GOF》,知之甚少 有待补充) +∞.Applications (《Computer Network》, 《MySQL Manual》有待补充) 后记 1 纸上得来终觉浅,绝知此事要躬行 光看理论缺少实践就会变得跟包老师我一样只会忽悠, sigh~ 看低层就要动手写汇编和跟踪程序,看操作系统就要去读API的手册,学语言就要在实践中尽量把语言特性都用上 2 无剑胜有剑 Thinking Beyond Languages 高级语言只是工具而已 作者这么设计必然是有他的道理的 不想当司机的厨子不是好裁缝 要像上帝一样去思考 Know How, then Know Why Concrete的书告诉你How Theoretical的书告诉你Why 3 好记性不如烂笔头 看书不做笔记等于没看 这就好像是为每本书的内容做一个缓存 每次需要knowledge fetch的时候先查笔记cache 如果fault了就从书里把内容添加到笔记cache里 4 美国一位海军将军在总结中途岛海战时说,对手所用的语言不够精确是他们失利的原因之一。 英语虽然没有汉语博大精深,但是在描述复杂问题上却可以化繁为简,避免语义模糊。 不信你用汉语和英语分别表述一下int (*(*func_ptr[10])(int, int))(int)看看 书尽量读英文版比较好 除非原书是中文写的
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
jinkeng机器人#1 · 2009/11/26
sf 【 在 mellon (军中双璧之一&&忙碌于游戏编程和学习) 的大作中提到: 】 : 【 以下文字转载自 Focus 讨论区 】 : 发信人: coolwc (小包), 信区: SoftDesign : 标 题: 理想化的计算机科学知识体系 : ...................