有人在酷壳的留言版上询问下面的问题
:
今天晚上我看到这篇文章。
我也遇到了和提问的老外一样的问题。。能给像遇到这样烦恼的程序员一点建议嘛?谢谢!
我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:
- 虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。
- 大量的封装好的类库也屏蔽了很多实现细节。
下面是我给这位朋友的一些建议:
- 鼓励并为你叫好 。我鼓励你想要去学C语言的想法和精神,很多人都觉得C语言好学,其实并不然,现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40+年的C语言。 一门技术如果能够流行40多年,这才是你需要去关注和学习的技术 ,而不是那些刚出来的技术( , )。这才是踏踏实实的精神。
- 不要找借口 。这一条路走下来并不容易,不要给自己找借口。我最不喜欢听到的就是“ 很忙,没有时间 ”这样的借口。我以前在银行做项目,早9点到晚10点,周一到周六,我一样可以每天抽1个小时来看书和专研,一年下来也能精读5、6本书。我现在的工作项 目和招聘任务很紧张,刚生的小孩只有自己和老婆两人带,还需要准备讲课,但是我还是能够找到时间看文章写文章维护酷壳。所以,我可以告诉你,“ 时间就像乳沟,只要你肯挤,就一定会有 ”。
- 学好C语言和系统编程 。我认为,学好编程有四个方面: 语言、算法和数据结构、系统调用和设计 。
- 语言 。我可以告诉你C语言有两大主题你要好好学,一个是内存管理,一个是指针!这个世界上90%以上的C/C++出的严重性错误全是和这两个有关。不要看谭浩强的那本书,那本是本烂书。推荐这本书给你《 》
- 算法和数据结构 。我认为,用C语言实现算法和数据结构莫过于最爽的事情。推荐你看这本书――
- 系统编程 。Windows下推荐两本书――《 》和《 》,Unix/Linux下推荐两本书――《 》和《 》《 》尤其是《Unix网络编程》这本书,一通百通,无论Windows还是Unix/Linux,都是一样的。
- 系统设计 。关于设计方面,我全力推荐《 》,看完以后,你就明白什么是一览众山小的感觉了。然后,当你看到Windows的Fans的某多言论时,你就知道什么叫一笑了之。
如果你能在2-3年内精读完这些书,并全部融会贯通,那么你就明白什么是一览众山小的感觉了!我足足花了5年时间才算是真正全部读完这些书的。最后,祝你好运!努力!