⑴ 新手如何学习编程

熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:

1、语法。

2、基础理论(数学、数据结构、算法等)。

3、设计方法(编程原则、设计模式、框架设计等)。

4、库(核心、基础、UI、扩展、游戏引擎等)。

5、计算机相关(操作系统网络、图形学等)。

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版)

  • 英语写作:风格的要素