潜意识的牢笼——为什么这件事情这么难

潜意识的牢笼——为什么这件事情这么难

  经常听到身边的朋友对我说,“你竟然是做算法的…”,”编程这么难,毕业以后再也不编程了…”,”你怎么会喜欢编程?“。听到这些话我总是很诧异,是什么原因让大家觉得编程这么难呢,什么样的事情才可以被人们称为一件难事?

       在以前,我所理解的难事是人的经验范围之外的事情,也就是一个人没有尝试过的事情。比如对于大部分人来说,学习一门编程语言很难,开一家饭馆很难,想当上一家跨国公司的总材更难,因为这些事情大部分人来说,他们都没有尝试过,所以他们没有任何这方面的经验,不知如何下手去做这些事情,这当然是一件难事了。我想,这也许是一些人认为编程很难的一个原因:自己的编程经验少,所以认为它很难,遇到难事不会做,所以不能收获经验,如此形成了一个恶性循环,即永远学不好编程。

  也许有人说,我的兴趣是玩游戏,玩游戏一点都不难,我不喜欢编程,所以才觉得编程很难。但是细想一下这个借口是不成立的,在你第一次玩dota的时候,这个游戏对于你来说其难度之大不可想象,你必须记住100多个英雄,几百个技能,几十件物品,甚至还有一些英雄的隐藏属性(想想看c++的关键字才几十个,却没几个人能全部熟练使用,难道c++比dota难吗)。dota这个游戏这么难为什么你越来越喜欢它呢,是因为你在战胜对手之后有了胜利的喜悦,随着你的喜悦,你会越来越爱玩这个游戏,然后你会收获大量的经验,技术得到提高,胜利也比以前更容易了,这是一个良性循环,游戏如此,编程亦如此。

  所以,要想做好一件事情,首先要让它变得简单,那么,怎样才能让一件事情变得简单呢?

  一个比较的方法就是从恶性循环跳到良性循环中去,上文的这两个循环可以概括为:

  良性循环:成功 –> 兴趣 –> 增长经验 –> 事情变得简单 –> 更容易成功

  恶性循环:失败 –> 厌恶 –> 没有经验 –> 这件事情好难 –> 更容易失败

  很多人在娱乐的时候会进入良性循环,如玩游戏,打牌,唱歌,摄影,在学习或工作的时候会进入恶性循环,如编程,上课,开会。不要小看这两个循环圈,它们之间的差距是如此之大,以至于你身处哪个圈子会直接决定了你后半生的命运!良性圈会让人产生正向的加速度,恶性圈会让人产生负向的加速度,套用一个互联网上比较励志的公式来说明:

1.01  ^ 365 = 37.78

0.99 ^ 365 = 0.02

  当你的编程工作处于良性圈子时,你每天进步0.01(正向加速度),一年以后你的技术水平就提升了37倍。当你处于恶性圈子时,即使你没有退步,一年以后你的技术水平还是1,三年以后,那些良性圈子里的人的编程水平就变成了你的53939倍,所以相比于那些月入六位数的人,你的月薪只有四位数就很正常了,因为他们的生产力是你的几万倍,而且这些人的进步速度有的还不止1.01。

  所以说,想要提升自己的水平就要把那些“你自以为的难事”变得不那么难,从而形成自己的兴趣,想把工作变成兴趣就要从恶性循环跳到良性循环中去。

  怎样从恶性循环跳到良性循环呢?

  告诉自己这件事远没有你想象的那么难

  恶性循环中有一个最薄弱的环节,从这里下手跳出这个循环是最容易的,那就是“这件事情好难”,人的潜意识会将没有做过的事情认作比较难的事情,然而事实真的如此吗?未知的事情对于我们来说,它的难度是未知的,也许很容易,也许很难,但是人们习惯于以潜意识来估计它,认为它肯定很难,这是一个坑!

  潜意识认为这个问题难,所以不敢尝试,这个问题还没入手,你就已经跳入恶性循环圈了。我自己身上也发生过类似的问题,以我自己为例来说明,上周公司要做识别台标的项目,需要提取图像的HOG,LBP特征等,以前我只用过Haar特征和一些边缘角点特征,完全没有使用LBP特征的经验,上级要求我对opencv的LBP特征进行改进,我心想以前从来没有玩过LBP,这个工作一定很难,保守估计也要一月时间才能完成吧(这种潜意识极大的降低了我的工作效率),然后各种查文献,认为这个算法很难,直到我看了OpenCV的源代码,才发现这不过是个200行代码的货,这个算法原来这么简单。结果出乎我的意料,从查资料到重新写完一个draw LBP feature的类只用了一个下午,它远没有我想象的那么难。

  对于未知的事物,它的难度是小马过河,河的深浅是个未知数,关键是要勇于尝试,只有尝试过之后你才能发现它只是一条小溪,否则你会永远停在河的一侧不敢下水。通过反复的尝试和试错,你的恶性循环圈很快就会就变成了这样:

  失败 –> 增长经验 –> 再次尝试–>事情变得简单–> 成功 –> 兴趣

  不要把尝试的机会留给下一次,现在就去尝试!

转载于:https://www.cnblogs.com/easymind223/p/3308267.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110019.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • memory.h_MemoryMappedFile

    memory.h_MemoryMappedFile(转载)C#使用MemoryStream类读写内存MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法。这两个类都是实现对内存进行数据读写的功能,而不是对持久性存储器进行读写。读写内存-MemoryStream类MemoryStream类用于向内存而不是磁盘读写数据。MemoryStr…

    2025年7月29日
    0
  • [springboot]springboot启动流程[通俗易懂]

    [springboot]springboot启动流程[通俗易懂]SpringBoot程序有一个入口,就是main方法。main里面调用SpringApplication.run()启动整个SpringBoot程序,该方法所在类需要使用@SpringBootApplication复合注解。其中需要关注的是:@SpringBootApplication注解其实是包含了三个注解:@EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对Spring框架进行自动配置。简单概括一下就是,是借助@Import的帮助,将所有符合自动配

    2022年8月20日
    3
  • Spring Cloud Security 整合 OAuth 2.0,从原理到实战一次说明白

    Spring Cloud Security 整合 OAuth 2.0,从原理到实战一次说明白若有收获,请记得分享和转发哦本篇文章介绍一下OAuth2.0相关的知识点,并且手把手带大家搭建一个认证授权中心、资源服务进行OAuth2.0四种授权模式的验证,案例源码详细,一梭子带大家了…

    2022年5月21日
    63
  • iptables中DNAT、SNAT和MASQUERADE[通俗易懂]

    iptables中DNAT、SNAT和MASQUERADE[通俗易懂]DNAT(DestinationNetworkAddressTranslation,目的地址转换)通常被叫做目的映射,SNAT(SourceNetworkAddressTranslation,源地址转换)通常被叫做源映射。这是我们在设置Linux网关或者防火墙时经常要用来的两种方式,要理解iptables中DNAT、SNAT和MASQUERADE,我们要先了解一…

    2022年6月23日
    36
  • 。net 页面跳转大全

    。net 页面跳转大全①response.redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失…

    2022年7月20日
    12
  • nodejs下载安装及配置环境

    nodejs下载安装及配置环境使用vue,安装nodejs是基础,我在这把我自己安装步骤教给大家1.下载下载地址:https://nodejs.org/en/download/2.安装:1.下载完之后,双击打开:2.点击next开始安装3.选择”接受按钮”,进行下一步4.选择安装路径5.安装你需要的模式6.开始安装install7.完成finish安装完之后打开终端window+Rc…

    2022年6月9日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号