人活在这个世上,有太多事情无法预料了。你永远不知道下一秒会发生什么,大千世界,任何事情都有可能发生。然而正是因为任何事情都有可能发生,才不知道究竟会发生什么。最近的C++编程作业难度也渐渐增加,从最开始只需要写十几行代码的作业,到现在需要些一百多行,debug各种各样奇葩的error,从最开始的一头雾水,到之后的明晰,编程给我的感觉也挺奇妙的,可以说是又爱又恨。在编程的过程中,我觉得最难的阶段是最开始的理结构阶段,在这个阶段我需要仔细阅读教授布置的作业题目,阅读完之后结合之前学习的所有内容来写程序。我需要去思考我需不需要用class,我是该用vector还是array;是该用getline,string,还是应该用cin和vector;是该用while loop还是for loop。在思考完这些之后我就可以开始想解题方案了,有的时候思路很清晰一会儿就能够解出来,有的时候脑袋里面很乱的话写好久都写不出来,不过关键的问题还是在于对C++基础了解有多少。只要对基础有了比较深刻的理解,熟悉了基本的功能的用法之后,作业做起来才能比较顺利,也有较大的把握。
C++我入门相对来说比较容易,因为在美国的时候和Gray老师上过一学期一对一的Swift课程。Swift和C++有很多相似的地方,再加上之前有一定编程的基础,C++学起来难度也没有那么大,不过写code的时候确实比Python麻烦多了,很多时候也会想如果能用Python来写就好了。这一个多月来还是学到了很多,从最开始的C++小白到现在能够独立编出一个计算银行记录的小程序。编的程序越难,最后获得的成就感也就越大。今天编写的程序本来以为要花一个下午或者一晚上,因为听一个同学说没几个人做出来了,然而没想到一两个小时就做出来了。在这一两个小时内我的精神很集中,思路也很清晰,一次性写完一个程序之后,error也只有两三个。在把error改了之后,程序就正常运行了。写完之后我就开心地把这个作业交了,然后去玩了一会儿游戏。不过在游戏玩了之后,我给一个同学看了一下我的代码,然后她给我说std::map是不能用的。我当时就懵逼了,因为我的程序很大部分就是建立在std::map的基础上,不能用的话岂不是得全改。
我马上又去看了一下作业,发现确实不能用std::map,这就是不仔细审题的后果啊。本来还想不改了,觉得交上去也不会扣很多分,之后还是重新打开我写的code,开始想怎么改。本来我已经绝望了,觉得肯定要全部重写。在分析了一番之后,我发现可以巧妙地把std::map改成两个vectors,也能达到一样的效果。然后我就把std::map的部分都改成了vectors,也没有花多少时间。所以说啊,很多事情在做之前你永远也不知道自己会做得怎么样。可能你觉得自己做不到,或者要花很长时间去做;但是实际上你却能够做到,并且是在短时间内高效完成。遇到困难的时候应该去面对,在看清了问题到底是什么之后再考虑自己做不做得到。很多时候我们根本就不愿意去仔细看问题到底是什么,遇到困难了就不断退缩,直到不得不面对的时候才被迫地去面对,而在被迫面对问题的情况下,我们回去看这个问题,但是可能无法完全看清这个问题,到最后导致不得不重新再来审视这个问题。
Pg. 53 《论语|辜鸿铭》子入大庙,每事问。或曰:"孰谓鄹人之子知礼乎?入大庙,每事问。"子闻之曰:"是礼也。"
Pg. 66《好好学习》"训练反思能力的三个方法"
每日记录
起床时间:早上8点
自主学习总时间:5小时
游戏总时间:1小时
每日计划完成度:全部完成