vimer linux kernel 爱好者

如何学好计算机科学与技术

2014-03-15

〇、序

本文写给计算机专业的大一新生。其主要是一个先飞了两年的菜鸟的所感所想,属于主观意愿。如果文中有不正确之处,欢迎大家批评指正。

首先介绍一下我本人的简况,以便大家在阅读此文的时候有个背景上的把握。

我在初中的最后一年,中国的计算机产业蓬勃发展。当时还没有计算机的我,对计算机的认识仅仅就是觉得它不但很有趣,而且还能做很多事。改变我以后人生方向的是中考前一个星期,我做了一个决定。我在跟父母报平安的电话里说:如果我升入高中,就给我买台电脑吧。父母没有多想,作为奖励,我在收到高中录取通知的次日,我收到了某种意义上的第一件礼物——一台崭新的个人家用台式计算机。

从此,我开始了折腾电脑的生活,以至于大学报考计算机专业。虽然并不像那些大神们一样,从多么小的年龄就开始编写自己的小程序,因为从小我并没有像他们那样的环境让我有提前接触计算机的权利。从另一个方面想想,如果过早的接触计算机,有可能让我觉得它就是一个件日常用品,反而让我对它提不起兴趣。正是由于这些看似注定,实则偶然的经历,让我产燃起了对计算机的兴趣,所以这一切虽在意料之外,却仍在情理之中。是计算机给我敞开了一扇大门,让我见识到我未曾探索过的世界。

现在想来,我一直生活在两个世界中:一个现实的世界,我在为了以后的工作而努力,单调、枯燥、乏味;另一个计算机世界,丰富有趣的知识,一切的废寝忘食都是因为有趣,在其中我可以乘风自由翱翔,流连而忘返。

好了,简单的介绍完自己的经历,我们就来进入本文的主题,怎么来学好计算机科学与技术。

一、你适合从事计算机行业吗?

既然本文是写给计算机专业新生的,但为什么要问这个问题呢。实际上计算机专业的学生有相当一部分人以前对计算机不怎么了解,充其量是拿计算机上上网,玩玩游戏。绝大部分人都是对计算机很不熟悉的,高手更是凤毛麟角。我想那些不知道计算机专业是做什么就填报的同学们是不是奉了父母之命。又或者是看到计算机是热门专业,所以想都不想就填报了。

在这里我并不是要批评什么,只是陈述一下近几年填报计算机专业的学生的情况。很显然大部分同学都是这样的情况,极少有同学是因为纯粹喜欢计算机而填报的。如果是因为对计算机有兴趣而报考的本专业,那么请联系我。虽说我与所谓的高手相去甚远,但是我有一颗想结识热爱计算机的朋友。如果你仅仅是想得到一份高薪水的工作,想着喝喝咖啡就等老板发薪水,那我奉劝有这样想法的同学还是另找一份更适合的工作吧。真的,这工作并不适合你。还有想仅仅只想学一门语言就能给公司写代码的还是去找个计算机语言培训机构吧,哪里面学到的东西绝对比大学里面学到的实用也好用。但是这样做你仅仅只能停留在一个低级编程员水平上,只会写代码,吃上几年青春饭,然后黯然退出这个朝气蓬勃的产业。

现在说可能有点早,但是比晚说一定对你们有用的多。半个学期后,一些专业课程也已经进行了大半了。肯定有一些人在专业课上听不懂了:什么是函数化思想,指针交换两个数又是干嘛的……诸如此类的事情其实是在警告你,你到底是不适合学习计算机。如果答案是肯定的,那就请通篇读完本文,本文会让你对今后怎么学习计算机有个宏观上的了解。如果答案是否定的,那还是结束本文的阅读,然后仔细想想,以后的出路在何方。难道你真的要白白浪费四年美好的青春时光,然后让四年后、十年后、四十年后的你悔恨现在的自己。

二、计算机专业不仅仅是编程

毫无疑问的是,个人计算机这个事物在中国是近几年才大规模出现的事物。但是相比其他产业,计算机发展可谓是神速了,从第一台计算机(ENIAC)于1946年2月在美国诞生到现在个人电脑的普及,只有短短的六十多年。相比之前大部分改变世界的产品从发明到普及平均需要一个世纪,计算机可以说是一个神奇而特殊的新事物。它使得信息的收集、处理、发布有了一个全新高效的方式,极大地促进了社会的发展。它用短短的六十年实现了过去几百年想都不敢想的事情。

虽然它发展的时间不长,但相比较之前以物质和能源为依托的工业革命,计算机的发展是以信息为依托的。物质和能源是有限的,它们一加一可能不会大于二。然而信息聚合在一起往往是以指数形式增长的。信息由量变升华为质变,使得计算机这个专业的体系变得无限宽广博大。可以确定的是,就算一个人从一出生就开始学习计算机的相关知识,一天二十四小时连轴转,在生命结束的时候也无法了解到所有的计算机知识。因为计算机知识每时每刻都在更新,并且与信息一样呈指数增长,只要计算机还在使用,这种增长就不会停止。我们在有生之年学到的计算机知识永远只是九牛一毛,所以一定要有一颗谦虚学习的心,不可妄自菲薄。

正是因为有了这么博大的一个知识体系,才能让计算机技术涉及到了生活中的方方面面,才能把世界连接成为一个地球村。

计算机体系大到了可以包容一切的地步。以至于可以让每个想从事计算机行业的人都可以在其中找到自己的一席之地。比如对计算机有兴趣,但是不喜欢坐在电脑旁编写代码的话,可以凭借学到的计算机知识去做跟客户密切接触的工作。如果有一定的艺术功底,也可以凭借计算机做视频,做音频,做网页……。只要能对计算机基础有扎实的了解,那么,这个行业就绝不会让你走投无路。

在2000年左右,IT行业在中国达到了一个顶峰,那时的中国IT从业者被称为金领。当时真的是在办公室敲敲键盘,喝喝咖啡,开开会议就可以领到薪水的。当时是中国的第一个IT泡沫吹的最大的时候,也是中国大学开始扩招的前夕。自然而然的计算机专业称为了当时各大高校最热门的专业。随后,到了2003年左右,这个IT泡沫一下子破灭了,正逢第一代扩招的计算机专业学生毕业。然而悲催的是,IT泡沫还没有破灭之前的IT人很多都是不需要多少技术的,而大学是按照培养当时的普通IT从业人员的标准来培养计算机专业的大学生的。一旦IT泡沫破灭,那些浮于IT表面,没有多少技术,可有可无的人被淘汰掉了。而大部分新毕业的大学生并没有达到IT泡沫破灭之后的IT行业对技术人才的要求,这一批人不得不另寻出路。第一次的IT泡沫破灭之后,洗去了很多浮于表面的假象,而留下来了许多的核心技术。让后来的人们看到了什么才是计算机专业学习的本质。

前几年的金融危机让本来就没有恢复元气的IT产业更是雪上加霜,不少没有核心竞争力的公司纷纷倒闭,同时挺下来的企业沉淀下来了不少的核心技术。可以说经历过了一次技术泡沫和资本危机,中国的IT行业以后发展下去就会开始变得越来越成熟。计算机专业开始退热,人才的培养也开始变得越来越理性化。我们正处于一个急需计算机人才的浪潮之上,只要掌握到了扎实的计算机知识和技术,就相当于坐上了时代的压路机,而不是成为历史的铺路石。

硬件是软件的上游。只有先有了硬件,软件才能有一个平台来运行。但是在世界上的实际情况是这样的,计算机重要核心部件被几个大公司垄断着,网络核心设施的重要技术又被其他几个大公司垄断着,少量但是规模巨大的公司垄断并引领着硬件发展。垄断就意味着技术的不透明,就意味着上升空间的顶层已经被堵死。与学习软件不同的是,在学习硬件和自身发展过程中,先进硬件的匮乏和资金的制约始终是两把钳制中国硬件技术人员成长的两大因素。并且学习硬件就意味着要还要同时掌握物理、电子相关知识。最后的最后,你可能还会发现,其实在自己设计硬件的时候还是需要熟练的使用编程技术……

在这里我并不是说学习硬件有多么不好,而是说明在中国学习硬件是一条很难走的道路,又因为软件学习容易所以又导致了软件行业竞争压力大。所以既然硬件是软件的上游,而且国家和相关企业也急需硬件方面的人才。一旦学好硬件,自然比学好软件的收入多的多。所以硬件和软件在学习和发展上各有利弊,鉴于硬件在国内的发展和我所报考的专业,我还是决定先在软件行业立住脚。

扯了这么远,在这里我只是想说明。学习计算机专业,到最后并不一定是编程。要是全国的所有的计算机专业的毕业生都去编程了,那我估计下一次计算机人才泡沫就要提前到来了。但是想在这个行业走的更远,核心仍然是编程。既然学习了计算机专业,就要对计算机专业有个总体的了解,对相关的知识一定要熟悉。因为以后不管是做什么,会熟练的运用计算机工作,那也是作为自己一项很有优势的资本。

三、做一个程序开发者

既然确定了要从软件入手学习,那么有个很重要的问题需要大家有个深刻的认识,那就是什么是软件行业的核心。

也许你想对了,其实软件的核心就是编程。不过既然你已经读到这了,相信你是希望可以在条路上走下去的,所以编程这个词对读到这里的同学们的感觉应该是神秘和有趣,而不是一提到它就头大(当接触几个月的编程之后你会头大的,不过不要怕,都会有这个阶段)。在这里我可以用汽车制作业与计算机专业进行一个对比。

虽然汽车专门的卖场和维修店在城市里遍地开花,大有盖过汽车制造商的趋势。但是从本质上分析,如果没有人类对出行的需求和汽车的发明和创造,怎么能有汽车卖场和维修店的遍地开花。正是有了汽车的生产,才催生了汽车卖场和汽车维修等汽车服务项目。真正的核心其实是汽车制造这项技术。与汽车行业相同,计算机行业也是如此。各种专门软件的应用及培训混淆了软件真正的核心——编程。要时刻记住,如果想在软件行业立住脚的话,只有编程才是最重要的核心,其他的软件应用只是辅助,(不是不可以学,学到的东西当然是多多益善,但是要把握好一个平衡,不要看到就学,还要理性分析学的值不值)一切软件应用的实现其实都是编程这一幕后英雄在默默无闻的贡献。

在这里我想吐槽一下那些以为学好PS、Flash、Premier、Dreamweaver就觉得是学好了计算机的想法是多么可笑。因为这些东西只是外围的软件应用,因为一个优秀的软件做出来了,就必须要有人来使用,这些使用者应该是想要通过这些软件来解决问题的。比如PS,一个专业美术系的人比计算机系的人不知道受到多少美术的熏陶,他们在整体美感上决对比计算机系的人强。他们培训上几个月的PS,就能秒杀一个四年都在使用PS的计算机系高手。因为PS的作用就是通过美术思维来处理图片,那么请问你的美术功底到底有多深呢?以后的从业道路上,计算机系的人会认识到一个职业叫美工,他们会使用很多的美工软件来做GUI。而我想说的是,这些美工有多少是出身计算机系的人呢?做美工没有美术功底的又有多少人呢?所以我奉劝一下大家,这些东西可以学,但是不要忘了这个专业的核心竞争力之一是编程。

好吧,我承认我的废话太多,有点绕远道了,没关系,我们再绕回来。

软件的核心是编码,但是编码的人员在区分上是很有差别的,程序员Programmer可以分为程序设计人员和程序编码员。在一个软件设计的顶层是少数几个程序设计人员在规划设计一个软件的各个部件,然后分配给下一级的程序编码员做,所以最低层的只需要负责用写代码实现就可以了(当然,设计人员也会参与编程,但主要是做最重要最核心的那部分)。其实写代码没有什么很深奥的技术的,难的是写代码的经验以及设计一个高效易用的软件。不管是设计人员还是编码人员,他们最初学到的都是编程,只不过学的深度和广度不同。一个程序员在学习中掌握的东西基本上可以决定在软件开发中的位置——是广大低层码农,还是顶层设计师。

在这里我有必要说一下金字塔模型。可能大家都听说过,就是在历史课上学习封建制度的时候看到的那个金字塔。上面是皇帝,中间是诸侯臣子,下面是平民。其实这个比喻在计算机行业更加适合。有时候,在特定场合,知识的鸿沟将这个等级制度分辨的清清楚楚。不知道软件设计的原理,就只能在低层做码农。

其实在这里对低层开发人员叫码农有点偏见,他们也是用自己的智力在工作,与顶层设计师并没有什么本质的区别。而我所看重的应该是对社会的贡献度,我总是想能在我的有生之年将我的工作做到最好,尽全力做出我的贡献,创造财富和价值。也许我又偏激了,还请无视吧。

刚刚介绍了金字塔模型,那就有必要在介绍一下橄榄模型了。不知道橄榄的话,也应该在电视或电影里面看过橄榄球吧。就是那种中间大,两头尖的球。金字塔模型是完全以从事想关工作的人数来划分,而橄榄模型是根据与底层硬件的距离来划分,这种模型是对金字塔模型的拓展。其主要内容是:中间大的是多数的应用编写人员,上面尖的是少数的理论研究人员和高层架构设计人员,下面尖的是少数的底层实现人员。处于两头尖的人掌握的知识和经验比中间的人要多的多,它们是理论和实践的巨人,是科研团队或开发部门的核心。他们的一举一动影响着整个计算机行业的发展,他们的创造已经不能用金钱来衡量了。

其实我更喜欢国外的说法,所有的程序员统称为Programmer。把根据自己意愿设计产品的叫做Developer,而把编码人员叫做Coder。有时候一些高手在一些高质量项目里也做Coder,这是对产品的重视。即使是一个Coder,也应该有一个Developer的想法。一个好的Programmer往往会是一个差一点的Programmer的一百多倍,这也是为什么在计算机行业可以看到这么多的Hero。

四、先修炼内功

其实本科教育能让我们达到的编程水平真的很低,至少我们达不到在培训机构培训几个月之后就能上手做项目的水平。当然,在这里我并不是说他们的水平高,只是他们是以实战为目的,而我们更倾向于学习理论和锻炼思维。所以要转变思维,上大学不是为了找工作。如果不静下心来学习并享受技术,而是在大一就开始为了四年后的工作问题而纠结。那么,这四年你只能学会一些无关痛痒的皮毛。要记住不要为了成功而学习,成功只是优秀的副产品。追求卓越,成功就会不期而至。其实,在大学四年里,认真学下去的话,我们能学到很多。比半路出家的Coder更了解计算机的整体结构。对理论知识掌握到一定境界之后,再学习一个新的技术就会快的多。

我们在大学里做的其实很简单,但是也很复杂。就是用四年去了解和掌握计算机基础知识。虽然基础看不见摸不着,不像学会一个语言就能立刻编程。但是它会成为一种习惯,深深的沁入你的脑海,不知不觉的影响着你的一举一动。

如果觉得我说的比较抽象,我还可以举一个大家都知道的例子。郭靖像洪七公学习降龙十八掌,郭靖在短短的几天时间里就学会了如此精妙上乘的武功,是因为七公的教导方法高超吗?不是的,洪七公在教郭靖武功的时候满脑子想的是黄蓉做的菜,哪有百分百的心思用在教一个傻小子武功上呢。是郭靖天资聪慧?我只能说在黄蓉面前,郭靖就像个傻子。其实他能学会如此高超的武功全都依靠着江南七怪和全真教的马钰在这个傻小子小的时候不厌其烦地教他基本功,又恰巧这个傻小子学的认真。以至于从量变到质变,他的身体对武功有了一个下意识的反应。所以才在学习降龙十八掌的时候没有费多大的力气。反过头来如果让杨康这个没有基础的纨绔子弟来学习降龙十八掌,不走火入魔才怪呢。

玩计算机的都是一群聪明人,我相信大家会懂我在例子中要说明的意思。想要习得高深的技术,就要有相应的基础做支撑,否则一切都是镜花水月,空中楼阁。

说了半天,到底计算机有哪些基础呢?

在我看来,首先要学习的基础是数学和英语,一个计算机系等于半个数学系和半个英语系。

计算机科学的起源是数学,数学是一切现代科学的基础和源头。先有了数学精确的理论,才有了计算机的协调配合。而且站在计算机行业这个大金字塔顶尖的是数学家,是他们发现并引领了新算法,于是带动了整个金字塔的运行。虽然我们不会也不怎么可能去做一个数学家,但是我们在解读一个算法或者解决一个问题的时候,往往是和数学相挂钩的。只有拥有了数学的思想,我们才能更好的学习更深的理论。所以在大学的时候还是认真补齐一下数学的相关思想吧。注意,是数学思想,不是买本考研题埋头闷做。

还有英语,这里我们可以思考一个问题,为什么我大天朝的计算机较印度等英语国家弱?其实很大一部分原因应该要归根于语言问题上,虽然我国普及英语这么多年了,但是让一个普通大学生流利的看一篇英语文章还是很有困难的吧。再看一下印度,印度因为有百多年的英国殖民史,以至于他的官方语言就是英语。在这里我不想吐槽印度英语连英国人都听不懂,但是他们在阅读上完全没有困难。所以他们在阅读先进的用英语书写的计算机文章的时候是很轻松的。计算机起源与英语世界,与英语思维有着千丝万缕的联系,可以毫不夸张的说,之所以我们现在看到的计算机是这个样子,完全是因为英语思维是这个样子的。除此之外,一些好的计算机书籍一般都是英文的,虽然中国也将这些书翻译过来,但是质量和时效性往往差强人意。试想,当我们还在努力消除语言带来的差异时,那些看懂英语的人已经在计算机的大路上全力向前奔驰了。这些差距短期内是没有办法弥补的。虽然我们有先天的劣势,但是我们要在后天尽力弥补这种劣势。如果想进一步学习计算机的,还是在学习计算机基础的时候恶补一下英语吧,这个是没有办法回避的。

以上是在大一期间就需要开始入门的,千万不要等到毕业之后再补,到时候就晚了。

在这里我有必要说一下关于语言选择的问题。对于大多数初学者来说,好多人有这种问题存在:我到底先学什么?学C,还是学C++?学C#?还是Java?哪一个更好呢?学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。在学会系统的编程理念之后,在根据不同工具的优缺点来选择使用哪一个!因为各个语言都不是完美的,都有自己的强项和弱项。没有万能的编程语言,只有适合当前项目的才是最好的。我建议应该多学几门应用方向不同的语言,以学习语言为出发点,充分了解计算机体系的知识。

在学习了两到三门语言之后,就要开始接触计算机的本质了。大一之后会开始学习数据结构和基础算法。这个是一种思想,就像射击本身一样,与编程语言无关。但是在学习的时候会通过某一种语言作为载体来学习。如果没有学习数据结构和算法就直接编程,那我是不敢想象这个程序的运行效率能有多低。以后还会接触到操作系统、数据库原理、编译原理、计算机网络,这些知识都是计算机系统的本质和核心知识,同时也让计算机专业的人和非计算机的人的思维逐渐区分开来。

以上这些东西都是教学规定的,是系统全面的让人学习计算机相关知识的教纲。大家不要排斥它,相反的应该是接触它,感受它,喜欢它,深入了解它。并且在规定的课程之外,有计划的学习一下其他东西,千万不要跟着教学进度亦步亦趋。

想要修炼基础这项内功简单但是也很困难,简单的是用大路边上的方法就能学,困难的是坚持下来很难。在这里我简单介绍一下如何做。

首先要做的是要多接触计算机知识,让自己能从其中找到一个兴趣,从这个兴趣出发然后拓展到其他的知识。我在大一的时候是跟着一个大三的学哥在做网站,慢慢的熟悉了网站之后发现自己对网络的知识了解的已经相当多了,虽然不像那种能拿证的网络工程师大神,但是我以这个兴趣为切入点,慢慢的看到了更大的世界。在这里需要向大家说明的是,就算四年连轴转,也只能窥探到冰山一角,所以千万不可固步自封,只见树木而不见深林。总会有比你技高一筹的大神,要虚心请教。不要看到大神就只有仰望的份,要敢于树立目标,挑战自己,就能翻越看似不可逾越的高山。

其次需要对所学到的知识有一个条理的理解,对所学到的知识要有自己的看法。万不可一股脑的接受,还奉为圭臬。因为老师并不是常年站在计算机的前沿,有些知识很多年前就已经被淘汰了,但是老师就讲这个。这个并不是不对,老的技术虽然被淘汰了,但是它的思想仍然可以锻炼我们的大脑,还能让我们在接触到更先进的技术之后体会到新技术带来的优势。只是在学习的时候要学会辨别哪些是淘汰的知识,哪些是在现在乃至于未来几年都是中流砥柱的知识。分析这些技术的本质,并从中领悟技术更新换代的规律。至于如何分辨,那还需要大家多多接触新知识,让自己的涉及面更广,深入度更高。

最后就是学习到理论知识后一定要想方设法的实践一下。比如学习设计语言的时候,一定要将代码实际输入到计算机中,然后看能否运行成功。虽然看似简单机械,但这是最能见基本功的地方。就算一个人想法和思路都很清晰,但是一旦真正编写代码却不知道如何下手,又或者写出来的代码Bug一大堆,再好的想法和思路也会被这些恼人的错误给折磨的烟消云散。如果只是一门心思的学教科书上的理论,那你还是去考研吧,也许单纯的学习理论知识才是你的生活方式。所以一定要记住,千万不可眼高手低。只有将理论和实践相结合,在实践中领悟为什么要像书本上写的那样做,为什么会出错,出错了如何解决,才能提高自己解决问题的能力,巩固所学到的知识,理顺自己的思路,体会成功的喜悦。

五、在迷茫中前进

每年大一都会在开学之后思想上都会集中爆发几个问题,就像每个阶段都会有遇到每个阶段的问题一样,这很正常,并且这些问题都是造成迷茫的原因,要正视它并解决它。

比如在入学后常见的思想问题就是总是觉得自己考的学校不好,离自己的想象中的大学相去甚远。对于这个问题其实我也遇到过、挣扎过,并且因为这个原因也颓废过,甚至大病了一场。但是我后来想明白了,现在考上的大学是自己之前应试能力的证明,现在上的学校差劲只能是自己在过去的时候没有很好的掌握应试能力,但是并不能代表自己比其他人差。人跟人的智商确实是有差距,但是相差十几分就能从生活中看出来吗?智商真正能达到150以上的全球能有几个,如果非要跟这些高智商的天才比,那无疑就是把自己脑袋对着墙撞。所谓学校的好坏只能说是在硬件设施和资源平台上,只要不是搞学术和从政,是哪个学校毕业的无关紧要,也没见哪个企业在招聘的时候打着旗说非名校生不要吧。之所以觉得现实的大学跟自己想象的不一样是因为之前没有接触过真正的大学,只是在别人那里得到只言片语,然后自己无意识地想象出一所大学,并且一直先入为主地深信那里的一切都是完美无瑕的。其实这个完美的大学只存在于自己的脑海里,在世界上不会找到这么一所大学。拿一座以自己的观念所虚构的完美大学与现实中的大学相比,当然会有落差。

首先,进入大学最重要的是先要摆正心态,要学会去原谅自己,不要盲目的比较。不要再抱怨学校,如果无法改变环境,何不尝试变换心情去了解它,适应它。

其实,解决这些问题最好的方法是把自己从琐事中脱离,开始培养自己的兴趣爱好,慢慢接触计算机知识,让自己进入知识的海洋。大学第一年就是用来适应大学并寻找大学意义的。放轻松的同时还要不断的绘出这个专业轮廓,并选一个大体方向。把注意力放在这些问题上,你会发现所谓的迷茫问题被轻而易举的解决了。

其次,不仅仅是局限于学习计算机,不论做什么,都需要一个开阔的眼界。如果只把目光放在本班本校,那么就把自己的水平和觉悟给无意识地降低了。作为一个计算机系的人,就需要把视野开阔到全世界。并且只有这样,才能不为一点小小的成功而沾沾自喜,也不会为了一点小小的失败而一蹶不振,才能把握最新的思想和动态,学习到最新的知识。没事的时候多访问一下计算机的相关网站,多接触一下他们的思想。寒暑假也可以去一个繁华点的城市打打工,见见世面,顺便学会以一个成年人的思维来想一些事情。

说到打工,我需要在这里说一下打工和学习的关系。如果想靠计算机技术来生活的话,还是不建议去打体力工的,因为用打工的时间多学会一个高级一点的思维方式,就能在毕业后让自己的起薪增加好几百。如果是依托计算机知识而跟人打交道的话,建议去做一些服务项目,在打工中感悟与人打交道的真理。总而言之,大学生打工不要为了赚钱而打工,也不要看到钱就做。重要的是能从这次打工中得到什么经验,尽量找一个能跟以后从事的职业相关的工作,这要的会让自己了解到这个行业的许多情况,能为以后的工作加分。只要能保证人身安全,打工不要在乎钱多少,经验才是最重要的。

再者,铁打的营盘流水的兵,这句话对学生也适用,大学四年能带走的无非就是知识和一份珍贵的友情。在大学里需要找到几个志趣相投的朋友,不需要多,能有两三个就可以,在四年里面,相互切磋,相互学习,相互进步。俗话说独学而无友,朋友间相互交流,能迸发出思想的火花,甚至这思想是改变世界的起点。与朋友相似的还要有一个能指明方向的师长,他不仅仅局限于老师,还可以是在经历上长自己,或者在思想上长与自己的人。他能在许多你走入困境的时候给你一个忠告,就是一个忠告就能让你重新焕发活力,克服之前无法克服的困难。所以,师长在左前,朋友在右,让你的旅途不再孤单。

入学后,你应该会震撼,原来身边有才华的人是这么多!但是,最出彩的那一批人在大二之后才会浮出水面。年轻的时候才华横溢是一个莫大的贬义词。不是要你做笨鸟——如果不笨的鸟先飞,那就是真正意义上的无敌了。如果没有脚踏实地,天赋是最误人的东西,最不值钱,因为有天赋的人最不相信游戏规则。不论你在大学里面做什么,有一条定理你永远无法躲避:现在你能忍受多大的孤独和寂寞,将来你才能取得多大的成就。如果你反驳说你知道某某每天花天酒地,但靠着关系进某某知名单位。那我只能说你还没有了解这个社会的生存法则。首先你只看到了某某花天酒地,你是否知道他背地里面忍受了多大的寂寞去学习。其次,关系也是一种资本,不论是父母的人脉还是他自己通过花天酒地积攒下来的人脉。还有,知名单位也是一个萝卜顶一个坑,没有相应能力绝对不会给你一个很好的位置(体制内的单位也是),有得必有所失。最后,人前只会夸己好,未听人前损己坏,本来很寒酸的一个人,一件事换种说法就能把别人给蒙住了。

最后,我想要说,请给自己一个梦想。不要因为自己进了一个觉得垃圾的学校就觉得自己什么都不是,不要被这个世界所推崇的价值观打倒,不要屈服于任何借口,不要让任何人否定你自己。我们都是有思想的人,是这个世界的未来的脊梁。如果不给自己一个梦想,怎么能熬得过这漫长的人生。

##六、一些琐碎的想法

学会使用网络。网络远远不止看视频,听音乐,玩游戏这些功能,在遇到不明白的问题后,要想着能在网络上寻找到正确的答案。同时掌握一种辨别信息真伪的方式,避免受到错误的信息或垃圾信息侵害。还要限制自己在网络上的时间,以防过度依赖虚拟的网络。记住,网络对于学习计算机的人来说只是一个工具,你什么时候见过一个制造汽车的一天24小时开车的。

时间是最宝贵的,最公平的就是每个人每天都有相同的24个小时。要合理的安排好自己的时间,应该意识到什么是必须做的,什么是急于做的。同时遇到一些事情要懂得取舍,有时候放弃是为了更大的收获。

一个真正乐于使用技术来使人们生活更美好的人并不屑于涉足于权利的斗争。因为基本欲望不同,自然心中的境界不同。如果以后成为了管理者,请充分发现并呵护些真正的Developer。他们以后才是能给你提供业绩的人。如果以后成为这种人,请好好享受。因为这群人是世界上最简单快乐的人之一。他们不会为了一些小事斤斤计较,也不会为了权力的斗争而处心积虑。他们最重要的,是自己心中那个完美的世界。

不要在琐碎的生活中迷失自己,也不要被生活磨灭掉自己当初的激情,忘掉自己当初为什么出发。

如果被很多事情烦心,不如休息一段时间,调整一下心态再重新开始。

开始学习的知识看似没有任何联系,但是再继续学习的话可以发现,它们是原来是紧密相连的。

当基本功练到一定程度,知识接触到一定范围就会发现,其实有很多的知识是在计算机外面。等达到这层境界的时候,希望你也可以把自己学到的经验传授给一级,让他们少走一些弯道,让一级更比一级强,让知识在年级间传承,成为一个良性循环,这也是为中国计算机事业做一份的贡献吧。

多阅读,多交流。有人说过,大学阶段买书花过的钱,就是你工作后的起薪。我相信这只是某个书虫的傲娇,不过多少有些道理。要提醒的是,不读书,不学习,就等于止步不前。

存在就有其当初存在和发展的原因,如果想否定一件事情的话,请先亲自体验一下再说。

永远也不要觉得现在才开始学东西会不会有点晚。种一棵树最好的时间是十年前,其次是现在。

##七、后记

朝为田舍郎,暮登天子堂。将相本无种,男儿当自强。 ——《琵琶记》高明

人生很短暂,但是对于自己来说却很漫长。以后的岁月里,无论从事什么,请给自己一个梦想,并守住这个梦想。即使被人嘲笑,被现实否定。不要因为自卑而不敢去设立并追求自己的梦想,每个人都有追求梦想的权利,所有的不可能只是为了逃避而找的借口。要相信当为一个梦想而执着努力时,这个世界就会倾尽全部的力量来帮助你。

我深信,我很渺小,与茫茫宇宙相比可以忽略不计。但是我的梦想很大,因为有梦才让我寻找到存在的意义。


下一篇 riscv patch

Comments

Content