个人编程史

编程史

在高中,数理化很强,,英语和语文差得一坨
自认为数学很强,但是贪玩,平时数学题目做得很少,所以考试很少拿第一
高中时代游戏被我玩遍
英语最烂,全靠猜,高考150分只得了46分,还是抄别人的,抄到一个比我更烂的人,至今没过四级,如果想走向编程的高峰,英语是必学的,很多资料都是要查英文版,现在我己经开始把英语搞上去了
高中毕业了,参加了一个电脑培训班,花了200银子,值得,对于我走计算机这条路有重要作用
填志愿原本想报应用数学,但考得太差了,进了第二志愿,读了个生物专业,
上天安排我读生物,有什么办法,只有认命了

大一,高数学得不错,第一个学期,就有计算机的课程了,因为我原来上过培训班,所以班上小有名气,然后凭着兴志,把C语言和QBasic学了,潭浩强的两本书被我翻烂了,

大二,开了C语言的课程,自以为是(现在有点后悔),没上过几节课
然后赶时髦,学起VB,买了几本书看了下,拖了几个控件,就觉得自己了不起,
学到深处,又学不下去,又扔在一边,唉,太菜了没办法
后来吸取教训,准备系统学一次,把计算机专业课程的书,认真看了下
但是基本没看懂,难啊,有空我就把那几本书拿出来翻翻,直到现在数据结构我还在看
软件工程,更别提了

大三,又操起高中玩得星际,成为全校的星际明星,哈哈,自己组织了一次星际比赛,难以忘怀
又一次萌发学VC++的想法,初学了下,想跳楼
决定先学C++,买了本C++的书,学到class,就学不下去了,等于没学

大四,传奇时代到来了,联合了全校的星际精英,转行玩传奇,
玩了一年传奇,很失败,没脸见兄弟,自己一个号都没留,头也不回离开传奇

毕业了,生物没学,计算机又没学好,想哭,
回到家,开始自学ASP,根据以往的知识,准备转向C#,面向对象编程,即OOP
如果学过C++(当然不是指学到STL那种程度),学java C# VC++都容易些
如果无法理解OOP,只能学学VB 6.0
VB容易学些,开发效率高,不会用class还是没前途
如果想从事软件开发,一定会用OOP,否则就干嵌入式开发或硬件开发,不过这两个更难

毕业后去了趟深圳,体会到生活的艰辛,终于从依赖父母的思想里解脱出来
一定要靠自己的手养活自己,在深圳的每一天,我都坚持学C++,因为我知到将来一定能用到,离开深圳的前一天,还到深圳书城买了本asp书(《asp高级编程及项目开发》)
因为太穷了,所以不想单买本asp入门书籍,我相信自己能看懂

回到家中,和父母说了自己的想法,留在家中学习半年,父母才是最亲的人
我要用实际行动回报给他们
一个月内就把asp学了7788,自己编了一些作品,感觉到在数据库这方面有很大不足
然后又认真学习了sql server,其实学用sql server不是关健,关健的是学三个范式
我现在觉得在数据库这方面太缺乏经验了,规范化程度很难把握。这方面的经验是需要平时积累的
这样四个月过去了,我编的作品都是自己编上去的,没有一个是拿别人的改,从最简单的做起,大家学习千万别找捷径,拿别人的来改一下就说是自己的,那样根本学不到什么

我在编一个校友录的时候,发现一个很关健的问题,重复代码太多,总喜欢复制粘贴
因为在编写过程中总会发现不足,要重新修改,重复代码太多了,需要修改的地方太多了
所以我想到了面向对象编程(OOP),到网上查了很多资料对OOP有了个了解,开始着手优化代码,发现可以把原来编写的校友录的代码至少可以砍掉2/3,太夸张了
这意味着,原来的编程做了很多重复劳动,效率低,整个框架又不是很好

就这样,我有一个新想法,重新编一个web作品,使用OOP思想来编
从基本框架编起,划分好类模型,运用MVC模式,这个想法是从《设计模式》书中看到的
(《设计模式》和《重构》是软件工程两大巨著,不可不看,在《重构》你可以体验到编程的乐趣,建意会OOP的人去看看)
基实软件也有质量的,不单要实现功能,而且要可维护性、扩展性要好
如果软件编好后不需要修改,那你可以不需很深的思想

中级程序员和初级程序员的区别在于,他们的思考方式不同
初级程序员只会想到实现功能,却不知如何做更好,更快
编程上的思想都需要自己来体会的,如果你编出的代码给人一种优雅的感觉,那恭喜你上了一个档次了

在学习的过程,基本都是自学的,csdn论坛上的热心回答者就是我的老师
我也会虚心学习高手的经验,感谢笨笨、飞五的指点,高手只能给你指条路,可以让你不走弯路,具体的问题是要靠自己努力的

后到,我到杭州一家小公司做网站后台开发,里面只有我一个人会asp
在那里我通过自己的努力,用ASP+SQL server实现了一个B2B网站
我运用面向对象方法编写,提高很多,每天都在进步,公司里面没人做程序,
而我靠自己的摸索提高,我的自学能力很强,只要拿本书,然后在实践总结经验
不断提升自己的程序,

我不会像某些人,写类似功能的程序,写一百遍还是没变过,
我每次写完一段代码,我总是会去总结,让程序变得很优雅,更具有扩展性和重用性

到现在我用asp写的留言板功能,与当初开始学asp的留言板,己经大相径庭了,重复代码己经很少很少,代码数量己削减了2/3,变量命名己经全部采用Sun标准

我也不打算用一辈子的ASP,所以我开始了解.NET/Java,我最后选择了Java
重要的一点是Java好书太多了,C#的书我没看到有多少,
其中一本<Thinking in Java>,是最大的原因吧,这本书实在太经典了,里面所写的知识都是我迫切想知到的。建议所以运用OOP的朋友都去看看这本书,里面的编程思想可以运用到程序里的方方面面

也许还有很多人并不重视编程思想,他们常常认为程序里的一个小小的细节设计,不过就是运用一些手法让程序更优雅,给整个软件不会带来什么好处,反而投入了太多的时间
但他们却不知这一个一个细小的设计将影响一个软件的成败

Bruce Eckel这样写到:
优雅是要付出代价:从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间。但当它终于能够正确执行并可轻易套用于新的案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时,你会看得到先前所花功夫的回报(即时没有人可以衡量这一点)。这不仅给你一个可更容易开发和调试的程序,也更易于理解和维护。这正是他在金钱上的价值所在。这一点有赖某种人生经验才能够了解,因为当你努力让某段程序代码变得比较优雅时,你并不是处于一种具生产力的状态下,但是,请抗拒那些催促你赶工的人们,因为那么做只会减缓你的速度罢了。

我深有体会,对一个复杂的项目而言,优雅设计带来的好处是长远的
还有很多编程细节上的问题,都需要从工作中总结的
Java里内包含了很多编程思想,学习Java能让我更快的学到知识吧

环境可以改造人,有一个良好的学习环境是大家都想争取的,但是必竟不是每一个人都能有这样的条件,而我们应该学会在逆境中生存,路都是自己走出来的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值