下半年到东北某地校招,面试了12人,其中有当过C语言助教,有自学C语言编程的,问了4人,全都还在用谭浩强的C教材。老实说,听到这样的回答,我很是诧异,现在市面上有这么多好书可选,有不少学校和学生(非计算机专业)却还在用谭浩强的书。

昨天给公司人力同事提了一份面向嵌入式软件开发工程师的书单/在线资源,正好有几本C语言或相关书籍,单列在此。其中大部分书我至少读过一遍。

基础(C语言入门,初学,编程基础)

  1. 《C语言程序设计:现代方法》(第2版)(C Programming: A Modern Approach, 2nd Edition, K.N.King)
  2. 《深入理解计算机系统》(修订版或第2版)(Computer Systems: A Programmer's Perspective, Randal E. Bryant et al)
  3. 《C语言程序设计》(第2版)(The C Programming Language, Brian W. Kernighan & Dennis M. Ritchie)
  4. 《程序员修炼之道》(The Pragmatic Programmer: From Journeyman to master, Andy Hunt & Dave Thomas)

内核/驱动

  1. 《Linux内核设计与实现》(第3版)(Linux Kernel Development, 3rd Edition, Robert Love)
  2. 《Linux设备驱动程序》(第3版)(Linux Device Driver, 3rd Edition, Jonathan Corbet et al)
  3. 《深入Linux内核架构》(Professional Linux Kernel Architecture, Wolfgang Mauerer)

应用

  1. 《UNIX环境高级编程》(Advanced Programming in the UNIX Environment, W. Richard Stevens)
  2. 《UNIX网络编程》(Unix Network Programming, W. Richard Stevens)

进阶

  1. 《C陷阱与缺陷》(C Traps and Pitfalls, Andrew Koenig)
  2. 《C专家编程》(Expert C Programming, Peter van der Linden)
  3. 《ARM嵌入式系统开发:软件设计与优化》(ARM System Developer's Guide: Designing and Optimizing System Software, Andrew Sloss et al)