`
songsong
  • 浏览: 11583 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

个人编程史

阅读更多
编程史

在高中,数理化很强,,英语和语文差得一坨
自认为数学很强,但是贪玩,平时数学题目做得很少,所以考试很少拿第一
高中时代游戏被我玩遍
英语最烂,全靠猜,高考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能让我更快的学到知识吧

环境可以改造人,有一个良好的学习环境是大家都想争取的,但是必竟不是每一个人都能有这样的条件,而我们应该学会在逆境中生存,路都是自己走出来的
分享到:
评论

相关推荐

    Python发展史-一门编程语言的起源借鉴.pdf

    Python发展史-一门编程语言的起源借鉴 Guido van Rossum,Python 的作者,是一位荷兰人,拥有数学和计算机双料学位。他在阿姆斯特丹大学获得了硕士学位,然而,他更喜欢计算机带来的乐趣。在那个时候,Guido 接触并...

    Windows游戏编程大师技巧——翻译.pdf

    在计算机游戏的发展史上,Windows游戏编程大师技巧的演变是一个关键部分。60年代,随着第一台大型主机的出现,游戏的雏形开始形成。Core Wars是Unix系统上最早的游戏之一,它为后来的游戏开发奠定了基础。70年代,...

    编程语言发展史:汇编语言的出现和发展

    在70年代,随着微处理器和个人计算机的出现,汇编语言开始支持更多的高级特性,如面向对象编程,使其更加贴近高级语言,同时也更好地发挥了硬件性能。 汇编语言在多个领域中都有广泛应用。系统程序,如操作系统、...

    游戏之旅--我的编程感悟.pdf

    姚壮认为云风的书籍是中国游戏行业发展史的一个缩影,它不仅仅是一本技术手册,更是一本精神传承的书籍。乔岩则从非游戏开发者的角度出发,认为这本书不仅适合游戏开发者阅读,对于所有程序员和程序爱好者来说都是一...

    Python发展史-一门编程语言的起源.rar

    总结起来,Python的发展史是一部充满创新和进步的故事,从Guido van Rossum的个人愿景到如今全球广泛使用的编程语言,Python的影响力无处不在。其简洁的语法、强大的功能和丰富的生态系统,使其在教育、科研、商业等...

    Python发展史-一门编程语言的起源.pdf

    随着个人电脑的兴起,如早期的Macintosh,计算资源有限,对代码优化的需求更加迫切。 Guido在使用这些语言时感到困扰,他希望能有一种既能充分利用计算机功能,又能简化编程过程的语言。他发现shell(如Bourne ...

    程序员的工作经验分享大合集+个人经验+创业血泪史+工作几年的一些感悟+程序员如何高效学习

    个人独家收藏,小编愿意在这里和大家分享程序员的工作经验。 一位程序员工作10年总结的13...+程序员工作几年的一些感悟+程序员找工作的个人经验及注意事项+告诉你编程路上应该这么过+程序员如何高效学习?非常很重要!

    学编程之前了解 - 计算机的发展史和分类(csdn)————程序.pdf

    计算机的发展史和分类是理解编程基础的重要组成部分,尤其在学习Python等编程语言之前,了解这些基础知识将对后续的学习提供极大的帮助。计算机的发展史可以追溯到20世纪40年代,当时的计算机体积庞大,运算速度相对...

    java编程文档

    Java编程语言是由Sun Microsystems公司在1995年推出的面向对象程序设计语言,它的推出是编程语言发展史上的一个里程碑。Java不仅是一个编程语言,它还是一个包含了Java程序设计语言和Java平台(JavaSE, JavaEE, Java...

    TC 编程系统 !!

    因此,虽然TC编程系统在当今可能不再是首选的开发环境,但它在计算机编程教育史上占据了重要的一席之地,对于理解C语言的基本概念和编程思想仍然具有参考价值。 在学习TC的过程中,应重点关注以下几个知识点: 1. ...

    2003-12-31财务报表.xlsx源码EXCEL VBA宏编程xlsx实例代码下载

    2003-12-31财务报表.xlsx源码EXCEL VBA宏编程xlsx实例代码下载2003-12-31财务报表.xlsx源码EXCEL VBA宏编程xlsx实例代码下载2003-12-31财务报表.xlsx源码EXCEL VBA宏编程xlsx实例代码下载2003-12-31财务报表.xlsx...

Global site tag (gtag.js) - Google Analytics