经典编程书籍推荐

这是上大学的时候写的文章,现在回头看看觉得好幼稚。修改了部分语法之后,成了现在这样。末尾做了些添加。看完王爽老师的《汇编语言》,我相信一本好的教材能让你少走很多弯路。

先推荐几个网站

看雪论坛:http://bbs.pediy.com/index.php //该论坛牛人云集,主要研究安全方面的问题,里面的人逼格都比较高,你问怎么输出hello world,也不会有人讽刺你,反而大家会给你用各种牛叉的方法实现。

博客园:http://www.cnblogs.com/ //博客园里面一些大神的文章很不错,像编程随想。

数据库在线:http://db.grussell.org/index.html //很少有人知道这个网站,想学数据库的话到这里你一定进步神速,还顺带学英语!大熊强烈推荐。

开源中国:http://www.oschina.net/

其他常用的网站还有V2EX,GitHub等等,请跳转至极客网址导航

重头戏,编程书籍推荐,极客导航于2012.5.11整理

c语言

The C Programming Language(C程序设计语言)由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写;

C语言深度解剖 作者: 陈正冲 石虎,内容要比一般的C语言图书深得多、细致得多,其中有很多问题是各大公司的面试或笔试题;

c语言程序设计 作者:谭浩强 作为程序员,千万不要把脾气养大,觉得国内的教材都不好,国外的才是好的,这种思想很容易迷失,谭浩强的书更适合中国学生,因为大家习惯做题。

c语言常见问题集 作者: Steve Summit,细节决定成败,C语言给了程序员很大的自由,自由越大问题就越突出。

c++语言

Accelerate C++,C++Primer,C++Primer Plus,Essential C++,Effecitve C++……这些C++书籍我都不推荐,从生活中得到一个经验,做任何事都不能把战线拉的太长,可能你一时对一门语言很感兴趣,然后决定去学习,你想着去买一本很牛的书来看。这时候你就会选择我上面给你推荐的这几本书,但是我的经验告诉我你根本看不完。一本C++Primer多厚你可以去京东看看。当然如果你确实很有恒心,愿意将几个月甚至几年的经历都花在c++入门上你可以尝试。

C++语言程序设计 作者:谭浩强, 此书虽然远没有《C++Primer》出名,没有《C语言程序设计》畅销,但依然是保持了由简入难、循序渐进的思路,更适合中国人的思维方式,可以用来入门。

Thinking in C++(C++编程思想) 作者:Bruce Eckel ,作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色,作为正式教材和自学用书均非常优秀。

VC++深入详解教学视频 作者:孙鑫 下载地址 看视频比看书学的要快,如果学一样东西能找到视频教程就直接看视频教程。

汇编语言

汇编语言 作者:王爽 作者的编书方式值得国内作者参考,先讲细节,然后出一道练习,练习很经典,做完之后基本上就是掌握了整章内容,而且学完第一章就会很期待第二章。无论你学c语言还是c++,都该学习一下汇编语言。

Intel汇编语言程序设计 作者:Kip R. Irvine 全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用C/C++等最新编译器与汇编的混合接口编程;从16位实模式下BIOS、DOS实模式文本及图形程序设计到32位保护模式的Windows程序设计;从磁盘基础知识到Intel指令编码、浮点运算等相关知识都做了深入而细致的讲解。学完王爽的汇编语言后可以继续学习这本书。

Windows环境下32位汇编语言 作者:罗云彬 喜欢windows开发的童鞋可以深入学习这本书。

数据结构与算法

算法之道 作者:邹恒明 一本算法方面的启示书,不是一本包罗万象的算法大全。在书中,作者以一种新颖的方式来讲述算法,并不是生搬硬套地教我们如何去理解它,而是试图引导我们去探索,去发现算法。作者将生活趣事,历史故事和算法联系起来,让算法不再乏味,让读者能够体会到算法的乐趣,又能学到知识。

PHP

重构 我们项目经理大推荐我看的,程序员必备书籍吧!

UNIX编程艺术 也是项目经理推荐我看的,下面是我总结的一些观点

  1. 让每个程序就做好一件事,如果有新任务就重新开始新任务,不要让原程序中加入新功能而搞得复杂;
  2. 假定每个程序的输出都会成为另一个程序的输入。
  3. 尽可能早的将设计和编译的软件投入试用,哪怕是操作系统也不例外。理想情况下,应该是在几星期内。对拙劣的代码别犹豫,扔掉重写。
  4. 优先使用工具而不是拙劣的帮助来减轻编程的任务负担。
  5. 避免手工hack,尽量编写程序去生成程序;
  6. 主动将代码的复杂度转移到数据中去;
  7. 先求运行,再求正确,最后求快;
  8. 对接收的东西要宽容,对输出的东西要严格;

LAMP兄弟连原创视频 迅雷下载 电驴下载 看视频比看书学的要快,如果学一样东西能找到视频教程就直接看视频教程。

PS:以后会慢慢更新