我眼中的阅读
有这么一句话:看一个人,只需看他读什么书,与什么交往。
但不知为什么,估计是我的社交圈太小的原因吧,大学里面认识的同学,目前没有几个是真正热爱阅读的,不论是带有功利性质的技能书还是休闲性质的杂书。注意,我没有过分强调读书的功利作用,我从不认为不读书的人就怎么怎么没素养,不读书就不能有大的作为。很多时候这也不过是一种爱好,一种消磨时间的途径而已。所以爱读书的也不必故作清高,但不爱读书的,也请将你的读书无用论收一收,不读书的一个巨大遗憾就是让你们产生了这样的眼界。
对我来说,书的魅力是巨大的,起初和很多人一样,一看到书就头疼,会有种读不下去的感觉,尤其是面对一些字典般大小的恐龙书。因此很多时候,读书也得讲策略,不是任何一本书都得一字一句的啃下去,有选择有针对性的扩展广度,当发现一本内容精致的好书在一遍遍精读也不迟。这里又提到了选书的问题,其实人这一生,你再怎么努力,能读的书终究是有限的,因此选择成了至关重要的一环,门外汉建议还是根据口碑选择较为靠谱,数年积累的业内口碑一般都不是没有理由的,经典之所以能成为经典,必然是经过一代代人的筛选与淘汰留下的宝藏。
说起自己,倒也误区多多,一方面,关于买书,我明显对技术书籍有了歧视,至今我买的纸质书里面,大多以古今中外文学名著小说诗歌居多,然而技术书却是能用指头就点的过来的寥寥几本。其中,我可能嫌一些技术书价格过高,网上的pdf版本一搜一大把,何苦花这冤枉钱。但后面意识到,很多技术书却是值这个价,内容对一些原理和思维剖析深刻到位,总之纸质书的阅读感很多时候还是电子书无法取代的。我目前两种媒介都不拒绝,大多时候不方便的话,kindle带在身边就是了,方便的话,翻开纸质书就是撸。另外,在读书笔记方面我做的也是有很大欠缺的,一本书读完,或者一部电影看完,只要不是内容空洞话作品,多多少少也该有点自己的理解与总结吧。转眼已到大二下半年,紧迫感似乎越来越强,面对学业上的考核,大三的实习校招,貌似留给我的阅读时间越来越少,且行且珍惜把。
中学,在高考中考的指挥棒下,自主时间实在有限,以后工作想必时间上的安排也必然紧张。粗想一下,大学貌似是我人生中为数不多的可以有大把时间读书,大把时间旅游,大把时间培养自主习惯的时候了,生活已经不易,希望有更多的人愿意与我一同追逐心中的书和远方。
刘大佬认为的面试微软10本必读书
- Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
- Computer System: A Programmer’s Perspective (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》
- Code Complete 2(《代码大全》)/ The Pragmatic Programmer (《程序员修炼之道》,我也把这本书称为《代码小全》)
- Programming Pearls (《编程珠玑》) / Algorithms / Algorithm Design / 《编程之美》
- The C Programming Language
- The C++ Programming Language / Programming: Principles and Practice Using C++ / Accelerated C++
- The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)
- Clean Code / Implementation Patterns
- Design Patterns (《设计模式》) / Agile Software Development, Principles, Patterns, and Practices
- Refactoring (《重构》)
云风的书单(中国游戏编程先行者,前网易游戏部门资深程序员,简悦创始人)
- C++编程思想
- Effective C++
- 深度探索C++对象模型
- C++语言的设计和演化
- C专家编程
- C陷阱与缺陷
- C语言接口与实现
- Lua程序设计
- Linkers and Loaders
- COM本质论
- Windows核心编程
- 深入解析Windows操作系统
- 程序员修炼之道
- 代码大全
- UNIX编程艺术
- 设计模式
- 代码优化:有效使用内存
- 深入理解计算机系统
- 深入理解LINUX内核
- TCP/IP 详解
来自stackoverflow的一个帖子
-
- Code Complete (2nd edition) by Steve McConnell
- The Pragmatic Programmer
- Structure and Interpretation of Computer Programs
- The C Programming Language by Kernighan and Ritchie
- Introduction to Algorithms by Cormen, Leiserson, Rivest & Stein
- Design Patterns by the Gang of Four
- Refactoring: Improving the Design of Existing Code
- The Mythical Man Month
- The Art of Computer Programming by Donald Knuth
- Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
- Gödel, Escher, Bach by Douglas Hofstadter
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Effective C++
- More Effective C++
- CODE by Charles Petzold
- Programming Pearls by Jon Bentley
- Working Effectively with Legacy Code by Michael C. Feathers
- Peopleware by Demarco and Lister
- Coders at Work by Peter Seibel
- Surely You’re Joking, Mr. Feynman!
- Effective Java 2nd edition
- Patterns of Enterprise Application Architecture by Martin Fowler
- The Little Schemer
- The Seasoned Schemer
- Why’s (Poignant) Guide to Ruby
- The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity
- The Art of Unix Programming
- Test-Driven Development: By Example by Kent Beck
- Practices of an Agile Developer
- Don’t Make Me Think
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Domain Driven Designs by Eric Evans
- The Design of Everyday Things by Donald Norman
- Modern C++ Design by Andrei Alexandrescu
- Best Software Writing I by Joel Spolsky
- The Practice of Programming by Kernighan and Pike
- Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
- Software Estimation: Demystifying the Black Art by Steve McConnel
- The Passionate Programmer (My Job Went To India) by Chad Fowler
- Hackers: Heroes of the Computer Revolution
- Algorithms + Data Structures = Programs
- Writing Solid Code
- JavaScript - The Good Parts
- Getting Real by 37 Signals
- Foundations of Programming by Karl Seguin
- Computer Graphics: Principles and Practice in C (2nd Edition)
- Thinking in Java by Bruce Eckel
- The Elements of Computing Systems
- Refactoring to Patterns by Joshua Kerievsky
- Modern Operating Systems by Andrew S. Tanenbaum
- The Annotated Turing
- Things That Make Us Smart by Donald Norman
- The Timeless Way of Building by Christopher Alexander
- The Deadline: A Novel About Project Management by Tom DeMarco
- The C++ Programming Language (3rd edition) by Stroustrup
- Patterns of Enterprise Application Architecture
- Computer Systems - A Programmer’s Perspective
- Agile Principles, Patterns, and Practices in C# by Robert C. Martin
- Growing Object-Oriented Software, Guided by Tests
- Framework Design Guidelines by Brad Abrams
- Object Thinking by Dr. David West
- Advanced Programming in the UNIX Environment by W. Richard Stevens
- Hackers and Painters: Big Ideas from the Computer Age
- The Soul of a New Machine by Tracy Kidder
- CLR via C# by Jeffrey Richter
- The Timeless Way of Building by Christopher Alexander
- Design Patterns in C# by Steve Metsker
- Alice in Wonderland by Lewis Carol
- Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
- About Face - The Essentials of Interaction Design
- Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
- The Tao of Programming
- Computational Beauty of Nature
- Writing Solid Code by Steve Maguire
- Philip and Alex’s Guide to Web Publishing
- Object-Oriented Analysis and Design with Applications by Grady Booch
- Effective Java by Joshua Bloch
- Computability by N. J. Cutland
- Masterminds of Programming
- The Tao Te Ching
- The Productive Programmer
- The Art of Deception by Kevin Mitnick
- The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
- Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp
- Masters of Doom
- Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
- How To Solve It by George Polya
- The Alchemist by Paulo Coelho
- Smalltalk-80: The Language and its Implementation
- Writing Secure Code (2nd Edition) by Michael Howard
- Introduction to Functional Programming by Philip Wadler and Richard Bird
- No Bugs! by David Thielen
- Rework by Jason Freid and DHH
- JUnit in Action