锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

一个菜鸟过渡到新手一年的编程总结

时间:2024-05-18 00:07:10

一直没有想过会在编程的路上打滚,但是,自从大一开始,懵懂的我就在这条泥泞的路上,倒了再倒,伤了又伤!

今天,我的努力似乎得到了一定的回报,我参加的2010年软考,程序员考试,上午题53,下午题66,我过了程序员考试,辛苦2个多月,有了一点安慰,但是,回想起考试的情形,我却黯然泪下了,试题的难度实在是不敢恭维,平凡的考试难度,照顾式的考试,很多网友在网上说,如果你想当公务员,就考这个软考,我现在终于有了很深的体会,正如一个网友说的,程序员就是花钱买证书!,考完那天我深以为然,出考场的那一刻,试题做得不错,过肯定是没有问题的,上午要背的东西虽然不怎么记得,但是45以上是没有问题,胜利的喜悦中,我不免想到:“这样的考试,含金量高吗?”是的,考场很多人考完:“等着拿证书吧!”欢天喜地的笑声,我笑他们没有看到本质,这样的考试,拿了证书,能证明什么了?

知道过了的成绩后,因此我表现很平静,想的却是以后IT路上的每一步应该怎么走!

回顾我的1年编程路,我从大学的第一堂C语言课,到现在自学的C++,值得总结的东西,非常多,首先对于初学者而言,入门关键,但是入门要有目标,不要学完C语言语法后,就不知道该学什么了,现在很多大学生都这样,老师讲的课学了,学完就算了,重来不去深究为什么,怎么学。我认为,编程路上应该有这样的分类:

初学者(刚接触编程),菜鸟(知道编程),

新手(会编程),进阶手(理解编程),高手(自己编程)

这是参考《编程高手箴言》一书我自己给自己定的发展目标,当然,我自己的定位,是高手,现今只是菜鸟过度新手的阶段。

对于初学者:

我们应该理解程序,切忌一开始学编程就想编程如此难,怎么才能学好呀,凡事有言,万事开头难,只要你熬过最难的时刻,你就是一个胜利者,之前的博文也提到过,其实编程,一开始,很多人会学习C语言,C语言其实学习有两个目的:

1、 帮助你了解高级语言的基本语法

2、 了解,接触什么事算法

学习C语言的重点主要是培养自己的高级语言语感和基本的编程能力,了解算法,是本人学习1年的编程后感觉,算法才真的是程序的核心,之后我会举自己的一个真实例子说明白,

至于什么书什么的,前参考前面的博文,这里就不再多说了。

对于菜鸟:

菜鸟一般是把C语言语法学好了的人会进阶到菜鸟这个类型,他们应该有什么特点呢?

他们能够熟悉运用C语言的各种语法,写成很多有用的程序如:学生管理系统,贪吃蛇,万年历,停车场管理系统,等等,这时候,我们应该注意,不要以为自己很厉害,其实,我们只是把皮毛学好了,真正的东西还在后面呢,这是他们一定有这样的心态,这么才能做出一个窗口来,DOS环境下的编程,黑底白字的,多没有意思,于是他们会纷纷上网寻找资料,怎么能将自己做的系统可视化,怎么才能做出一个像样的软件,于是,纷纷跑去学习MFC,快速的框架开发,满足了自己的虚荣心,觉得自己很了不起,这是一个非常错误的想法,这也证明了我们社会的浮躁风气,IT界的急功近利心态,很多人梦想成为高手,21天学通C语言,一个月掌握MFC,这就是浮躁,这就是急功近利,不要被可视化欺骗了,这只不过时高手做好的框架给高手快速开发用的,你会用,所以你只能是一个纯正的代码工人!

这一阶段,我们更应好好学习基本只是,算法,汇编语言,数据结构,编译原理,操作系统,计算机原理,为我们锻炼好身后的内功,这就是韬光养晦,这就是厚积薄发,你现在可以用MFC做出一个窗口,而我只能玩DOS下的东西,这不能说明什么,因为你在磨剑,三四年后你写一个像样的系统时候,你完全明白系统是如何实现的,原理方法你一清二楚,而他,还是再用MFC把软件堆出来,只不过堆得越来越熟悉罢了。

对于新手:

我的定义是会编程,什么叫会编程,就是要知道学习什么对自己的以后的编程之路走下去是有帮助的,上一个阶段只是把最基础的学完了,你应该要开始考虑你的发展之路了,这,你会看到更加琳琅满目的东西:C#,Java,A,JSP,C++,Javascript等等,这么多,各种语言方向又不一样,怎么学,不要太快定了自己的发展方向,因为,其实,你根本还不知道你喜欢什么,所以,你最好是挑一门语言,深入研究,我选择了C++,编程语言其实是不断发展,他们是相辅相成的,懂了一门语言,其他也是通了,为什么,因为他们都是参照之前的语言的不足进行改进以达到一种更好利用,更方便的目的,所以语言一定是一通百通的,不能存在语言宗教信仰,因为有一句经典的话:“存在就是有理由的”,不要说Java比C++好,根本没有可比性,他们的优势不一样,你怎么比较,所以,没有最好,最坏的语言,只要最适合你的语言,选择一门语言好好研究,深入理解,当然,这里我们需要学习程序员的一个必备工具,数据库,这就是会编程。

进阶手和高手我没有经验,我也不好说,不过,肯定是耐性研究一种东西,厚积薄发,韬光养晦的,他们深知万事不能一蹴而就,应该是一步一个脚印,不过根据一些高手的意见,我也写出来和网友们分享一下,进阶手应该需要了解一个系统的应用程序(),理解这个系统的原理,高手嘛,我真不知道怎么说了,据说是研究优化系统的内核,开发出框架和函数库供一些特殊开始使用,著名的L,MFC这些,应该是高手们的杰作

承接上一个留下的关子,我就放出一个我的最近一个故事,最近我们学院要做一个软件开发比赛,要求参加的学生开发出一些可视化的程序参加比赛,我在班长的邀请下,受任了,很直接的感觉——困难。但是我怎么也得做出作品来,所以,我去图书馆借一下windows编程的书,结果无语。。。。。都是MFC。好不容易找到了一本《windows程序设计》,好好研究里面的API函数,终于生成一个窗口,只是我才明白,原来MFC一点就出来的窗口,生成的底层API函数居然如此复杂,我更加坚定了先学MFC,先要学好基础的决心,界面做好了之后,我开始思索贪吃蛇的算法:

1、 蛇行走算法

2、 食物生成算法

3、 蛇转弯算法

我建立一个链表,里面有一个头指针,尾指针,蛇行走算法,我很容易解决了,就是头指针的结构体往前面画一个矩形,尾指针后面擦一个矩形,由小矩形组成的蛇就动了起来了,食物生成的算法也不难,用一个随机函数生成两个数,定位食物矩形的坐标,但是这里需要小心,不能让食物生成在游戏区域外,不能生成在蛇身上,加一些条件限制,问题就可以解决,一直没有解决的是蛇转弯的算法,由于我的错误编码,我将蛇的转向分成了多种情况写成多个算法:蛇右走,转向上或下,蛇左走,转向下或上。。。。。。

最后,由于错误的算法,导致我不得不放弃已经写了1个多星期的成果,采用了一个网友提供的思路,一个棋盘算法,完成了这次程序设计,这次程序设计历时3个星期,让我总结了一下经验:

1、 算法是程序的核心,真的很核心

2、 做一个程序,应该要先设计好算法,算法验证成功,你完全明白算法原理才去动手做

3、 应该先学好一门语言才研究API,再深入系统,因为API移植性差,一般只用于了解系统运行机理

4、 勤奋一定有回报,尽管不是最好的回报

5、 一定要肯下功夫去专研

一个菜鸟过渡到新手一年的编程总结就到这里了,希望大家给点意见,也可以参考我的意见,谢谢大家支持,如有疑问或意见建议,均可留言,我一定会回复,谢谢!


-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章