编程入门手册
⑴ 新手如何学习编程
熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:
1、语法。
2、基础理论(数学、数据结构、算法等)。
3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
6、领域知识(游戏设计、网站设计等)。
7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。
具体方法包括:
1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。
2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。
4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。
对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。
项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。
⑵ 自学编程需要哪些入门书籍
入门书籍
程序设计:
基础理论:编码:隐匿在计算机软硬件背后的语言
C:C和指针
C++:C++程序设计原理与实践
Java:Java核心技术(第9版)
C#:精通C#(第6版)
JavaScript:JavaScript DOM编程艺术(第2版)
Python:Python基础教程(第二版)
编程语言理论:编程语言实现模式
程序设计:程序设计方法
算法与数据结构:算法(第4版)
程序调试:调试九法——软硬件错误的排查之道
编程实践:程序设计实践
面向对象程序设计:Head First设计模式
重构:重构
软件测试:How to Break Software
项目管理:极客与团队
专业开发:程序员修炼之道:从小工到专家
大师之言:奇思妙想:15位计算机天才及其重大发现
界面设计:写给大家看的设计书
交互设计:通用设计法则
职业规划:软件开发者路线图
思维方式:程序员的思维修炼:开发认知潜能的九堂课
求职面试:金领简历:敲开苹果微软谷歌的大门
英语写作:The Only Grammar Book You'll Ever Need
基础理论:深入理解计算机系统(第2版)
编程语言:
C:C程序设计语言(第2版)
C++:C++程序设计语言(第4版)
Java:Effective Java(第2版)
C#:CLR via C#(第4版)
JavaScript:JavaScript语言精粹
Python:Python参考手册(第4版)
编程语言理论:程序设计语言——实践之路(第3版)
程序设计:计算机程序的构造与解释(第2版)
算法与数据结构:编程珠玑(第2版)
程序调试:调试九法——软硬件错误的排查之道
编程实践:代码大全(第2版)
面向对象程序设计:设计模式
重构:修改代码的艺术
软件测试:xUnit Test Patterns
项目管理:人月神话
专业开发:程序员职业素养
大师之言:编程人生:15位软件先驱访谈录
界面设计:认知与设计:理解UI设计准则(第2版)
交互设计:交互设计精髓(第3版)
职业规划:软件开发者路线图
思维方式:如何把事情做到最好
求职面试:程序员面试金典(第5版)
英语写作:风格的要素
软件开发:
个人成长:
必读书籍