答案是:在学习区刻意练习,每天500行。什么是学习区,就是那种,你刚刚够得着,但是还是需要付出一点努力的。
1. 如何寻找学习区
1.1 经典教程
一般某门新语言的图书,在豆瓣排名比较靠前,口碑都很不错的,挑一本带课后练习的就行了,放弃那种虽然写的很好,但是不带练习题目的,那种书作为备选就可以了。Ruby社区,我常常推荐日本Ruby学会会长写的这本:《Ruby Programming》课后习题。
1.2 笨方法系列
Ruby与Python双修的怪才Zed Shaw,推出了笨方法学习编程的系列教程。里面已经有了Ruby\Python\C系列。Zed Shaw开源了相应的方法论、资料,你也可以将它改为自己要学的版本,比如Java、Arduino等。
网址:http://learncodethehardway.org/
Ruby中文版
Python中文版
1.3 社区英雄设计的练习题目
任何一个社区,都有一些英雄人物,乐意传承自身的知识体系,因此,设计了大量的练习题目。比如,Ruby社区的以下材料都很适合初学者。
http://rubykoans.com/
http://kidsruby.com/
http://rubymonk.com/
1.4 人气较旺的程序员问答社区
个人比较推荐:http://stackoverflow.com/(编者注:国内程序员问答社区可以去博问)
可以去这里回答别人的问题,如果时间有限、可以先下载stackoverflow的top问题电子书。
别急着看最佳答案,自己尝试写下答案。然后再与最佳答案对照。
2. 在学习区刻意练习的辅助工具
初学编程,最应该记住的是在学习区刻意大量练习,千万少看书,要多练习。当年我从管理咨询行业继承的陋习,先看大量资料,才进入某个领域,并不适合学习编程。
刻意练习时,有以下重要的工具。
2.1 TextMate的Bundle
Windows下的朋友暂时缺少,通过bundle可以快速掌握一门语言的核心语法,并自由扩充自身的知识库。
2.2 cheatsheets
cheatsheets类似于考试时的小抄,将某个需要学习的东西精华整理在一页或几页纸上。
http://cheat-sheets.org/,找到里面的Ruby cheatsheets或者你自己所用到语言的小抄,有多个版本,找一个最适合自己的版本 ,然后下载并打印出来。一张纸囊括核心内容。
cheatsheets,还有很多在这里:http://refcardz.dzone.com/
2.3 FlashCard
FlashCard是一种学习方法,先将题目呈现,然后心中默想答案,再翻看答案。
将与学习相关的FlashCards下载在手机或者打印出来,然后等车等无聊时间,予以默想。
比如:http://www.yoyobrain.com/cardboxes/103
以及一个特别针对Ruby on Rails的app
网上有大量的关于Flash Card的社区。可以特意去搜索自己所学习的语言的。
3. 如何提升行动力:人类行动心理学的有效Hack
人为什么会拖延、人为什么行动力很差。近些年心理学已经取得了突破性研究成果。普通人思考目标的时候,使用的是目标意图, 是:
我要做什么....
但是,有位天才心理学家 Peter Gollwitzer 发现目标意图这样的思考范式,反而很难达成目标,于是,他对自己的实验对象,使用了一种替代范式。强迫实验对象,使用一种称之为:执行意图的思考范式来思考。结果令人惊讶,人们更容易克服拖延症、达成目标。
什么是执行意图?就是使用if...then...的思考范式。比如, 不要再说,我要学Ruby。 而是说,如果我要学习Ruby,那么,今天晚上就装上环境。
当你关于行动与目标,长年累月这么思考,最终建立自动化机制,那么行动力慢慢就变强大了。如果...那么...成为生命中的一部分。我要...这种句式,就从自己的语言体系中死掉了。
4. 编程始终是个人行为
刚开始,不要:
- 忙于去社交
- 泡各种论坛、发无聊帖子
- 下载各种盗版电子书(自己花钱买来的你才会格外心疼)
- 争议哪种语言更好
每个人的世界都是如此不同,不争议,用它做点作品,或者是送给自己的女朋友,或者是赚点外快。慢慢地,就成长了:)
本文转自:http://kb.cnblogs.com/page/130650/
分享到:
相关推荐
### 如何高效学习一门编程语言 #### 一、选择合适的编程语言 在开始学习之前,首先需要明确自己的兴趣所在及职业发展方向。不同的编程语言适用于不同的领域: - **Web开发**:如果你对网页制作感兴趣,那么HTML、...
学习 Brainfuck 不仅仅是为了掌握一门新的编程语言,更多的是为了理解计算机底层的工作原理和编程思想。尽管它并不适合编写实际的应用程序,但通过 Brainfuck,程序员可以更深入地理解内存管理、循环控制以及输入...
学习一门编程语言需要选择一门语言,确定你感兴趣的领域,并确定你通过学习这门语言想要完成什么样的工作。这将帮助你确定你应该追求的编程方式并提供一个良好的开始。 选择一门语言需要考虑到你的兴趣爱好和目标。...
在“怎么学一门语言.doc”这个文档中,可能会详细列举学习计划、推荐的学习资源、实践项目建议以及一些常见问题解答,帮助读者更系统地进行编程语言学习。通过这样的指导,相信你在短时间内就能从编程新手成长为熟练...
本月,我开始学习一门新的编程语言C#,并进入了微软的独家语言学习。这个存储库是保存我学习进度的一种方式_ C-sharp-note-StepByStep
如此重复和繁琐的工作,靠人力是无法负担的,所以,学习一门可以让运维工作批量完成的语言,显得很重要了。 那么应该学习一门什么语言呢? 对于Linux系统运维人员来说,答案比较复杂,因为有很多的选择。shell...
青语言是一门完全基于中文语言习惯打造的编程语言。取名为青语言,意为主要面向广大青少年、儿童和业余爱好者学习和使用的编程语言,同时也希望这门语言充满青春朝气,蓬勃发展。为了适应目标人群的需求,我们对青...
学习任何一门编程语言,首先应明确学习路线。Java的学习路线可大致分为三个阶段:语法基础、数据库操作和设计模式及框架技术。首先,牢固掌握Java的基础语法,包括变量、数据类型、控制结构等,这是构建任何Java程序...
【选择计算机语言】选择一门合适的计算机语言是编程生涯中的重要决策,这关乎到学习的效率、项目的适用性和个人兴趣的发展。以下是对几种常见语言的评价和考虑因素。 **C语言**: C语言以其高效和接近硬件的特点而...
使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问...
在编程世界中,掌握一门或多门编程语言是成为专业IT人才的基础。本资源包提供了丰富的学习资料,共计968页,涵盖了C#、vc++、Java以及JavaWeb这四门重要的编程语言,旨在帮助初学者和进阶者提升技能,深入理解编程的...
总而言之,要想快速掌握一门编程语言,需要制定明确的学习计划,选择合适的学习资源,并注重实践。同时,不断巩固基础知识,掌握核心概念,熟练运用设计模式和调试技巧等,这些都是成功的关键。最重要的是保持好奇心...
在编程世界中,选择一门语言仅仅是个起点,而掌握编程思想才是通往卓越程序员之路的关键。"C++编程思想"这本著作,不仅涵盖了C++语言的基础知识,更深入地探讨了如何利用C++来培养和提升编程思维。下面,我们将详细...
青语言是一门完全基于中文语言习惯打造的编程语言,主要面向青少年、儿童和非专业人士。当今世界信息化高速发展,信息技术已成为促进社会进步的重要推力。随着我国信息化的不断进步,尤其是互联网行业的高速发展,...
Python发展史-一门编程语言的起源借鉴 Guido van Rossum,Python 的作者,是一位荷兰人,拥有数学和计算机双料学位。他在阿姆斯特丹大学获得了硕士学位,然而,他更喜欢计算机带来的乐趣。在那个时候,Guido 接触并...
Python的这些设计决策使其在编程社区中迅速获得了认可,随着版本的迭代,Python逐渐发展成为一门多用途、跨平台的通用编程语言,被广泛应用于网络开发、数据分析、人工智能等多个领域。Python的生态系统丰富,拥有...
在IT领域,学习一门新的编程语言是提升个人技能、拓宽职业道路的重要步骤。根据标题“学习一种新编程语言要做的15个练习”,以及部分描述和内容,我们可以深入探讨这15个练习所涵盖的关键知识点,帮助初学者系统地...
Rust是由Mozilla研究院的Graydon Hoare在2006年开始设计的一门新型系统编程语言。随着时间的推移,它吸引了全球范围内众多开发者的关注与贡献,逐渐发展成为一个成熟的、具有广泛应用前景的语言。Rust的设计目标是...
学习这些基础知识是必要的,因为它们构成了所有编程语言的基石。你可以通过在线课程、书籍或者教程来获取这些知识。 二、选择合适的编程语言 对于初学者,选择一门易学且实用的语言至关重要。Python 是一个很好的...