程序员应该学习的 10 件事

简介: 程序员应该学习的 10 件事

程序员应该学习的 10 件事(省流版)

翻译:10 Things Software Developers Should Learn about Learning


原文:https://cacm.acm.org/magazines/2024/1/278891-10-things-software-developers-should-learn-about-learning/fulltext

10件和记忆、学习、程序员相关的事。

1.人类的记忆不是bit组成的

人无法像计算机一样精确读取和存储记忆。

  • 人在回忆时会重新整合记忆。
  • 人通过传播路径回忆。这可能导致错误记忆,也可能产生新的想法。

2.人类的记忆由长期记忆和工作记忆组成

长期记忆永久存储大量信息,类似磁盘

工作记忆短暂存储有限的信息,并能快速访问和操作,类似CPU寄存器

如果你对某个主题很熟悉,就可以将一些信息作为一个块,从而增加工作记忆容量。

当任务超出个人能力的时,将问题分解成可以处理和分块的更小的部分。

3.专家把握整体,新手陷入细节

初学者可以通过阅读和理解大量代码成为专家。专家(在心里)建立了一个模式的库,能更容易地读写代码。

4. 理解一个概念从抽象到具体再到抽象

从抽象的概念,到具体的例子/细节,再回到抽象。

5. 间距和重复问题

间隔效应:在一段时间内分散学习,而不是在一次学习中集中学习相同数量的内容,学习效果更好。

为了安排一天的学习,学习者应将学习时间限制在 90 分钟或更短。持续学习时间太长时,大脑难以集中注意力。每次学习后,至少休息(放松)20分钟。

在学习中,有几种策略可以最大限度地提高效率。首先,随机化正在解决的问题类型的顺序,以便在长期记忆中激活不同的概念。但随机化顺序需要更多的努力。 第二种策略是随机休息一下,以增强记忆巩固。建议每 2-5 分钟休息 10 秒。

6. 互联网并没有让学习过时

尽管搜索引擎和ChatGPT能让你快速找到某个知识点,但你仍然需要学习这些知识。否则你无法将知识存储到长期记忆中并形成联系,产生高层次的理解和抽象。

7. 解决问题不是通用技能

脑筋急转弯对评价编程能力没有帮助。如果要判断编程能力,就要评估编程能力。

8. 在某些情况下,专家可能会有问题

一些对初学者有益的东西,可能对专家产生负面效果。

例如IDE中的提示信息可能帮助初学者使用IDE,但会影响专家的注意力。这被称为专业知识逆转效应:帮助初学者的提示和指南可能会妨碍专家并降低他们的工作效率。

9. 编程能力的预测因素不明确

简而言之,很难预测谁将能够编程。

10. 你的心态很重要

以成长型思维方式处理任务是有效的,但也是一项需要培养的技能。

总结

对于学习和培训,我们提出以下建议:

  • 阅读大量代码将帮助某人成为更高效的程序员。
  • 专家并不总是最擅长培训初学者。
  • 学习需要时间,包括学习课程之间的时间。激烈的死记硬背是无效的,但间隔重复是有效的。
  • 同样,花时间远离问题可以帮助解决问题。
  • 仅仅因为你可以通过互联网搜索或生成式人工智能工具找到它,并不意味着学习已经过时了。
  • 使用示例在抽象概念和具体的可学习事实之间切换。
  • 寻求成功(而不是避免失败)并相信能力是可以改变的,是适应力和学习的重要因素。


相关文章
|
架构师 程序员 Android开发
35岁以上程序员都去哪里了?
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。 你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。 最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。 身边好几个年轻的同事都在说房价,很多人抱怨房价太高了买不起怎么办好迷茫…
35岁以上程序员都去哪里了?
|
程序员 测试技术 开发工具
做一个有品位的程序员
参见百湖培训之前,华为的一个小伙伴发现了Git实现的一个 Bug,给我发了一个 Pull Request,让我审核以及代发到 Git 社区。不用看代码,只看 Pull Request 的说明,我相信大家就可以闻到这是一个好代码,写代码的人有品味。 参见:https://github.com/jiangxin/git/pull/25 —— 问:“能够写出正确代码的程序员就是有品味的程序员
1105 0
|
架构师 Java 程序员
我女朋友是个程序员
呃。。。开新坑了。神秘的程序员和他/她的家属们的日常系列。这个系列主要是一些比较轻松的中短篇幅故事。 说到这里,也给大家推荐一个架构交流学习群:614478470,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。
939 0
|
程序员
为什么要选择做一名程序员?
从这篇文章开始准备做一个大学生学编程系列文章,主要帮助一些还在编程路上徘徊的小伙伴,作为一个过来人的身份总结一些编程经验以及心得,在自学的过程中走了很多的弯路,在此通过这个专栏分享给需要编程的小伙伴。
2051 0
|
程序员
程序员该如何锻炼身体
为什么要锻炼 在椅子上坐了大半天,不知道是吃的饭不合适等缘故还是喝水不足的缘故,有那么一瞬间感觉到浑身内脏湿漉漉的,仿佛外面包裹了一层黄油,哇好恶心,我怎么能说出这种话,不过真的整个人感觉不舒服,后来我想了下人的生命周期中,哪个是最核心的部分,对,是血液!最后我的大脑一致认为,是血液没有很好的执行监听内脏的任务,因为它的进程好像并没有那么活跃。
1299 0
|
程序员
程序员是蓝领吗?
科技或者说智能的发展中,信息也在不断被创造、积累、压缩; 会运用信息、会压缩信息、会创造信息,正如蓝领、白领、金领的角色; 时代更替,蓝领消失,白领变蓝领,金领变白领,新金领诞生...... 所以,还是那句老话:学无止境啊! 你现在的气质里,藏着你走过的路,读过的书,爱过的人。
1396 0
|
测试技术 程序员

热门文章

最新文章