所以的确,如果自认为码农,那SICP不妨抛弃。然而但凡对编程这件事本身有点点更高的追求,那么过程式编程(数据为中心),函数式编程(代码为中心)和面向对象编程这三种主要的范式都应该了解。而SICP仍然是函数式编程极好的入门教材。我想大部分从过程式编程入门的人,SICP读到true/false不是原子,而是用函数定义出来的时候,应该会有所启发,这书也没白读吧。

暗时间

算法导论 数据结构与算法分析 Mark Allen Weiss 深入理解计算机系统 计算机的构造与解释 Effective C++ 深度探索C++对象模型 TP312/2252 C++语言的设计和演化 程序设计语言 实践之路 现代操作系统 TP316/281 计算机体系结构 TP303/198 TCP/IP详解卷1 TP915/46 unix环境高级编程 TP316/285 TP316/S844 Linux多线程服务端编程 TP316/1336 编译器设计 TP314/76 TP314/9 高级编译器设计与实现 TP314/47 程序设计语言理论基础 TP311.1/273 unix编程环境 unix编程艺术 剑指offer 程序员面试金典 形式语言与自动机 virtual mechines

学习视觉,机器学习,AI,数据库,算法,搜索 机器学习?计算视觉?语音识别?网络安全?嵌入式和硬件?

要学汇编,要学编译器操作系统。 这些当然要学。但函数式编程怎么不学呢?GPU并行计算怎么不学呢?分布式机器学习怎么不学呢。

C++的重要性在于理解RAII机制可以极大培养对编译器和系统的认识,学了C++再去用java c#则可以用的很好。 回复王成的评论: 熟练一词在不同的场合有不同的意义,比如我现在从来都说我是熟练使用C++,但是我的熟练比本科生的熟练C++程度更深些。而以C++为例,对于一个本科生来说,我认为他至少应该是熟悉C++的语法,如变量,指针,引用,条件语句;同时也应该是会使用常见标准库的用法,如vector,map,string,algorithm等;同时他是应该明白C++面向对象思想的重要性的,知道为什么我们需要不同的访问权限,知道多态,继承等的好处;同时也应该知道一些简单的模板,如模板函数,模板类,特化,偏特化等。同时他应该会使用C++解决一些常见的问题,如临场出的一些数据结构与算法基础题,或者让他写一个自己的vector,一个自己的string等等(我愿意相信一些硕士生也许都不能完成一个自己的vector和string),那么我认为对于一个本科生来说,应该还不错了。

XML Parser

Type system 和 runtime system 《Programming Language Pragmatic》 《Language Implementation Patterns》 coursera 上Stanford 的Compiler 课程 《Essentials of Programming languages 》

Engineering a Compiler 《Types and Programming Languages》 《Practical Type Inference for Arbitrary-Rank Types》 《Advanced Topics in Types and Programming Languages》chapter 2 《A Tutorial Implementation of a Dependently Typed Lambda Calculus》 《Refinement Types for ML》 《Principles of Program Analysis》 《Data Flow Analysis: Theory and Practice》 《Advanced Topics in Types and Programming Languages》chapter 10 Programming_Languages:_Application_and_Interpretation

lambda演算时看得是《Programming Language and Lambda Calculi》

理所应当的事不敢说不敢做就是自己有问题了 做事果决,待人三思 Geting out of my comfort zone is the first step on the path of truth. 我背后空无一人,我不能倒下 你没法唤醒一个装睡的人。我们只能给愿意前行的人指出一条明确的道路。 目标要高远,外语是第一优先,计算机第二优化。

卡内基梅隆CMU 斯坦福Stanford 加州伯克利UCB 麻省理工MIT 康奈尔大学Cornell 伊利诺伊香槟分校Illinois 华盛顿大学 普林斯顿大学 德克萨斯奥斯丁分校Austin 佐治亚理工大学 加州理工

核心就三门课: • 数据结构:看《算法导论》。 • 操作系统,看 Tanenbaum 的书,这是最最核心的课程。 • 计算机体系结构,看 David Patterson 和 John Hennessy 合写的书。 • 第二档次 计算机网络,分布式及并行数据处理。 • 彼此独立,可以一起学。

Confidence, never deny yourself of it, for it costs you nothing and leads to great things.

If you put out your hands, you are a laborer; if you put out your hands and mind, you are a craftsperson; if you put out your hands, mind, heart and soul, you are an artist.