《面向对象程序设计》第一次作业
大一上学期总的来说是更多地是在认识大学,适应新的环境,更多地尝试各种对我来说很新鲜的东西。
学习是主要的,大学学习更多地依靠自主学习的能力,身边没有长辈的督促,自己要越来越懂得对自己的人生负责。大学的内容更加灵活、系统,学起来觉得更有意思,更踏实。学习之外,我逐步尝试学生工作,担任班委处理班级事务,积累处事经验,除此之外一些课余的兴趣活动也必不可少,足球新生赛、社团活动……主要以尝试地态度在找寻自己想要的东西。
大学前对计算机的了解很肤浅,报计算机系纯粹是想学一门技术,让以后的生活能更稳定。我不像很多高中的竞赛生已经有很深厚的水平、能力,只能一步步地摸索自己喜欢的方向、类型,于是后来我报名参加了工作室的为期一年的考核,并逐步开始了解编程,了解项目开发,尤其是面向对象的程序设计。一开始我并不知道自己的兴趣是在客户端软件设计还是Web设计,于是报名了两个方向的学习和考核。加上课内的c语言学习,相当于零基础起步学习三门计算机语言,说实话真的是一个不小的挑战(以后一定不建议自己的学弟学妹这么做),而且还耗费了不少的课内学习时间,不仅学习起来需要大量的时间、精力,找到合适的IDE和教材对我这么个新手也是不小的挑战。在这么艰难的锻炼中,平时课内学习没能足够用心,我的期末成绩也受到了不小的影响。
和大多数人一样,我也是从C语言开始入手学编程,一开始的代码之路真的是坎坎坷坷,由于性格略微骄躁,书没读细,经常出现这样那样在别人看来很可笑的Bug,一开始很简单的题目上机课都没什么作为,到后来代码积累量更多了以后,才能比较准确比较高效地打题。尤其让我兴奋的是考试前几天码出了最难的一道题目,不过上机考试时太过贪心,没有认真检查前面的Bug,后面的题目一直去尝试,最后首尾两失,只能怪自己太年轻了。
刚接触面向对象程序设计是从Web的动态脚本语言PHP开始的,从慕课、网易云课堂上学。这是一门弱类型的脚本语言,学习、实践起来都相对轻松一点儿(例如新变量可以不定义直接调用),这也是一门很不错的语言(这是网上的梗了,不用我多说),尤其让我印象深刻的是正则表达式的运用,在字符串处理等方面发挥了很强大的作用。然而在学到结合Mysql的编程时我不得不暂时停下学习的步伐,因为找到了另一个自己感觉更加有兴趣的方向。
iOS的程序设计更让我着迷。一开始听从学长的建议从Swift学起,我也是在慕课上学习入门,跟着视频里的讲解打代码。一开始弱类型语言给我的代入感让我对这种强类型语言很不适应,觉得相比起来复杂、繁琐得不少,而且Apple对它的更新速度快,很多网上说的语法在最新的语法规则已经被淘汰了,这让我烦了好几次,而且很多教程的讲解非常地粗略,很多我现在都没法理解(例如属性监视器的用途),特别是协议(Protocol)和委托(Delegate)的运用,连百度带问学长我苦想了3天才大概明白其中原理。当掌握语法规则想看书实践时发现Swift实在太新,书本教程基本没有,更多是视频教程,所以我陷入了瓶颈。回顾往届学长的经历,都是运用Objective-C,所以我犹豫良久下定决心转战OC,在高数复习的两周时间里抽空看完了大半本的OC入门(对不起高数老师的那句“XX,你要用点心啊!”,险些挂了),然后准备寒假开始迎接新一轮的挑战。
总结自己的这一学期,接触了太多东西,不打游戏不看视频,忙来忙去累死累活,最后成绩平庸、工作一般、自学尚浅(自己都看不下去了),只能对自己聊以安慰——至少收获了比别人更多一点的经验,自己还算年轻(希望还算年轻吧)。但是还是要告诉自己:不是时刻全力奔跑在路上就能比别人走得远,懂得抉择也很重要!好好休息,继续上路。所以我希望下学期同样能把握好课内数学物理、编程等的学习以及自学的时间规划和安排,能有更多收获和突破,希望3年后的自己走出大学、走入社会的时候能够更多地捏住自己的命运。