矛盾论

  • ***说过,矛盾是普遍的,也是特殊的。
  • 就个人而言,最大的,普遍的矛盾,莫过于预期与实践的巨大反差。预期是可以快速完成的,实践中却是困难重重顾此失彼。预期是完美无缺的,实践中却是缺胳膊少腿的。就拿近期数据结构的学习来说,计划是用一个星期学习完主要的数据结构,而实践下来半个月也没搞定。计划是每天全天都要用来学习,实践是遇到困难就去刷视频打游戏了。预期是思路清晰快速理解,实践是逻辑混乱调理不顺。
  • 既然矛盾是普遍的,那么在做预期的时候就应该保留余量用来调控。既然实践与预期的矛盾不可避免,就应该形成预期-实践-调整预期的循环过程。而不因预期与脱离预期的反差而偏离,放弃甚至背道而驰。
  • 每一项事务,每一层矛盾又是各自特殊的。这就是预期不能用来指导实践的根本原因。不同事务之所以不同,是起内部的矛盾关系和矛盾的发展存在着差异,而我们的预期则是建立在经验的基础上。用这种经验的预期去指导实践,具备一定的有效性,但同时也必然具备一定的错误性,所以在实践过程中,我们要时刻注意和观察具体实践活动中矛盾关系的变化和发展。进而对预期做出相应的调整来处理,缓和或者解决矛盾。如果一味的按照预期来进行实践,就是犯了经验主义错误。是必然要受挫,犯错,甚至无措的 。
  • 矛盾本身也不是独立的,一般会相互作用,会存在主要和次要的地位关系,而且之中关系也是会伴随事务的发展而变化的。就拿对数据结构的学习来说,数组,链表和队列的内部关系是简单的,容易理解的,所以我预期所有的数据结构都一样,所以在二叉树这里感觉到了学习压力,不得不花费更多的注意力才能完全理解。而到了B树的时候,就已经不能简单的去理解了,不得不自己尝试画图来辅助尝试理解过程。否则逻辑上不同,代码更是无从下手。正是这种预期与实践的巨大矛盾落差,导致了学习变成了逃避甚至放弃。
  • 夸父逐日,是要不断追逐的,否则就追不上。倘若追了一阵子就不追了,过了一阵子又去追,最终必然是要失败的。但同样的,亡羊补牢,时尤未晚。这本身也是处理矛盾的一种办法。晚是肯定晚了,但当下便是过去,而将来已经是现在了,在这种思路下,确实不算晚。既然在实践中,我发现了数据结构复杂的一面。那就立即调整自己的学习预期和心理预期。正视这种结构的复杂性矛盾,然后通过先梳理逻辑,然后实现代码的策略调整来解决无措的问题,通过对具体功能的不同情况的相同性与特殊性的归纳总结,来实现代码层面的复用与针对。从而达到通则不痛的实践过程。
  • 写代码,往往存在着边界定义不准确或者检查不到位甚至忘记边界检查的问题,从而导致本不应该出现的低级bug,那这种矛盾是在写代码的时候才产生的吗?不是的,是在准备写代码的时候就潜在存在的,由于自身的认识不到位,编码纪律不明确,或者过分专心于主要逻辑而导致逻辑偏心。而导致出现这种bug成为了必然的结果。而要解决这种矛盾,可以通过记笔记,然后立规矩的办法。急不急是记录实践过程中导致低级bug出现的原因,而立规矩则是在自我法理层面上进行意识约束。进而降低这种bug出现的几率,要避免是很难的,因为新的功能会有其自身的独有的矛盾存在,新出现的潜在bug是无法预测的,只能通过多看,多梳理逻辑,多写多练多总结在增强自己的判断力。达到螺旋上升的效果。进而从大层次上进一步降低低级bug的出现概率。
  • 另外一个大的矛盾,是想做又想玩的矛盾,理想的解决办法是把玩和做有机的结合起来,但这本身在当前层面是很难实现的。因为做与玩是分岔路,同一时间只能二选一。但是如果我们跳出当前层面,成为系统的设计者,则可以在做的流程上设置冲突与突破,设置及时反馈的要素,设置不断增长的要素,从而让做这件事情出现逾期伴随的趣味性与依赖性。或许这会降低做事情的效率,但是从长远来看,单纯的做一键枯燥的事情,无法长久坚持,也不能带来快乐。而经过系统的重新设计,则可以由多巴胺来形成可以长久坚持和连续进行的做事过程。从而在整体上提升效率和效果。学习也是如此。这正是我要解决的最大矛盾,解决学生在学习和枯燥,想学会与搞不懂之间的巨大矛盾。当然这个学生是与传道受业解惑想对应的那个学生。耳聪自我生存的可持续性的层面来讲,优先要解决的,当然是学校学生的这些矛盾。这是家长,学校和国家都愿意看到的。
  • 但这个矛盾在当下,对于我自己而言,自认是系统内部的,存在天然的局限性,在自我的世界里,我不是我存在的系统的设计者,我只能设计自己的系统。来想尽办法保准自身学习和工作的高效与连续。最起码是有效与连续。这种连续需要强烈的意愿,身体条件,精力条件和社会条件。
  • 强烈的意愿,这个是最大的矛盾点。学习枯燥的东西,和玩游戏睡觉比起来,实在是没有可比性。所以应该尽可能将大的知识拆分成小块。然后将小块进行分类,区分主要与次要,重要与不重要,在时间上做出针对性的安排。同时也加快在这一整体的学习效率。所谓快刀斩乱麻。从而在意识民变之前就解决掉它。对于实在复杂无法一下子快刀斩的情况。就要做出阶段性拆分,每个阶段之间要安排一定时间上的隔离,一是用来消化和巩固,而是降低自己的消极情绪。而每个阶段则要做到快到快刀斩。要从这种快刀斩的过程中体验到成就感与快乐感。进而对下一阶段产生期待,产生继续的意愿。而要让这种意愿变得强烈,则需要外部刺激,比如与人分享带来的肯定与赞美。阶段本身带来的现实收益,或者在自身能力升级后带来的做事流畅感等等。这里的难点其实已经从事件本身变成了阶段拆分与奖励点的安排了。举个之前头疼的例子,B树的学习,一上来自己写,写不出来,产生第一层失落,然后让AI写了标准答案,结果看起来费劲,产生第二层失落。然后又根据自己理解了的那一部分自己实现,结果系统设计的过于臃肿,程序繁多,进而迷失在实现的过程里,产生了第三层失落。三层失落就已经让这件事情很难在持续进行下去了。而如果应用前面的分阶段的办法来处理呢,首先划分阶段,第一阶段,梳理B树的规则和结构,画出功能流程图,然后优化流程图。第二阶段,实现B树的基础结构和方法声明,然后在方法实现里面先把流程图转化成过程注释。之后的阶段来一个一个的用代码实现过程注释。这样讲逻辑的形成和代码的实现拆分和连接。降低了单个阶段的难度。而奖励点呢?最好的奖励点,是有一起学习的伙伴来进行分享,但现实是没有,那换一种思路,在博客里面分享。每个阶段完成后,可以更新博客来分享成果和总结。对于我来说,这是很有成就感的事情。
  • 身体条件很简单,能吃能睡能动。三者都很重要,吃的方面,要注意质与量,避免过期,有毒的东西,避免多困少饿的情况出现。饭前喝水避免饭后口渴,饭后站立避免胃部反酸。睡眠方面,保准睡前清洁身体,远离屏幕与激动。用听小说来规避胡思乱想。运动方面,如果没有剧烈运动的时间与意愿,则至少要保证起床后进行拉伸与简单的力量训练。
  • 时间上的矛盾,计划赶不上变化而导致到逾期是无法避免的,而之中逾期如果打乱了生活节奏和生物钟,就是得不偿失的了。饭点吃饭,睡点睡觉,才能按时起床,按时开工。当在过程中发现异常并判断可能好逾期的时候,就要做出放弃或者整理记录的准备,前者是对本身不是很重要的事情,而后者则是为了形成断点,便于之后回来快速衔接继续推进。所以当前时段的想法,图画等腰建立目录进行保存,避免之后重复进行这些内容。因为这种重复是会严重打击自身兴趣和信心的。毕竟时间也是自我判断和衡量的一个潜在因素。必须明确的认识到这一点。
  • 精力条件,必须要认识到,人的精力也是有限度的,所以从两方面入手,一方面增大精力的蓄水池,另一方面合理的分配。前者从身体锻炼,增加蛋白质摄入与降低蛋白质的流出来实现。后者从合理规划时间,阶段和快速跳出逻辑陷阱与避免钻牛角尖来实现,逻辑陷阱和钻牛角尖是特别消耗精力和意志的,而且容易带来挫败感。即便成功了,那种成就感和所浪费的时间与精力一对比,得到的还是挫败感。
  • 社会条件,要维持好与家人,亲戚和朋友的关系。尽可能避免社会关系带来的对自身计划和安排的影响。如果出现无法预期的情况,做好断点是很重要的。
  • 就写这么多吧,我要把上述内容发到自己的博客上去。然后重新开始,快速解决数据结构这一任务。