想学编程并不难 这样做就可以了

不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各
异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发
各种神奇的软件啦。

步骤

1、确定目标

Learn a Programming Language Step 1 Version 2.jpg

学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到最后也无法确定自己的方向到底是什么,所以,在你开始前,最好先想清楚,你是想成为一名程序员,还是游戏开发者,还是机器人专家?

2、选择一种编程语言

Learn a Programming Language Step 2 Version 2.jpg

初学者一定要从主流语言开始学习,比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的,因为它们称得上是软件开发界的主
流。但是最好不要从高级语言开始学,如Java,因为这些语言对于初学者来说难度未免太高(高级语言可以以后再学,但是C语言和C++应该作为你的基
础)。然而对于完完全全的门外汉的来说,可能C和C++都有点困难,那么你也可以从Python开始学,这种语言被大家广泛认为是适合初学者的。

此外,每一种语言都要学习至少一年。要熟悉编程范式,尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免费的)练习编程。

掌握一种语言后,先不要急着运用,而要去多买些数据结构方面的书来看,学习搜索、分类、二叉树及链表创建等概念。因为无论你是要制作游戏还是开发软件,数据结构都是必须要考虑的。

随后,你就可以开始学习更加高难度的语言,如Java。对于进阶学习者来说,可能还需要学习分而治之(Devide-and-conquer)、贪婪算法(Greedy Method)及回溯(Backtracking)等计算机算法,这又要花上至少一年的时间。

3、热爱数学

Learn a Programming Language Step 3 Version 2.jpg

许多人都由于这样那样的原因而对数学颇不感冒,而作为一名优秀的程序员,却要整天与一箩筐的数学问题打交道。正如你所见,学编程真的是说起来容易做

起来难,而它的难并不在于你对一种语言的了解程度,而在于这种语言牵扯到的数学问题。编程中的大多数问题都能在数学模型(如斐波那契数列、弗洛伊德算法、

傅立叶级数等等)中找到端倪,更不用说数学公式在解决编程问题中的广泛应用了。所以,现在开始,去学习各种公式及其特性吧,还要仔细钻研算术及微积分,因
为不懂数学,就好比巧妇难为无米之炊。

4、要保持内在的动力

Learn a Programming Language Step 4 Version 3.jpg

记住,罗马建成非一日之功,所以不要在短时间里给自己填压太多知识。学习编程语言并不容易,因为这是一门需要时常调用逻辑思维的知识。你要做的,就

是理解程序背后的逻辑,然后不断练习,直到熟能生巧为止。如果你只是死记硬背一些程序,那么你就错过了学习过程中的乐趣,而且一些概念你也未必真的理解。
所以,学习编程需要不断地挑战自己,但也不要操之过急。

5、要有耐心

Learn a Programming Language Step 5 Version 3.jpg

有时,即使是卓有成就的程序员也会被简单的小问题难住,所以,遇到问题时,一定要让自己放松下来。找张草稿纸,想想有什么现成的公式可用,或者自己

想一个公式出来。你看,这就是你为什么要学习数据结构和数学。在成为熟练的程序员以前,一个人往往需要花费大把的时间来构思用于解决特定问题的程序。这一
过程中,你可以去Project Euler或者Codecademy这样的网站上看看,上面有简单的编程作业及教程,可以用以练习并提高技能。

6、绝不轻言放弃

Learn a Programming Language Step 6 Version 2.jpg

如果你在编程过程中经常粗心犯错,那么整个过程就会变成一场旷日持久的折磨,然而一旦问题解决,所有的沮丧都会烟消云散。在学习各种算法(傅立叶级

数、向量、边界问题、线性代数、矩阵)的同时,也要注意休息。在解决特别复杂的问题时,要按时放松大脑,让困扰在心头的难题暂时转移到潜意识中。另外要有
合理的工作计划,当你编程编到倦怠的时候,就可以小憩一会儿,或者出去散一会儿步,但是永远不要说放弃。

7、成为高手

Learn a Programming Language Step 7 Version 2.jpg

学到这个阶段,你就可以试着去教教别人,并且向别人展示你制作的应用。如果你认识比你更厉害的人,就要与他分享你的想法和问题,这样会使你积累更多的经验;你也可以模仿诸如文本编辑器、windows软件等专业软件来进行自主开发;积极参加相关竞赛来挑战自我。

懂得一种编程语言是很赞的,但更赞的就是懂得多门语言,这不仅仅意味着你的“工具箱”里有了更多的“工具”,更是意味着你掌握了更多解决问题的方
法。因为不论你惯用哪种语言,懂得其他语言总是能使你更好地了解常见的抽象概念及问题。所以,有条件的情况下,尽量多学几种语言,最好是学习两三种具有不
同设计原理的语言,如Lisp、Java及Perl。但是每一种都要用心学。

8、广泛阅读

Learn a Programming Language Step 8 Version 2.jpg

许多高水平的程序员阅读量也十分惊人,他们也往往会在输入第一行代码前深思熟虑一番。所以,你一定要多阅读、多思考。每周都要检查一次自己的作品
(平时要养成保存代码的习惯,这样日后才能复查、反思);还要多买编程方面的好书。购买的书必须是最值得一看的,而并非是最畅销的。永远不要盲目地追随某
一种资源,因为那样只会让你的眼界变得狭隘。一旦你掌握一种知识,就要仔细钻研其用途及改进的可能。

9、去培训中心参加培训

Learn a Programming Language Step 9 Version 2.jpg

如果你觉得自学效果不理想,就去报名参加一些初级的编程班吧。但是报名前,一定要先向之前在里面学习过的人了解一番。

10、勤加练习

Learn a Programming Language Step 10 Version 2.jpg

要养成用编程解决问题的习惯,如果你能自己发现生活中需要解决的问题的话最好,如果不能,就可以去看看以下这些网站:

  • TopCoder - 这是美国著名的编程竞赛网站,能够极大地增长算法方面的知识。
  • Codeforces - 另一种编程竞赛网站,这里举行竞赛的频率要略高于TopCoder。
  • Project Euler - 该网站上有许多涉及的编程问题。
  • CodeAbbey - 该网站上有许多初学者经常会遇到的问题,其难度低于上述所有网站。

小提示

  • 要学会利用软件发行者提供的最新应用程序接口及官方参考资料。
  • 对于大多数人来说,编写自己感兴趣或者能够真正投入使用的程序要比照着教科书上的案列来做有趣得多。那么,你不妨利用搜索引擎来搜寻自己感兴趣的项目。
  • 学会利用参考材料。即使无法记住所有的知识也不用觉得难为情,真正重要的是你知道去哪里找参考资料。
  • 编程之前可以先打打草稿来构思可能的解决方法,然后去问问别人的意见。
  • 教学相长。因为在教别人编程的同时,你不仅会对既有的知识更加熟悉,也会帮助你从其他的角度来看待问题。
  • 光看教程是不足以把任何一门编程语言学到家的。所以,你要尽量去找些志同道合的人,然后互相学习。多多浏览并参与讨论这个小团体内其他人发表的意见,这样你才能学习更多的技能。
  • 如果你对游戏编程感兴趣,就要尤其用心学Python、C++以及Java。在这三者中,C++是最强大的一个,Python最简单,而Java制作的游戏则最适合在不用改动的情况下在Windows、Mac OS及Linux系统上运行。
  • 每天至少练习几个小时,正所谓熟能生巧。
  • 学习新知识的时候,亲手实践、做出改动、预测结果这一过程是非常重要的,因为这样你才能把一个概念吃透。
  • 多和其他程序员交流,多看其他人写的程序。这比看任何书、上任何课程都有用。
  • 致力于计算机语言标准化。你可以关注C++标准委员会(ANSI C++ committee),也可以在自己的小团体中把2格缩进还是4格缩进统一一下。不管怎样,通过这些实践,你都能对其他人在编程方面的偏好及其原因有更深的理解。
  • 多学最常用的及行业内规范的算法。
  • 多学着用Java解决问题。
  • 向免费软件学习。多研究免费软件的源代码,因为如果你能利用现成的代码,又何必费尽心思去重写呢?只不过抄下来的时候要确保自己真正理解。
  • 如果仅仅是用于在Windows上执行简单任务的程序,就可以用C#(类似Java)或Visual Basic来做;如果是其他平台,那么比较常用的就是Perl、Python、bash(或其他shell语言)。
  • 你可以用编程来解决模拟真实情景中的问题。

来源:51CTO

时间: 2024-08-30 22:07:16

想学编程并不难 这样做就可以了的相关文章

从未接触过语言的人想学C##跟.net是不是很奇怪?

问题描述 从未接触过语言的人想学C##跟.net是不是很奇怪?大学时浅浅地学过C++,可是已经完全忘记了--现在想起来想重学--却觉得很完全不知道从何入手--很怕自己学习的方向不对,越努力越尴尬.现在的我就像一张白纸,茫然地不知道该从何下手--我应该从什么书开始看?因为我只能在业余时学--有关键词么--? 解决方案 解决方案二:不奇怪.推荐几本书给你:<写给大家看的C语言书><与孩子一起学编程>都是人民邮电出版社.解决方案三:如果你不打算将编程作为职业,并且希望学习到最有用的编程知

编程-想学做个安卓小游戏,网上找半天没有个视频教程看看

问题描述 想学做个安卓小游戏,网上找半天没有个视频教程看看 本人小白一个,想学做个安卓小游戏,网上找半天没有个视频教程,做安卓游戏的大神给我点意见! 解决方案 http://blog.itpub.net/29621559/viewspace-1272875/http://www.xuexi111.com/jiaocheng/shipin/26072.htmlhttp://download.csdn.net/download/cotean666/5660277 解决方案二: 网上的教学视频,还是文

准备充分了嘛就想学函数式编程?(第四部分)

本文讲的是准备充分了嘛就想学函数式编程?(第四部分), 想要理解函数式编程,第一步总是最重要,也是最困难的.但是只要有了正确的思维,其实也不是太难. 之前的部分: 第一部分, 第二部分, 第三部分 柯里化 如果你还记得第三部分内容的话,就会知道我们在组合 mult5 和 add 这两个函数时遇到问题的原因是:mult5 接收一个参数而 add 却接收两个. 其实只需要通过限制所有函数都只接收一个参数,就可以轻易地解决这个问题. 相信我,这并没有听起来那么糟糕. 我们只需要来写一个使用两个参数,但

准备充分了嘛就想学函数式编程?(Part 2)

本文讲的是准备充分了嘛就想学函数式编程?(Part 2), 想要理解函数式编程,第一步总是最重要,也是最困难的.但是只要有了正确的思维,其实也不是太难. 之前的部分: 第一部分 友情提示 请读仔细读代码,确保继续之前你已经理解.每一代码段落都基于它之前的代码. 如果你太急,可能会遗漏一些重要的细节. 重构 让我们先来重构一段 JavaScript 代码: function validateSsn(ssn) { if (/^\d{3}-\d{2}-\d{4}$/.exec(ssn)) consol

编程-想学Qt,电脑已安装这些,还需要安装什么?

问题描述 想学Qt,电脑已安装这些,还需要安装什么? 解决方案 最好你找个视频看看,根据视频来做时最好的 解决方案二: 不仅仅说是装了就可以,主要的是你要会用... 解决方案三: 最好看看书或者视频,然后按照教程一步一步来.推荐<零基础学Qt4编程> 解决方案四: 软件还需要安装吗?

准备充分了嘛就想学函数式编程?(第一部分)

本文讲的是准备充分了嘛就想学函数式编程?(第一部分), 迈出理解函数式编程概念的第一步是最重要的,有时也是最难的一步.但是不一定特别难.只要选对了思考方法就不难. 学开车 第一次学车时,我们也曾挣扎过.看别人学开车时觉得真的很简单.但事实上学车比我们想象的难多了. 我们借父母的车子练习,在家周围街道上开熟练之前甚至都不敢冒险开到公路上去. 但是通过不断的练习,在经历过一些父母想忘掉的担心令人的经历之后,我们学会了开车,最终拿到了驾照. 拿到驾照之后我们一有机会就会把车开出去.每次出行都会让我们的

准备充分了嘛就想学函数式编程?(第五部分)

本文讲的是准备充分了嘛就想学函数式编程?(第五部分), 迈出理解函数式编程概念的第一步是最重要的,有时也是最难的一步.但是不一定特别难.只要选对了思考方法就不难. 前几部分: 第一部分, 第二部分, 第三部分, 第四部分 引用透明 引用透明 是一个很酷炫的术语,它指的是一个纯函数能够安全地被它的表达式所替代.下面用一个例子来解释这个术语. 在代数中当你有以下这个公式时: y = x + 10 并且已知: x = 3 你可以将 x 代入方程来得到: y = 3 + 10 此时这个方程依旧成立.我们

大家好,我用语言编程都不会,现在想学爬虫,

问题描述 大家好,我用语言编程都不会,现在想学爬虫,请问C#和python那个功能强,那个容易学.在线等,要从那步开始学.谢谢 解决方案 解决方案二:不会编程,是不是找个工具更好点.解决方案三:学编程不一定要从爬虫开始啊,从基础开始.要是只想要一个爬虫用,就去网上找一个现成的爬虫用就好了.解决方案四:有时间,耐心的话.都学吧解决方案五:你如果不会为吃上蛋糕而去学习做蛋糕的话,我觉得你也没必要为了一个爬虫的程序而学编程.解决方案六:下个爬虫软件解决方案七:爬虫也是要用到编程语言的呀解决方案八:Py

准备充分了嘛就想学函数式编程?(Part 6)

本文讲的是准备充分了嘛就想学函数式编程?(Part 6), 第一步,理解函数式编程概念是最重要的一步,同时也是最难的一步.如果你从正确的角度或方法来理解的话,它也未必会有那么难. 回顾之前的部分: Part 1, Part 2, Part 3, Part 4, Part 5 现在该做什么? 现在你已经学会了所有这些新东西了,你可能在想,"现在该干什么?我如何在日常编程中使用它?" 这得看情况.如果你会使用纯函数式语言(如 Elm 或 Haskell)编程,那么你可以尝试所有这些想法.这