我是一名大一学生,一所很普通的211大学,专业也是本校的新专业——软件工程。
当初高考失利来到了这里,说白了完全是冲这211这个称号而去的。我还记得当时有个说法叫“先选学校后选专业”。计算机对我有着极大的吸引力,初中时就拆装电脑(包括维修)n遍,高中时学了点JAVA和PHP,当然完全是自学,周围的同学很不理解,在他们眼里,程序设计是相当无聊的,不过这就是我的喜好。兴趣这种东西可能是天生的,因为我们无法控制自己对什么东西产生好奇心。
现在大一生涯马上要结束了,我觉得写点东西来和大家交流一下还是很有必要的。我很喜欢我的专业,大一上我们学的是C++,在接触C++之前,我对于JAVA是相当热爱的,时常会因为线程的问题折腾到半夜。对于从没有接触过指针的我而言,觉得JAVA是最强大的语言(我只是个菜鸟),但是接触C++后,自己有点迷茫了,如果说JAVA是小河,那么C++就是大江,那时的我根本无处下手,而且JAVA中变量的用法(类似于C++中的智能指针),为我学习指针到来了很大的困扰,当然JAVA中的面向对象的思想也为我带来了帮助。
别的不说,从语言特性来讲,JAVA是一门追求效率的语言,同时它很安全,因为它没有指针,但是它的效率知识针对软件工程而言的,就性能来说。。。算了,我不能既要马儿跑得快又要马儿不吃草的。但是对于C++,追求性能,因为它是非托管语言,其次它有指针,基本能完成内存管理(这里的基本是相对C而言的)。就个人感觉而言,C++更让程序员感到自由,但是它要求程序员谨慎,拥有强大的全局观念。使用JAVA就不用顾及那么多了,或者说它是一种“傻瓜式”的语言,同时也很犀利(当然这里咱们就不谈可移植性了。。。)。
言归正传,大一上貌似没学什么东西,那时一直在摸索,通过买什么书才能最快的入门,因为有点JAVA基础,我要摸索的也只是语法与语义。大一下(也就是这学期),做了很多事,主要还是学习C++,看了很多书,只能说质量参差不齐吧,并且内容有很多重叠,大概说说其中使我记忆是深刻的书吧,《算法导论》、《数据结构与算法分析》、《设计模式》、《STL源码分析》、《深度探索C++对象模型》,每天都要花4小时来看这些书,相当充实啊!在这里我想说下自己的一个看法,要想很好的运用掌握面向对象思想,最好在对象模型上多花点时间。
程序设计的学习其实还是有很多乐趣的,至少你不会觉得空虚,每天都很充实或者说是忙碌,甚至超过高三。就是这学期我决定了自己的定位,我要搞底层开发(不是嵌入式),为此,我自学了C,由C++转C相当快,一星期不到就行了。至于为什么选择底层开发,我只想说我很懒,底层开发技术的更新远没上层频繁,我研读完Intel的技术文档(吓,4000页)就能适用n年,这里的n我也不确定。
我很庆幸能有学长为我提供技术指导,并且让我参加他们的项目,开发系统内核。同是搞底层的,自然有种惺惺相惜的感觉。
我是个爱折腾的人,爱折腾怎能不爱Linux呢?第一次接触Linux实在高一时,自己装了个Ubuntu,很喜欢它的界面,但是发现貌似win下的软件都不能用在Linux上,没过多久也就放弃研究了,那时我给它的定义是:很不好用的系统!但是这学期我又重拾了Linux,我可以这么说,没有用过Linux的程序员是不完整的,用Linux让我真实的感觉到了开源精神。软件本来就是一个很神奇的事物,,并且没有盗版。就其本身而言,是没有物质依托的,是纯精神的产品,这是人类智慧的结晶,那么为什么不把它分享出来呢?你分享你的知识,你也能从别人那里收获,开源是完美的,安全的,自由的,当然你可能会说商业价值,我承认这的确是个问题,但是最好不要把任何事物都与钱联系在一起,容易变味。
曾有想过做系统工程师,考个RHCE,至少比程序员轻松,后来发现也有弊端,这样个体就丧失了灵活性,或者说与某个公司的耦合度大了。一旦自己的技能与某个公司绑定,那么你就会很被动,所以我喜欢开源产品,我喜欢C++,MySQL。。。我的知识具有高度的灵活性,选择的余地大,感觉自由。
思维发散了下,用Linux的确是件很折腾人,它的痛苦在折腾,快乐也在折腾。经常会有莫名其妙的问题冒出来,然后你不得不看log,一一排除。现在我就已经基本完全摆脱windows了,我的笔记本上装的是Fedora17,用虚拟机运行win7(只是为了用代理猎手罢了),同时我在寝室还购置了台服务器,装的是CentOS6.2,主要是用作MySQLd,httpd,以及samba服务器。没有折腾过Linux,根本就不知道它的好。我用Fedora17完全是出于它的“新”,有人说Fedora是redhat的实验品,这点不敢苟同,Fedora是社区维护的,并非由redhat掌控,其次它的更新很多,可以说它是最新的Linux,我喜欢“新”,不怕崩溃,我就喜欢折腾!也许在外人看来我有点crazy,但是我乐在其中。
上大学之前,总听人说大学老轻松了,但是为什么现实总是这么残酷?轻松?只为了及格当然相对轻松,但是为了优秀,忙+累。也不是说为了奖学金或者是分数,我只想用一句话回答,“优秀是一种习惯”。大学需要的是一种心境,静下心来学习知识。但是感觉貌似很少有人做到,或者说这个社会总体而言都是有点浮躁的。只希望自己能静下心来吧!
以上仅仅是个人观点,有不妥之处,还望斧正。