
作者:鲁棒棒
写于:20240222
正文
今天又刷了租房的帖子,北京的房租降了貌似,不知道村子里啥情况,我目前的计划还是打算在家里再混一段时间,然后等我把简历搞得差不多了,先投一波,没反应得话就找点别得事做。今天的写作环节,我打算继续写我之前的经历吧,如果能写出一种连续剧的感觉那就好了。如果是连续剧,我希望杰克哈伦格尔或者摩根佛力曼来演我这个角色。
上一篇写到了我是在初三升高中的暑假学了一点 “C语言程序设计” 这本书,这也是我的启蒙,不过我认为自己还是走了一些弯路,首先我觉得谭浩强的书呢,说学术不够学术,说通俗不够通俗,不如直接用丹尼斯里奇的那本 “C程序设计语言”,这本书是比较详尽的 C 语言手册,可以比较详细的理解 C 语言,但是那个时候我有一些问题想不明白,而我上大学的姐姐竟然也解答不了,我认为有必要在帖子里简单提一下。
那就是,我学习了 C 语言之后,发现我只能编写一些 “杨辉三角”, “斐波那契数列”, “计算器” 之类的小程序,当然多亏了 “趣味 C 语言” 这本书,其实我的入门,都是靠照着书上的代码往上敲从而入门的,因为那个年纪我可能比较笨,没有办法理解一些逻辑,比如斐波那契里的递归,以及汉诺塔里的递归。说到具体的细节,我还需要补充的是,为什么我很久以来都没有比较好的理解递归呢,虽然在实际的工作中貌似并不是很重要的,但是我的求知精神让我必须弄明白这是为什么。
后来我花了一些时间去研究递归,发现我无法弄明白递归的原因是,我不会 “汇编语言”,或者说我不理解 “计算机组成原理”。递归给人一种 “通过拽自己的头发把自己提起来” 的那种感觉,有些奇怪,并且不可思议,很多教材说的都是不合适的,要理解递归必须通过 “汇编语言” 结合 “GOTO” 语句来理解,并且要懂一点 “计算机组成原理” 否则没办法理解,这算是一点经验吧。
回到正题吧还是。我通过很多书上的代码入门了 C 语言,给我造成了一个错觉,那就是我认为自己已经掌握,其实我并没有掌握,我只是懂得了一点 C 语言的语法,而根本不明白如何在实际的工作中使用它。
我曾经问我的姐姐, “为什么我没办法编写一个记事本或者网页,只能编写杨辉三角和二次方程”。我的姐姐因为不是学计算机的,所以她也没能回答我这个问题,所以我在这个问题上徘徊了很久,这也就是导师的重要性了。如果打算学习某种技艺,最好是有一个导师,但是假如没有导师,那么一定要看业界名师的 “完善” 的课程,里面会有一些细节,不过我的经历让我还是喜欢自己研究,这是我目前要克服的问题。
后来我才知道,原来 C 语言提供的只是编译环境,如果要在当年的我初中的 “WinXP” 环境中编写实用程序,必须结合 win32 的 SDK 或者 MFC 来进行编写,只有使用平台提供的 Runtime 才可以写个对话框,写个按钮啥的,当然我最早是喜欢游戏,不过我很久之后才弄清楚 OpenGL 以及 Diret3D 是什么关系,以及相关的 SDK 该怎么用。
当我终于弄明白问题之后,我找了一个 MFC 的程序, 是 C++ 的,当然和 C 语言差不多,我当时的理解是 C++ 应该和 C 语言差不多,其实我根本不明白,所以我看了 MFC 的程序之后,发现我根本看不懂,完全不明白,之后放弃。
然后在捡回来 C 语言已经是若干年之后的计算机二级考试了。
这些经验都来源于我在初三升高中的那个暑假,我记得那个暑假没有作业,我中考考的并不好,不过不耽误我玩电脑,那个年代大概是 2005 年还是 2006 年来着,上高中时没啥压力的,只是上不了好高中,同辈中优秀的同学都去了石家庄二中,石家庄一中,衡水二中,等等的有名的学校,我则在本地上了本地的一中。我平时不是用功的那种学生,所以考的不好,考到了 “慢班” 也是情理之中,不过我也是有些受挫的,之后我的家长和老师没有辅导我的心理建设,导致我高中放弃了,大概只读了一年就不去了,高考考了 400 分,正好上专科院校是够的。
今天没有过多的推进我的经历。多写了一些我早年的经验,我记得我在学习 C 语言的时候,一个比较明显的错误是使用了 WinXp 上的 Turbo C 环境,这是谭浩强的书上的推荐环境,这个东西害人不浅,差点害死我。因为是应该是 VC++ 6.0 才对的,导致我对业界产生了一些思维上的偏差。
其次就是,如果学习程序设计,我认为的最好的方案就是 “C语言” 与 “数据结构” 一起学,这样才均衡一点,当然对于小朋友来说,可能有些困难,因为数学的基础不够牢固,掌握的数学知识不够多,那么 “数据结构” 可能有些抽象,不过问题不大。我认为在兴趣面前,这些都是小问题。
还有一点题外话,真正的研发工作与 “刷题” 还是不太一样的,我认为研发是一种创作,而因为要面试而进行的刷题是 “应试” 环节,但是很多人认为 “编程” 就是 “解题”,其实也不能完全说这个不对,只是不够完整罢了。
今天就写这么多!