【来信】
我不知道您是否能在百忙之中抽出空闲来为我解惑。我是一名大专一学生,计算机软件专业,我询问方向,是UI设计和Java,但是我对UI设计这方面不感兴趣,但也有在认真跟老师学。对编程C/C++、汇编比较感兴趣。因为学C,看C的视频和C Primer Plus,看了视频后看书比较轻松。自从在CSDN博客中看到您写VC++6.0调试器使用方法和对大学的学生解惑,我似乎找到一根救命稻草,我想在编程这上面下功夫,想走在大家前面,不愿浪费太多时间,虽然在学,但是却有很迷茫C/C++和汇编接下来该怎么学。
请贺老师提出宝贵的建议,也谢谢老师在百忙之中抽出时间为我解惑。
【回信】
来信收到。很高兴又结识一位既埋头拉车,又抬头看路的大学生。
你所说的,仅是自己喜欢的专业方向与正在安排学习的方向有差异而已。你听说过本来喜欢法律的,却学了计算机专业的吗?在现在的大学招生培养制度下,这样的现象存在,还好,你只是专业方向层面的差异。不过,不管怎样,我们总是可以针对各人的不同,找出各自的应对的。
实际上,在大学中的学习,一方面是按照培养方案的课内学习,另一方面是按照自己兴趣、规划的课外学习,这两方面都不能缺少。一名大学生,到毕业时没有特色,很多时候就是由于没有自主的课外学习所致。理想地,所选的专业、方向,恰与自己的兴趣一样,课内课外统一,如鱼得水。然而,两者之间若有偏差,却正也是塑造自己最鲜明特色的机会。关键是,清晰地向前走,将两者很好地结合起来。
你的处境,我觉得还挺不错,至少不坏。你的未来,会有想当长的时间从事技术工作,UI和Java方面的学习,会对你从事其他方面的编程有帮助的。谁说C程序员就不需要做界面美观的软件呢?这个方向的培养,在编程能力的要求上,似乎并不太高,但谁又会拒绝既编一手好程序,又在UI方面表现专业的人呢?你设计的路线是对的,将培养方案中的内容学好,课外自己再将编程的基础打实。这会开拓你自己更开阔的空间。大学只能学到进入行业的初步知识,未来的空间很大,千万不要让现在确定的培养方向限制住了。
接下来的话题,是提高编程能力的事。你期望的,显然要比培养方向的要求高。这就是你课外的自主安排了。你已经找到了途径,那就是充分利用网络资源,再加一点,。只要有行为,你要走在你的同学们前面,将很容易办到。但你期望“不要浪费太多时间”,我恐怕给你出不了什么主意。我信奉“过程”带来的扎实。在学习编程的过程中,可能一个下午左冲右突,结果发现就是因为多了一个分号。这样的的经历,你千万不要将其归到“浪费时间”中去。这个价值,有时比一下午一气呵成写了200行程序的价值要大。
所以,贺老师这里只有笨办法,喜欢编程,就将编程的实践进行下去。你所经历的学习过程,就是你将来竞争力的保证。你不仅是要在你周围的同学中成为佼佼者,而且目标是要在行业中有一席之地的。当你去除怕“浪费时间”的浮躁,随着积累,自然会找到下一步要前行的方向。
祝你充实地走出自己个性的路。
(你来信中标点不一致,英文缩写大小写不分的问题,我在发布博文时做了处理。这样的细节,你应该在以后注意起来。)
【学生再来信】
当我收到贺老师的回复时,十分激动,以为会石沉大海般收不到回信。我认认真真的看了几次您的回信,在你解读中大部分问题豁然开朗和重拾自信。先对贺老师说一声抱歉和感谢您的回信,我在前文中提到的“不愿浪费太多时间”让您理解错误了。其实是这样的,现在在学校中看到舍友和太多的同学上下课浑浑噩噩度过,不是打游戏就干其他事情。所以我感到十分害怕,害怕最终有一天会像同学这样,我也喜欢玩,也知道前人这样的下场,所以不愿浪费太多时间在游戏上。且个别老师在一两个小时的教课过程中,只讲了一个知识点,说得不好听就是一个语句,然后就扯别的一些无关学习的事情。一两个小时,如果是一两堂还好,已经一个学期了。可能贺老师会感到惊讶,但事实的确如此。也许在半年前一场手术后,我麻醉过后刚刚被推出手术室清醒,更加明白生命亲人兴趣等重要性,我也深知在学校时间在一生中不多,若全身心投入进学习,会发现时间一晃而过,老师,我知道自己可能记忆力没有其他同学强,所以更要笨鸟先飞,一大早起来抄写英语单词。哈哈,老师早已发现我粗心和浮躁的毛病,在结尾老师的建议我也看到了,明白老师的一点小小的建议对人生道路上的帮助很大。我会去改,所以我先用草稿改写完本文在敲入,但写的还不好。感觉前面还写了关于自己的心情,不好意思。贺老师,看透入门书籍和敲打后,感兴趣的c/c++、汇编怎么走,就是在进阶的书籍上有什么建议?
再次为前文中“不愿浪费太多时间”感到十分抱歉!
【迂者回复】
你说的学校的情景,我丝毫不惊讶。我处的学校,在二本院校中也算是一个不错的学校,但我不愿看到的现象有很多。我们有自己清楚的定位,不管作为老师还是学生,坚持走自己的路好了。周围环境不可能没有影响,但的确可以独特一些。
你的再次来信,我们多了些了解。在为不少IT学子解答疑问时,想急于求成的不少,因此,我也对你的“不愿浪费时间”有了更多的警觉。现在看来,你还是能够踏实地投入学习的。继续保持自己的与众不同,会让自己受益,也有可能会影响周围的人。
关于C和C++的学习,算是程序设计的入门阶段。这个时期的学习,重点是通过实践,真正地让知识内化为你自己的能力。我不知你在看书的同时,编程的实践如何?若实践不算多的话,可以到http://blog.csdn.net/sxhelijian/article/details/39152703,做我曾布置给我的学生的实践,做完这些,可以让自己有1万行代码的积累,进而可以找一些案例式的教程,学着去做一些项目。关于C++,我的课程中没有涉及到STL,以及实用类库的应用,还可以再拓展。学习汇编语言,我近日看过王爽老师的《汇编语言(第3版)》,这是一本很实用的入门书。
你喜欢C/C++、汇编,是否可以理解为将来你希望做计算机系统级别的工作?如果是这样的话,可以将计算机组成原理、单片机、嵌入式系统、操作系统之类的通俗的书籍看一些,加上一些实践,自然也便有了入门的机会。再往后,相关的经典书籍也可以去看。
对计算机系统方面的学习,我也并不精通。先照上面所说做起来,再走一段,你会有新的想法和感觉,届时我们也可以再商量。