学习编程-先改变心态

编程失败的天才

林一和我很久以前就认识了——我从五年级就认识他了。他是班上最聪明的孩子。如果每个人在家庭作业或考试准备方面需要帮助,他们都会去那里。

有趣的是,林一不是那种连续学习几个小时的孩子。

他的聪明才智似乎与生俱来,几乎毫不费力。他只需阅读或听到一个概念一次,就可以轻松地将其内化。

完成学业后,林一继续获得英国最负盛名的大学之一的奖学金。当我不久前和他交谈时,他告诉我他打算学习编程,因为他想成为一名软件工程师。

然而就在两个月后,林一告诉我他的计划发生了变化。他不再想成为一名软件工程师,因为编程“不适合他”。

当他告诉我这件事时,我大吃一惊。

班里的天才觉得编程太难了?

与此同时,我注意到许多在学校平均成绩为 C 的学生后来成为软件工程师、网络开发人员和数据科学家——这些职业需要大量的编程专业知识。

对我来说,越来越明显的是,在编程方面,有些特质比卓越的技能或智力更重要——比如毅力、心态改变和自信。

在这篇文章中,我将详细介绍我为帮助我成为一名更好的程序员而开发的两个重要特征。

这些生活方式和心态的改变帮助我从一名“有抱负的程序员”变成了一份需要我每天编码的数据科学工作。

1. 培养成长心态

2012年,斯坦福大学心理学家卡罗尔·德韦克(Carol Dweck)创造了“成长心态”一词。

德韦克解释说,本质上有两种心态——固定心态和成长心态。

假设你面临一个对你来说有点太难的问题——当你陷入困境时,你最初的反应是什么?

您是否感到焦虑,或者因为不够聪明而无法解决问题而想放弃?

或者……你觉得你还没有解决这个问题吗?只要多做一点准备,你最终就会到达那里。

如果你属于第一类,那么你就拥有德韦克所说的固定型思维模式。固定型思维模式的人相信天赋和智力等特质是与生俱来的。你要么拥有“它”,要么没有。

让我们回到林一的故事。

作为一个学得很快的人,一个不费吹灰之力就能取得好成绩的孩子,林一几乎没有犯过错误。

他是学校里的完美典范,经常被称赞有“聪明的头脑”并且比其他人都聪明。

那么……当这个人一生中第一次尝试学习编码并且最初遇到困难时,你认为发生了什么?

当他浏览网页寻找答案和陌生人时,互联网上随机的人都能编写他几乎看不懂的程序?

当他努力执行最基本的任务而不出错时?

我会告诉你发生了什么事。

林一进入战斗或逃跑模式。他很沮丧。他认为编程不适合他。

你看,林一体现了固定型思维模式。他在认可他的环境中茁壮成长,并在失败的前景中崩溃。

而在很长一段时间里,我也是这样。

当我第一次尝试学习编码时,我认为世界上有两种类型的人 - 适合编程的人和不适合编程的人。

事实证明我是对的。

然而,那些适合编程的人并不比你聪明或更有才华。

他们只是有能力接受从头开始学习如何编码是需要努力和耐心的事情。它不可能在一夜之间掌握。

换句话说,他们具有成长心态

成长心态意味着你认为你的编程能力是可以通过努力培养的。当你未能学习一个概念或遇到错误时,你不会将这种失败视为描述自己的一种方式。

相反,您将其视为学习和成长的机会。

对于我们许多人来说,成长心态并不是天生的。

当我第一次开始学习编码时,我会遇到一些简单的问题,而我看到我的同伴在几分钟内就解决了这些问题。

这让我质疑自己的智力并怀疑自己在该领域的能力。

然而,随着时间的推移,我意识到编程与我们在学校教授的其他科目不同。

学习编码并不像为了考试而背诵教科书。您不可能花几周的时间来学习它并期望在完成课程后构建全栈应用程序。

这是一项永无止境的终生努力——一项需要一遍又一遍地重复的练习,你花在上面的每一个小时都收效甚微。

我喜欢把它想象成去健身房或骑自行车。在健身房进行一次锻炼后,您不会一夜之间就增肌。你需要每周出现并连续几天重复这个动作,直到你变得更好。

如果你跳过一次锻炼或一个月没有出现,你最终会失去进度并不得不重新开始。

将编程视为锻炼。

可能需要几个月的时间才能看到任何明显的进展迹象,但持续表现并专注于过程是改进的唯一方法。

2. 将编程变成日常习惯

既然我们已经确定一致性是学习编码时的关键,那么如何将其变成一种重复足够多次才能真正看到进步的习惯呢?

学习编码很困难。研究表明,作为人类,我们的大脑倾向于走捷径。

那么……你如何克服走阻力最小的道路的冲动,并说服自己每天都编码呢?

当然,当你有动力时,一开始就很容易坚持成为一名程序员的目标。困难的部分是,当你因为看不到明显的进展迹象而开始感到沮丧时,保持在正轨上。

James Clear 在他的畅销书《Atomic Habits》中提供的一个技巧帮助我让编程成为一种日常习惯。

詹姆斯·克利尔在这本书中指出,当你经常重复某件事并使其成为你日常生活的一部分时,习惯就会形成。

为了将任何行动变成日常习惯,他建议设定一个“执行意图”。

实施意图

实施意图让你能够真正具体地了解你要做什么、什么时候做以及在哪里做。

例如,与其说“我要学习编程”,不如说“我要每天上午 11 点到下午 4 点在我家附近的咖啡馆编码”。

这一实施意图是我特有的,但您可以为自己创建一个类似的实施意图并遵循它。

像这样的实施意图将确保您将编码作为日常工作的一部分并坚持下去,即使是在您感觉不到的日子里。

我发现另一个有用的技巧称为“诱惑捆绑”。

诱惑捆绑

这是将你必须做的事情与你喜欢做的事情结合起来的行动,以便将其变成一种日常习惯。

例如,我们大多数人都觉得去健身房既困难又不愉快。然而,我们喜欢看 Netflix 和听音乐。

如果你将观看喜爱的电视节目的行为与每天晚上锻炼的任务结合起来,你可以欺骗你的大脑期待锻炼。

作为一个咖啡爱好者,只有在编程的时候我才会给自己一杯冰拿铁,这让我更加期待打开笔记本电脑写代码的动作。

这帮助我每天起床编码,最终将其变成了我逐渐喜欢的日常习惯。

要点

总而言之,学习编码是一项艰巨的任务,既耗时又需要大量的练习。

一开始可能没有什么回报,你投入的时间几乎没有什么回报。

然而,就像去健身房或骑自行车一样,你必须把它变成一种日常习惯。专注于过程而不是关注结果,随着时间的推移,你将不可避免地取得进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/157328.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从一部iPhone手机看芯片的分类

目录 问题 iPhone X 手机处理器:A11 iPhone X 的两大存储芯片 数字 IC CPU:计算设备的运算核心和控制核心 GPU:图形处理器 ASIC:为解决特定应用问题而定制设计的集成电路 存储芯片:DRAM 和 NAND Flash iPhone…

C# Thread.Sleep(0)有什么用?

一、理论分析 回答这个要先从线程时间精度(时间片)开始说起。很多参考书说,默认情况下,时间片为15ms 左右,但是这是已经过时的知识。在老的 Windows 操作系统里,应用程序模式时时间片 15ms 左右&#xff0…

Node.js 新特性 SEA/单文件可执行应用尝鲜

#1 关于 SEA 单文件可执行应用(SEA,Singe Executable Applications),是 Node.js 新版本的特性,最初在 v19.7.0、v18.16.0 加入,并在 v20.x 得到扩展。而上个月发布的全家桶 Bun.js,就自带了 SEA…

3D WEB轻量化引擎HOOPS:促进CAD软件的创新与协作

CAD软件一直以来都在现代工程、建筑、制造和设计领域发挥着至关重要的作用。在数字时代,CAD软件的开发者不断追求提高软件性能、增加功能和改善用户体验,在这一努力中,HOOPS技术(高度优化的面向对象并行软件)滑块露头角…

上海-华为全联接大会|竹云受邀参加华为云ROMAConnect行业生态联盟成立联合发布会

2023年9月22日,在上海举办的华为全联接大会上,竹云作为华为云全方位合作伙伴代表,受邀参加华为云ROMAConnect行业生态联盟成立联合发布会。华为云PaaS服务产品部副部长张甲磊以及联盟主要成员企业出席发布仪式,共同见证华为云ROMA…

SpringBoot项目入门: IDEA 创建SpringBoot项目

方式1:在线创建项目 https://start.spring.io/ 环境准备 (1)JDK 环境必须是 1.8 及以上,传送门:jdk1.8.191 下载(2)后面要使用到 Maven 管理工具 3.2.5 及以上版本(3)开发工具建议…

Go If流程控制与快乐路径原则

Go if流程控制与快乐路径原则 文章目录 Go if流程控制与快乐路径原则一、流程控制基本介绍二、if 语句2.1 if 语句介绍2.2 单分支结构的 if 语句形式2.3 Go 的 if 语句的特点2.3.1 分支代码块左大括号与if同行2.3.2 条件表达式不需要括号 三、操作符3.1 逻辑操作符3.2 操作符的…

【CANN训练营】Ascend算子开发入门笔记

基础概念 什么是Ascend C Ascend C是CANN针对算子开发场景推出的编程语言,原生支持C和C标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率,助力AI开发者低成本完成算子…

Caffeine Cache

Caffeine Cache 高性能的 Java本地缓存库 底层使用 ConcurrentHashMap TinyLFU 一个近乎最佳的命中率 LRU:最近最少使用算法,每次访问数据都会将其放在我们的队尾,如果需要淘汰数据,就只需要淘汰队首即可。容易导致了热点数据…

Flink(林子雨慕课课程)

文章目录 12.Flink12.1 Flink简介12.2 为什么要选择Flink12.3 Flink应用场景12.4 Flink技术栈、体系架构和编程模型12.5 Flink的安装和编程实战 12.Flink 12.1 Flink简介 企业的处理架构已经由传统数据处理架构和大数据Lamda架构向流处理架构演变 Flink实现了Goole Dataflow…

AP5125 DC-DC降压恒流IC SOT23-6 过认证 9-100V 6A电源驱动线路图

1,产品描述 AP5125 是一款外围电路简单的 Buck 型平均电 流检测模式的 LED 恒流驱动器,适用于 8-100V 电压 范围的非隔离式大功率恒流 LED 驱动领域。芯片采用 固定频率 140kHz 的 PWM 工作模式, 利用平均电 流检测模式,因此具有优异的负载…

MySQL 3 环境搭建 MySQL 5.7版本的安装、配置

MySQL5.7.43官网下载地址 MySQL :: Download MySQL Community Server 这里选5.7.43,Windows版本,然后点击Go to Download Page,下载msi安装包的版本 MSI安装包版本比ZIP压缩包版本的安装过程要简单的多,过程更加清楚直观&#x…

十三、【画笔工具组】

文章目录 画笔工具铅笔工具颜色替换工具混合器画笔工具 画笔工具跟混合器画笔工具,是我们平时使用频率较高的两款工具: 画笔工具 可以把画笔工具看成我们用的毛笔,使用时可以在拾色器里边选择我们需要的画笔颜色,可以把拾色器当做我们画画时用的一个颜料盘&#xf…

数字IC/FPGA面试题目合集解析(一)

数字IC/FPGA面试题目合集解析(一) 题目概述题目1,计算题2,计算题3,选择题 答案与解析1,计算题2,计算题3,选择题 题目概述 1,计算题:计算该触发器等效的建立保…

怎样制作一个展会场馆预约小程序

随着互联网的发展,展会行业也逐渐向数字化转型。展会场馆预约小程序作为展会线下向线上的延伸,能够让参展商和观众随时随地进行预约,大大提升了客户的体验。那么,如何制作一个展会场馆预约小程序呢?下面就以乔拓云平台…

记录--纯CSS实现骚气红丝带

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在本文中,我们将探讨如何使用 CSS 以最少的代码创造出精美的 CSS 丝带形状,并最终实现下面这个效果: 下面我们使用html和css来实现这个效果。我们使用内容自适应方式布局&#…

Redis分布式锁最牛逼的实现(Java 版,最牛逼的实现方式)

写在前面的话 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。 本篇博客将介绍第二种方式,基于Redis实现分布式锁。 为什么需要分布式锁? 在单机环境下编写多线…

java中的泛型

一 为啥要有泛型 泛型这个概念是在Java1.5提出来的,之前是没有的,那为什么之前没有,现在要提出来这个概念呢?那你就得想啊: 1、要么是之前的技术太垃圾了,得升级换代下 2、要么是技术发展,搞出…

【数据结构】算法的空间复杂度

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 算法空间复杂度的定义 算法的时间复杂度和空间复杂度是度量算法好坏的两个重要量度,在实际写代码的过程中,我们完全可以用空间来换时间,比如说,我们要判断某某年是不是闰年,大…

github创建个人网页登录后404无法显示的问题

1.首先必须要有内容,默认是会找index.html文件,找不到该文件会找readme.md文件,也就是说最简单的方法是,创建了与用户名同名的repository后username.github.io后,添加一个readme.md文件,得在readme里打点字…