标题:
程序与软件
[打印本页]
作者:
liuyang
时间:
2012-3-28 01:36
标题:
程序与软件
程序与软件是两会事。软件依靠程序代码实现其业务。编程技术的基本东西不会变的,与语言无关。算法,类型结构是程序的灵与肉。算法立足于数学逻辑,类型结 构与平台相关,但必须要有。其它的诸如面向对向技术中的封装,继承,多态都只是一个时代的产物是软件开发中专有的,不属于程序的属性,就像COM等技术, 最终也会过时。
编程中基本的逻辑结构很简单,顺序,循环,分支。也是人基本的思考方式。
程序运行的实质都是存储在内存中的数据变化,因此对它们需要的是精准控制,所以指针很重要,可惜的是现在很多语言避讳它,只有深入了解指针才能对程序的生死把握住。
类型结构,如果学过单片机的,理解起来就容易多了,实际就是将一堆0,1填入到指定内存中,读数据时位寄存器中存储指向该结构起点,然后CPU跑该数据大小次数,每次寄存器中的值加1,这样数据段就入栈了可以做其它的。
基于win32平台的基本数据类型有整型(4字节x8位)32位CPU的标准类型,字节型(1字节x8位),字符型(2字节x8位),长整型(8字节x8位),其它的都是这几个,仅叫法不同等,所以学程序,学的是数学逻辑类型节构
关于软件开发
学习软件开发其实是要立足于平台的,当然不得不提下Java,它所谓的跨平台是生活在虚拟机的阴影下的,也就是说把传统上根据平台的外理由虚拟机代劳了, 虚拟机的开发者也就是传统上的程序员,说穿了Java开发者是站在前人肩上的空中楼阁,当操作系统被一家完全垄断时它就没价值了,只能回归它的初衷上去。
Win32平台下,需要理解的有消息流,句柄。Windows是消息驱动模式,操作系统有一个消息队列,每个进程也有。每一个消息都有至少一个作用对象与 引发源。一般来说引发源不太关心;作用对象才是重点,它们用句柄表示,在整个系统运行中它们是唯一的。这是对软件平台,程序中关心的就是消息内容与作用对 象,消息产生时作用的对象执行相关的功能。
在一个项目面前,要分解,这是一种处理问题的能力,与知识无关,就好比我要看电视,我知道的就是按开关,至于别的我不清楚,软件的使用者也是,当他按下开 关,我们的程序就收到一条消息button,作用对象就是我的电源线(句柄),产生结果就是线路通电,如何通的电就是触发的功能。所以软件开发对用户是需 求的分解,哪些是用户去引发的(引发源),哪些是引发的直接后果(消息),哪些是被迫参与的对象(句柄),哪些是我们要处理的事情(业务,即程序段)。
然后是根据平台作消息与对象的对应的处理部分,最后就是落到实处的代码。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1