(word)回顾我学习编程的经历.docVIP

  • 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能够使用操作系统

文档评论(0)

1亿VIP精品文档

相关文档