`
songsong
  • 浏览: 11633 次
  • 性别: 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 ...

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

    在踏入编程的殿堂之前,有一个广阔的知识领域值得我们深入探索——那就是计算机的发展史和分类。了解这些内容对于掌握编程语言如Python来说,如同航行者必须了解星辰的位置一样,是定位方向的重要步骤。在本篇文章中...

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

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

    有史以来最全的通讯电缆编程电缆自制大全.pdf

    更重要的是,掌握了这一技能,工程师在面对通讯问题时将能更加自信地处理,无论是对于个人的成长还是对于整个工程团队的协作能力都是一个重要的提升。通过学习和实践,技术人员能够更加深入地理解PLC编程电缆的工作...

    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