编程思想进化史与软件复杂性

软件问题对象的问题:

1)业务逻辑的复杂型;

2)软件组件的规模;

软件复杂度的升级:一维线性(单纯计算);二维平面(带有业务逻辑的结构型计算);三维立体:描述复杂的现实世界;

针对软件开发任务的升级,编程思想也有一个相应的升级过程:

编程思想的进化;

1)面向计算:计算机出现的驱动力,具有唯一解;

2)面向过程、结构:具有有限解;

3)面向对象:具有无限解;

原文地址:https://www.cnblogs.com/feng9exe/p/8274875.html

时间: 2024-08-29 07:33:28

编程思想进化史与软件复杂性的相关文章

IT行业:软件开发编程思想

很多人学了C语言,C++,Java仍然不会编程:而有些人没有学过计算机语言,但有编程的天份:这中间到底缺了什么? 我们来研究一下3个问题: 1.首先我们要了解计算机能完成的工作: 2.了解每种计算机语言在做什么: 3.如何通过计算机语言让计算机替我们做什么: 1.电子计算机最直接能做什么工作: 电子计算机能直接完成的工作如果细化看,就是在玩二进制数: a.把二进制数按位进行左右移动: b.对二进制数中的位进行<与,或,非,异或>4种操作: c.读地址空间内的二进制数当指令动作: d.读地址空间

80.JAVA编程思想——复杂性理论

80.JAVA编程思想--复杂性理论 下面要介绍的程序的前身是由Larry O'Brien 原创的一些代码,并以由Craig Reynolds 于1986 年编制的"Boids"程序为基础,当时是为了演示复杂性理论的一个特殊问题,名为"凸显"(Emergence).这儿要达到的目标是通过为每种动物都规定少许简单的规则,从而逼真地再现动物的群聚行为.每个动物都能看到看到整个环境以及环境中的其他动物,但它只与一系列附近的"群聚伙伴"打交道.动物的移动

函数式编程思想:耦合和组合,第2部分

习惯于使用面向对象构建块(继承.多态等)的编程者可能会对这一方法的缺点及其他的可选做法视而不见,函数式编程使用不同的构建块来实现重用,其基于的是 更一般化的概念,比如说列表转换和可移植代码.函数式编程思想的这一部分内容比较了作为重用机制的经由继承的耦合和组合,指出了命令式编程和函数式编程之 间的主要区别之一. 在上一部分内容中,我说明了代码重用的不同做法.在面向对象的版本中,我提取出了重复的方法,把他们和一个受保护(protected)域一起移到 一个超类中.在函数式版本中,我把纯函数(不会带来

java编程思想笔记(第一章)

Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5.某一特定类型的所有对象都可以接收同样的消息. Booch提出一种更简洁的描述: 对象拥有状态(state) 行为(behavior) 和标识(identity) 每个对象都有一个接口 每个对象都属于定义了特性和行为的某个类(特性可以理解为属性的状态,行为可以理解为method) 在面向对象的程序设

JAVA编程思想导论(猜字谜游戏1.0)

一. 引言 本章将借用一个简易的猜字谜游戏,向读者简单介绍JAVA面向对象的部分知识以及实现思路. 二. 面向对象思想导论 为了了解什么是面向对象,我们需要解决以下几点问题(如图2.1所示): 面向对象是什么? 面向对象的特征(或者说表现形式). 为什么要面向对象(它与面向过程的区别). 面向对象该怎么做? 众所周知,计算机的编程语言是始于对机器的模仿,即以代码的形式控制机器完成人们希望所能达到的任务或者效果,故而所有编程语言都提供了抽象机制. 而这种抽象机制实际上可以这么认为——人们所能够解决

如何培养面向对象的编程思想(转)

1.什么是面向对象? 面向对象是专指在程序设计中采用封装,继承,多态和抽象的设计方法.面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分.这些程序设计语言可分为以下几类:系统中一切事物皆为对象:对象是属性及其操作的封装体:对象可按其性质分类,对象成为类的实例:实例关系和继承关系是对象之间的静态关系:消息传递是对象之间动态联系的唯一方式,也是计算的唯一形式:方法是消息的序列. 2.如何理解面向对象? 从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内

编程思想之回调

原文:http://blog.csdn.net/luoweifu/article/details/41465289 <回调的原理.实现与应用>一文中已经初步讲了回调的原理和应用,并就一个实际需求用函数的方式实现了回调应用.但回调并不仅限于回调函数,可以有很多不同的现实方式.回调与其说是一种技术,不如说是一种编程思想,我们在各种计算机语言中都能看到它的踪影.我们以<回调的原理.实现与应用>一文中提到的需求为例,看看C++.JavaScript.Java等各种语言下回调的实现方式. 有

《Java编程思想(第4版)》pdf

下载地址:网盘下载 内容简介 编辑 本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形.从Java的基础语法到最高级特性(深入的面向对象概念.多线程.自动项目构建.单元测试和调试等),本书都能逐步指导你轻松掌握.[1] 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作.本书的作者拥有多年教学经验,对C.C++以及Java语言都有独到.深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概

编程思想之多线程与多进程(2)——Java中的多线程

原文:http://blog.csdn.net/luoweifu/article/details/46673975 作者:luoweifu 转载请标名出处 <编程思想之多线程与多进程(1)--以操作系统的角度述说线程与进程>一文详细讲述了线程.进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础.本文将接着讲一下Java中多线程程序的开发 单线程 任何程序至少有一个线程,即使你没有主动地创建线程,程序从一开始执行就有一个默认的线程,被称为主线程,只有一个线程的程序称为单线程程序.如下面