- 5
- 0
- 约5.17千字
- 约 4页
- 2017-06-10 发布于北京
- 举报
(word)回顾我学习编程的经历
回顾我学习编程的经历
1997年家里有了电脑。最开始装的是DOS6.22+Windows3.2。记得最开始只会输入“win”进入Windows 3.2,但是进去后不知道怎么执行程序。后来自己找到个苯办法:右击鼠标弹出快捷菜单,然后点击打开。过了好久才知道鼠标有左键双击这个功能的。
玩了几天Windows 3.2之后觉得应用程序太少了,不好玩,然后找了本DOS命令的书来啃。成就是把我哥哥藏在某个目录下的游戏找出来了。还记得那游戏是大富翁3,好怀念。
后来很快升级到Windows95。开始时根本不适应新的界面形式,于是什么地方都点以下,Windows 95自带的帮助不知道看了多少遍,这才知道Windows 95怎么使用。后来才知道有《电脑报》杂志的,而且Windows 95方面的书开始多了起来,感觉自己摸索实在是太辛苦了。这不过那段经历对我的作用很大,基本上学会了通过看软件的界面就会使用该软件,顶多看一下帮助文档。
随后的日子就是看《电脑报》,玩玩《电脑报配套光盘》上的软件,把操作系统逐渐升级到了Windows 98SE。
到了1998年,发现自己对PC机的使用很熟悉了,觉得玩软件使用没多大意思。那时开始流行作网页,所以学习了HTML。HTML标记很简单,一下子就学会了。后来看了一下JavaScript,虽然网络上代码很多,但都只讲应用不讲原理,感觉自己根本没学到东西,于是决定学习通用编程语言。
刚学QB时,总是觉得自己无法理解数据类型。所以最开始的两个星期都在写进制转换程序,总共写了不下二十个版本,总算理解数据类型,特别真正理解了String的作用。
经别人推荐看了《数据结构》,顺便学习了Pascal和C语言,感觉其中的很多算法完全可以自己推导出来,而且纯算法也没什么好玩的。后来的那几年主要在学习DOS平台编程,学习DOS/BIOS中断调用。
由于发现DOS下没有支持GBK的文本查看软件,所以决定自己写一个。GBK编码理解了,GBK字库搞定了,可就是文本绘制速度太慢了。查了查资料,发现了直接写屏(写显存)这种方法。VGA 12h下的直接写屏非常复杂,我花了很长时间才弄懂,而且自己写的直接写屏代码速度还是很慢(主要是因为那时还不会汇编优化,且还不知道CPU访问显存很慢)。后来突然发现VESA SVGA标准,能提供高分辨率高色彩位,而且使用换页方式操作显存很方便。所以我有很长一段时间在玩SVGA,特别是发现SVGA允许改变屏幕图像数据在显存中的偏移,这样可实现双缓冲换页用来做高速的动画。从此感觉到界面是画出来的,当时计划写利用SVGA写一个能做出类似Windows那样图形界面操作的函数库。在写该程序的时候终于明白了《数据结构》的作用,由于当时没有学过(没听说过)计算机图形学和数字图像处理,一切都是自己摸索,花了好大功夫也无法做出来。
2001年春节,哥哥拷来《真·侍魂》这个格斗游戏,于是天天跟哥哥PK。后来在《电脑报》上找到一篇文章,介绍如何修改该游戏的存档。由于该游戏的存档保存在注册表中,是一个二进制字段,修改起来很不方便,所以萌发了自己写个游戏修改器。最开始是使用QB编写的,生成reg文件,再让注册表编辑器加载该reg文件。但该方案又一个重大的缺陷——注册表编辑器会弹出并询问是否加载该reg文件,看起来非常不专业。怎么办?只能使用Windows下的编程工具。我选择的是VB 6.0,将MSDN中的关于VB的内容看了一遍,没有找到我需要的函数。后来在书店翻书,才知道要访问注册表,需要调用advapi32.dll提供的注册表API。终于知道dll到底是什么意思,这才知道Win32 API就是操作系统提供的接口,类似DOS中断,我从此转向Windows编程。
在学习VB中,有两本书对我影响很大。其中一本是Bruce McKinney著,希望译的《Visual Basic 5.0核心技术》(《Hardcore Visual Basic version 5.0》)。此书是我真正认识到了什么是VB的灵魂,如何利用VB带来的新的语法特性,如Unicode编码的String、类模块等,是提高VB编程能力,提高代码质量,提高编程思维不可多得的好书。另一本是Steven Roman著,陈志远译的《Visual Basic Win32 API编程》(原名《Win32 API Programming with Visual Basic》)。该书写得非常不错,但就是讲得比较深入,连进程、线程、内存管理都讲了,所以当时看的不是很懂,但这本书还是使我系统地认识了Win32 API体系。就是这两本书使我脱离了只会拖拉控件的VB程序员行列,使我认识到:就算现在是图形界面时代,就算有RAD开发工具,编码仍然是重要的、不容马虎的;调用Win32 API能够使用操作系统
您可能关注的文档
- (word)合肥一中联谊校2010届高三上学期教学质量联合测评.doc
- (word)合肥学院旅游系毕业生离校纪念活动策划书.doc
- (word)合肥市2010年超级稻示范推广实施方案.doc
- (word)合成材料设备项目融资商业计划书(包括可行性研究报告+资金方案规划+2013年专项申请)及融资对接.docx
- (word)合肥诚致物业服务有限公司员工工资分配制度2011-10.doc
- (word)吉林学位英语五 作文10分.doc
- (word)吉林市科技发展计划项目.doc
- (word)吉林省考计划生育申论范文:“单独二胎”释放人口红利.doc
- (word)吉煤集团2014年科技大会上报材料.doc
- (word)吉林省节能减排工作方案.doc
最近下载
- 《GB_T 18802.331-2024低压电涌保护器元件 第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法》专题研究报告.pptx
- 2015-2021年全国体育单招数学真题汇编.pdf VIP
- 2025军队文职公共知识法律部分讲义.pdf VIP
- 大学生职业生涯规划与就业指导教学教案(共10课).docx VIP
- 《民法典之债权法》课件.ppt VIP
- 无线局域网技术与实践课程标准教学教案.docx
- 2002年上海市第十六届初中物理竞赛(大同中学杯)初赛试题.doc VIP
- 2023年四川信息职业技术学院单招职业技能考试题库及答案解析word版.docx VIP
- 大学生职业生涯规划与就业指导课标教案.docx VIP
- 2025年统招专升本云南省医学综合考试试题及答案.docx VIP
原创力文档

文档评论(0)