学习编程-先改变心态

news2024/11/20 13:24:58

编程失败的天才

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

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

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

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

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

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

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

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

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

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

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

1. 培养成长心态

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

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

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

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

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

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

让我们回到林一的故事。

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

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

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

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

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

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

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

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

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

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

事实证明我是对的。

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

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

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

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

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

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

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

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

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

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

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

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

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

将编程视为锻炼。

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

2. 将编程变成日常习惯

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

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

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

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

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

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

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

实施意图

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

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

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

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

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

诱惑捆绑

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

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

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

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

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

要点

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium八大定位策略实战,你会了么?

Selenium是一款非常强大的自动化测试工具,支持多种编程语言,如Java、Python等。在使用Selenium进行自动化测试时,定位元素是非常重要的一步,只有正确定位到元素才能进行后续的操作,如输入数据、点击按钮等。在Selenium…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Radio

单选框,提供相应的用户交互选择项。该组件从API Version 8开始支持。无子组件。 一、接口 Radio(options: {value: string, group: string}) 从API version 9开始,该接口支持在ArkTS卡片中使用。 参数: 二、属性 除支持通用属性外,还支持以…

springBoot组件注册

springBoot组件注册 前言1、创建组件文件2、写属性3、生成get和set方法4、以前注册的方法5、现在注册的方法6、在启动文件查看7、多实例Scope("prototype")8、注册第三方包导入对应的场景启动器注册组件查看是否存在也可以通过Import(FastsqlException.class)导入但是…

文字雨特效

效果展示 CSS 知识点 简易实现云朵技巧text-shadow 属性的灵活运用filter 属性实现元素自动变色 实现页面布局 <div class"container"><div class"cloud"><h2>Data Clouds Rain</h2></div> </div>实现云朵 实现云…

什么是API网关?——驱动数字化转型的“隐形冠军”

什么是API网关 API网关&#xff08;API Gateway&#xff09;是一个服务器&#xff0c;位于应用程序和后端服务之间&#xff0c;提供了一种集中式的方式来管理API的访问。它是系统的入口点&#xff0c;负责接收并处理来自客户端的请求&#xff0c;然后将请求路由到相应的后端服…

代码随想录第14天 | ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

300.最长递增子序列 /*** param {number[]} nums* return {number}*/ var lengthOfLIS function(nums) {let dp Array(nums.length).fill(1);let result 1;for(let i 1; i < nums.length; i) {for(let j 0; j < i; j) {if(nums[i] > nums[j]) {dp[i] Math.max…

最新开源ThinkPHP6框架云梦卡社区系统源码/亲测可用(全新开发)

源码简介&#xff1a; 最新开源ThinkPHP6云梦卡社区系统源码&#xff0c;它是一款基于ThinkPHP 6框架开发的开源社区系统源码。该系统源码具有强大而稳定的后端架构&#xff0c;和简洁易操作的前端界面&#xff0c;能够给人们提供完整的社区功能和更具体的服务。 全新云梦卡社…

fiddler如何抓模拟器中APP的包

第一步&#xff1a;fiddler配置 1、打开fiddler&#xff0c;依次点击工具&#xff08;tools&#xff09;》选项&#xff08;options&#xff09; 2、进入HTTPS选项&#xff0c;先选中DecryptHTTPStraffic&#xff0c;再选中ignore server certificate errors (unsafe) 3、点击…

【战略合作】新的游戏合作伙伴来袭,CARV 助力 Aavegotchi 发展!

想象这样的一个世界&#xff0c;你的游戏成就不仅仅是徽章&#xff0c;而是你链上声誉的一部分&#xff01;我们的最新游戏合作伙伴 CARV 便遵循这样的愿景。CARV 与 Aavegotchi 达成合作&#xff0c;旨在将下一代游戏玩家引入 Web3 世界。 CARV 正在构建一个以游戏为核心的身…

【云计算】相关解决方案介绍

文章目录 1.1 云服务环境 Eucalyptus1.1.1 介绍1.1.2 开源协议及语言1.1.3 官方网站 1.2 开源云计算平台 abiCloud1.2.1 开源协议及语言1.2.2 官方网站 1.3 分布式文件系统 Hadoop1.3.1 开源协议及语言1.3.2 官方网站 1.4 JBoss云计算项目集 StormGrind1.4.1 开源协议及语言1.4…

C# 图像灰化处理方法及速度对比

图像处理过程中&#xff0c;比较常见的灰化处理&#xff0c;将彩色图像处理为黑白图像&#xff0c;以便后续的其他处理工作。 在面对大量的图片或者像素尺寸比较大的图片的时候&#xff0c;处理速度和性能就显得非常重要&#xff0c;下面分别用3种方式来处理图像数据&#xff0…

紫光同创FPGA实现UDP协议栈网络视频传输,基于YT8511和RTL8211,提供4套PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案紫光同创FPGA精简版UDP方案紫光同创FPGA带ping功能UDP方案 3、设计思路框架OV7725摄像头配置及采集OV5640摄像头配置及采集UDP发送控制视频数据组包数据缓冲FIFOUDP协议栈详解RGMII转GMII动态ARPUDP协议IP地址、端口…

gradle版本是7.1.3加载arr包踩坑

第一次尝试&#xff1a; 将arr包放入到libs中&#xff0c; 在build.gradle中添加 implementation(name:**, ext:aar) Make project报错&#xff1a; Could not find :jdsmart-common-b3593f1-1.2.04:. Required by:project :launcherserver Search in build.gradle files根据…

工业网关都是什么?具体怎么应用?

随着工业自动化的不断发展&#xff0c;各种协议和标准在行业中变得越来越重要。其中&#xff0c;工业网关是实现不同设备之间通信和数据传输的关键设备。本文将以HiWoo Box为例&#xff0c;介绍工业网关的概念、应用场景以及具体的应用方式。 一、工业网关的概念 工业网关是一…

【使用教程】在Ubuntu下PMM60系列一体化伺服电机通过SDO跑循环同步位置模式详解

本教程将指导您在Ubuntu操作系统下使用SDO&#xff08;Service Data Object&#xff09;来配置和控制PMM60系列一体化伺服电机以实现循环同步位置模式。我们将介绍必要的步骤和命令&#xff0c;以确保您能够成功地配置和控制PMM系列一体化伺服电机。 01.准备工作 在正式介绍之…

3分钟彻底搞懂Web UI自动化测试之【POM设计模式】

为什么要用POM设计模式 前期&#xff0c;我们学会了使用PythonSelenium编写Web UI自动化测试线性脚本 线性脚本&#xff08;以快递100网站登录举例&#xff09;&#xff1a; import timefrom selenium import webdriver from selenium.webdriver.common.by import Bydriver …

低代码:避免重复造轮子的高效工具

一、前言 在软件开发和其他工程领域&#xff0c;“重复造轮子”被广泛认为是一种低效的做法&#xff0c;因为它浪费了大量的时间和资源去重新创作已经存在的东西&#xff0c;而不是利用现有的技术和经验去解决问题。 因此&#xff0c;为了避免“重复造轮子”&#xff0c;开发人…

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义&#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权…

【Unity ShaderGraph】| 给模型添加一个 边缘光效果 实战

前言 【Unity ShaderGraph】| 边缘光效果实战一、效果展示二、简易边缘光效果三、进阶边缘光效果四、应用实例 前言 本文将使用Unity ShaderGraph制作一个模型边缘光的效果&#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章&#xff1a;【U…

解决“413 Request Entity Too Large”错误 代表请求包太大,服务器拒绝响应

解决办法&#xff1a; 在nginx的配置文件nginx.conf中&#xff0c;添加这么一句client_max_body_size 1024m; 意思是最大请求是1024m。这个配置可以放到 http段 或者 server段 或者 location段。