如何快速有效的学习编写程序
IT很火爆, 编程很热门,想要学好编程不能少了学习方法,那么如何快速有效的学习编写程序?以下是学习啦小编分享给大家的有效的学习编写程序的方法,希望可以帮到你!
有效的学习编写程序的方法
1. 将其与类似的语言进行比较。当你首次观看有关该语言的第一个教程或阅读代码时,请尝试猜测该语言的每个部分将会做什么,并检查你的判断是否正确。
如果记笔记可以帮助你整合信息,请拿起一张纸并记下三个列表:
看起来很熟悉的东西,并且做了预期中的事
看起来很熟悉的东西,但做了意料之外的事
看起来完全是新的东西
例如,如果我用来自 Python 和 C 背景的 Rust 代码进行此练习,那么在第一个列表中,我会放上用于表示范围的花括号,!(看起来像是布尔类型的 非,但实际上是 Rust 中的宏定义)则放在第二个列表,类型签名语法(type signature syntax)放在第三个列表。
如果你保留着初始列表的副本,一旦你更熟练,可使用它通过语言反思你的进展,并提醒自己在尝试向其他人讲授该语言时,有哪些看起来不熟悉的概念。
2. 阅读语言的官方文档。如果希望在使用之前吸收大量信息,从阅读语言的参考资料中可能会受益。不用担心它们会对你催眠,参考文献通常是用于查找使用,而不是用来记忆。
3. 使用互联网搜索。搜索网络是一个很好的方式,可提供有关特定错误和一般最佳做法的信息。当收到错误信息时,应搜索信息中看起来是错误的独一无二的部分,但不是代码唯一的部分。例如,如果错误提示 "Error on line 53: Invalid argument exception(错误在第 53 行:无效的参数异常)",以语言名称和字符串 “Invalid argument exception” 这样的组合搜索,以找到最佳的结果。记住要将错误信息中的所有引用内容都包含在内。
还可以在网络中搜索有关解决语言中特定问题的最佳做法的博文。评估搜索结果中显示的博客帖子的质量和决定认真采用他们的建议时,请查看作者的公共代码组合以及发布日期。
4. 与社区接触。虽然博客和新闻文章具有大量有用的信息,但是你尝试编写的特定代码片段总会有些微妙之处。不要害怕在邮件列表中发帖,或加入 IRC 和 Slack 频道以寻求帮助。
要提出有帮助的回复的问题,请确保在正确的地方提问。许多语言都有 “初学者” 邮件列表或聊天频道,专门针对可能会频繁询问的问题而建立。当提出问题时,请务必先总结准备做什么、已做过的东西以及发生的情况。尽量为专家提供足够的上下文来了解问题,但不需要无关紧要的细节。提出问题后,请务必坚持一段时间来听取建议或会回答你的疑问可能产生的后续问题。
5. 编写玩具程序。一次练习一个新的概念,很少有任务可打败只使用某个概念的玩具程序。你可以将重点放在尽可能让你的代码清洁和惯用性上。如果你将解决 Project Euler 或 Rosetta Code puzzle 作为玩具程序,则可以将你的解决方案与其他使用相同语言编写的解决方案进行比较。
6. 使用该语言编写 “生产就绪(Production-Ready)” 的代码。玩具程序是一个很好的第一步,但在更逼真的的环境中使用一门语言可帮助探索其现实使用中的优势和挑战。考虑将一个熟悉的、相对较小的、经过良好测试的程序移植到新的语言,以探索其在现实使用的应用。
7. 阅读一本关于这门语言的书籍。如果有好几本有用的书,比较它们的评论,并考虑哪位作者的背景和自己的最相似。现在有很多电子书可以免费在线阅读。
在购买有关该语言的书籍之前,请先查看书籍出版的日期以及其示例所涵盖的语言版本。如果使用的是较旧的书籍,请务必使用其所使用的语言版本的示例。还要在网上调查一下,以了解自出版以来语言发生了怎样的变化。
8. 观看讲座和课程。如果你学习的语言在在线课堂中有讲授,那么视频应该是公开的。除了学术讲座之外,还可以考虑寻找录制讲座、会议谈话和有关该语言的博客。当在看电视时,谈谈你的新语言是一个将学习融入日常生活很好的方式。
9. 阅读示例代码。大多数关于编程语言的书籍都会包含代码片段。你也可以在博客和 Rosetta Code 上找到示例代码。运行示例代码、修改它们,并尝试预测修改后会发生那些情况。
10. 阅读生产代码。查找有关该语言所有类型和大小的项目的一种方法是在 GitHub 上搜索它。按最受欢迎或最具影响力进行排序,你的热门搜索将包括最受欢迎的开源工具。如果想要了解开源项目的设计,可通过邮件列表或 IRC 来与社区进行互动。你甚至可能会发现一些 bug。
11. 寻找好的工具。当使用新的语言时,可向其更有经验的用户请教,询问他们的开发环境。你可能会发现,一个特定的文本编辑器或 IDE 对于新语言的支持比你习惯通常使用的要好。调查在新语言生态系统中管理依赖关系、格式化、模糊化和单元测试代码的选项。
12. 保持你的热情。入门新的语言很容易,但变得真正精通它通常是一个需要多年的旅程。庆祝一路上你的成功,并与追随你脚步的学习者分享你所学到的知识,保持着学习编程的兴趣。
有效的学习编写程序的建议
学练相结合:
在学习新知识的同时,充分利用身边的电脑,做到边学新知识边上机操作练习,这样对于加强知识的稳固具有十分重要的作用。
深入学习细节过程中,对于电脑编程的学习,即要从整体把握,又要深入细节当中,了解并掌握知识的核心理念。
努力学好一门计算机编程语言。根据电脑编程语言的相通性,当充分掌握一门计算机编辑语言后,对于其它语言的掌握时间将明显减少。
最好先从低层(级)语言学起,这样就可以有效的掌握计算机的硬件低层知识,从而为更高级语言的学习打下良好的基础。
尝试自己编写若干个功能模块,从而加强对计算机编程语言基础能力的加强以及应用,并为新知识的学习奠定基础。
向别人学习,多看看别人写的代码,了解应用计算机编程解决问题的通用方法,从中提炼解决问题的通用方法。
有效的学习编写程序的注意事项
1、摇摆不定的老大
我是老大, 最早的时候是Java爱好者, 因为大家都说Java 应用面广, 既能做Web, 又能做Android, 还可以开发大数据应用,就业需求量大, 学Java绝对没错, 于是就兴冲冲的开始了Java 之路。
Java 才开了个头, Java SE勉强看完, 我又在网上看到抨击Java 的文章: 傻大笨粗,老气横秋, 人家Pyhton 一行顶你10行, 云计算,大数据样样在行, 非常适合做小白的“初恋”语言,转眼一想, 还是投入Python 的怀抱吧。
Python 刚入门, 网上又热炒Go语言, 说是去年增长最快的语言,是21世界的C语言, 还有个财大气粗的亲爹Google , 前途不可限量, 赶紧去学。
昨天半夜, 无意看到一篇介绍javascript 的文章, 说javascript是前端之王, 那些前端框架又酷又炫, 比呆板的后端编程强太多了, 于是又动了看javascript的心思。
就这么来来回回, 反反复复, 我被网络舆论带着,游走在各大语言边缘, 每个都学了皮毛, 了解了优缺点,拿来和人吹牛是足够了, 但是没有一个精通的, 这可怎么办啊?
2、“小仓鼠”老二
我排行老二, 人称“小仓鼠”, 以集齐各种电子书/视频为乐。 看到论坛,群里推荐书就两眼放光,千辛万苦也要找个电子版下载下来。
计算机组成原理, 数据结构,操作系统, 网络,数据库, 每个主题都好几本, 不带重样的。
进阶,高级, 解密, 白话,大话,实战,Head Frist系列, 一个都不能少!
每当我看到各培训机构泄出来的教学视频时, 简直是是欣喜若狂,什么基础班, 就业班,一头扎进xxx 。。。。 赶紧保存到自己的百度网盘里。
闲来无事, 欣赏下满满一硬盘的电子书和好几个T的视频, 我心满意足,安全感极强, 世界尽在掌握。
但我就是不去看, 不去学, 原因很简单: 看电子书太累,还有就是工作太忙,哪有时间啊。
3 、不看书的老三
我排行老三, 我最喜欢网络学习。 现在信息大爆炸时代, 所有的知识网络上都有, 还看书干嘛呢?
不信你说个知识点,我分分钟给你找出几百篇文章。 对了,我用的都是手机, 电脑都不派补上用场。
我可以一边看技术文章,一边刷个朋友圈, 和朋友们互相打个招呼, 学习娱乐两不误。
我网络快餐吃的快, 很少深度思考,也记不住多少东西, 但是没关系, 等到想不起来的时候再搜一下。
不过最烦的是网络文章一大抄, 你抄我的我抄你的, 实在让人烦。 前两天我看到某知名技术网站上关于JVM相关的文章, 读了一遍以后似曾相识, 原来是照抄《深入理解Java虚拟机》这本书, 嗯, 也许看书好一点吧。
我原来还嘲笑那些在图书馆静静的捧着一本书看的同学,都什么年代了, 还看书?
慢慢的发现他们的知识体系似乎更加完整,理解更有深度, 而我似乎一直浮在表面, 知识点支离破碎的。 后来一问才知道, 人家不但深入思考, 还写笔记,写博客,把自己的理解整理了出来, 不仅仅是一个内容的消费者,
已经变成内容的生产者了。
4、半途而废的老四
我是老四, 没有前面几位哥哥的毛病, 我专心致志,一门心思的学Java, 耐心看书, 耐心的看视频。 我还知道, 好的程序员都是代码喂出来的, 动手实战必不可少, 所以我还经常coding。
但我有个毛病, 凡事三分热度, 无法坚持, 半途而废。
我也知道数据结构和算法很重要啊, 也看了前面的队列、栈等基本内容, 可让我坚持着把所有内容都看完, 把习题都做个差不多, 实在是要了我老命了。
优秀和平庸的差别可能就是那一点点坚持吧, 坚持不懈的做一件事, 每天前进一点点, 最后量变发生质变。
我听说每个季度定个小目标, 努力达成, 获得成就感, 就能刺激自己更进一步, 我决定实验一下, 希望能改善下我这半途而废的毛病吧。
猜你喜欢:
3.程序设计学习心得
4.程序设计学习心得