我想了解一下软件开发中的编程方法的历史,以及现在流行的方法的来龙去脉,但是没有找到相关的总结性的文章,于是自行总结了一下,不当之处,请大家批评指正。
1.各种方法概述
1)结构化编程
程序应该按自上而下的顺序执行,不会做随便跳转。主要为了提高可读性(特别是控制结构的),可自上而下的阅读代码,并且执行的顺序也大体是这样的。
它的三个组成部分:顺序Sequence,选择selection,循环(或迭代)repetition (or iteration)。任何控制结构都可以用这三个部分组成。
需要小心使用其他方式如:break,continue,return,throw-catch.
2)模块化编程
将逻辑相关的数据和函数放在一个模块中。
它没有多个实例的概念,相当于面向对象中的仅包含静态方法和静态变量的类。不需要实例化即可直接调用方法,只存在一个"实例"。
VB中的Module就是这个思想的应用。
3)面向对象编程
主要特点:封装,继承,多态。
封装(Encapsulation):将逻辑相关的数据和方法(函数)放在一个类中。跟模块化编程做的一致。
继承(Inheritance):将内容或接口重用,并实现类型的多态。
多态(Polymorphism):不同的语义环境下,同一名称可以有多种不同的实现。
具体表现为两类:
同名方法不同内容,实现方式:使用重载(overload),当然方法的参数是不同的;
同名类型不同内容,实现方式:使用覆盖(override)或实现(implement)。允许使用同一接口调用不同类的的实例对象。
2.各种方法的目标
结构化编程。重点是是控制结构,可看作是基本程序语句(无子程序)的结构;
子程序化编程。似乎没有相关的历史潮流,但我认为加入它会使整个方法的发展过程更加完整。子程序(或过程、函数、方法)是模块化、面向对象编程的最重要的基石。
模块化编程。重点是将数据和子程序逻辑相关的组合;
面向对象编程。在模块化的基础上重点加入了模块之间的关系。这里的模块已演化为类。
3.方法体系
上述几种编程方法可以归为一类,属于一个方法体系,其重点在于编程本身,力图管理并降低程序逻辑的复杂性。随其发展,管理的代码单元越来越大,越来越复杂,其方式也越来越接近日常的思维。核心是封装逻辑结构(子程序、模块、类),以便在更高层次上获得简化的关系。
我认为此体系中新的方法还未出现。现在流行的方法中:AOP(面向方面编程),仅是此体系有益的补充;SOA面向服务架构,重点在于用统一的方式调用,而不依赖于底层技术,是组件化的一种形式,这不是这一类的主线方向。
4.总结:
以往的编程方法和原则在现代的方法中得到了保留和发展,这对新手是一个挑战,不循序渐进的学习这些技术,想要短期学会现代方法(如:面向对象编程)是困难的。
记住这些编程方法的主旨是很有好处的。
新的编程方法必将是历史方法的继承和发展,所以学好这些旧的方法非常重要。
掌握这些在各种层出不穷的新语言和新工具中不变的精华,或许,我们可以不再疲于追赶新的技术潮流。
分享到:
- 2006-09-18 10:56
- 浏览 7075
- 评论(5)
- 论坛回复 / 浏览 (5 / 5240)
- 查看更多
相关推荐
随着自动化控制技术的不断进步,PLC的编程方法也在不断发展。SFC编程方法以其便捷、易懂和实用性强的特点,为工程技术人员在面对复杂逻辑编程时提供了一种新的解决方案。特别是对于需要快速调整和维护的工程应用,...
工业机器人的离线编程方法 工业机器人的编程方法有两种:示教编程和离线编程。离线编程相对于示教编程,在工作环境、人机交互、材料损耗、质量效果、技术要求等方面存在较大的优势。本文从实施条件、系统设置两方面...
综上所述,离线编程技术的发展对于工业机器人的控制精度、作业效率、安全性以及成本控制都有显著的提升作用。随着人工智能技术的快速发展,尤其是深度学习、机器学习等算法的应用,离线编程技术将能够更好地处理复杂...
《2022年数控加工自动编程方法及其发展》 数控加工自动编程是现代机械制造领域的重要技术,它极大地提高了生产效率和加工精度。本文主要围绕2022年数控加工自动编程的方法和发展进行深入探讨。 首先,数控编程方法...
数控加工自动编程方法及其发展.pptx
随着技术的发展,National Instruments 在 LabVIEW 中增加了多种通信界面和方法,使得开发者可以在同一程序框图中使用多种编程方法。这极大地扩展了编程的可能性,同时也为不同背景的开发者提供了更多的选择。 ####...
编程之禅,人生如禅,编程如禅 本书《编程之禅》的出版在程序设计业内得到了普遍的接受,出版社...编程之禅的思想和方法将继续影响编程的发展和实践,推动编程技术的创新和发展。这对编程的发展和实践产生了重要影响。
【编程方法】是计算机科学领域中的基础概念,它是指通过一系列指令来解决问题的过程。这个过程涉及到算法设计、数据结构选择、编程语言应用等多方面。在斯坦福大学的开放课程中,"编程方法"可能涵盖了从基本编程语法...
GPU 编程方法和语言 GPU 编程是一种基于图形处理单元(GPU)的高性能计算方法,旨在加速图形体绘制和通用计算。...GPU 编程方法和语言是当前计算机图形学和通用计算领域的热点话题,其发展前景非常广阔。
手工编程是早期数控编程的主要方式,程序员需要根据零件图纸直接编写NC代码,如G代码和M代码,这种方法对编程者的专业知识要求较高,效率较低,适用于简单零件或特殊工艺的编程。 APT语言(Automatic Programming ...
### PLC的编程语言与编程方法 #### 一、PLC编程语言概述 PLC(Programmable Logic Controller),即可编程逻辑控制器,是一种专为工业环境下应用而设计的电子系统。它能够通过预先编写的程序来控制机械设备的工作...
本知识点将详细介绍如何利用RobotStudio软件实现带导轨工业机器人的轨迹编程方法,以及该方法在离线编程中的应用。 首先,了解离线编程的概念。离线编程是指使用计算机仿真软件对机器人的操作程序进行编程和调试,...
结对编程方法的提出是在20世纪90年代中期,经过了近30年的发展和完善。该方法的核心思想是让两位程序员坐在同一台电脑前进行编程,通过讨论、设计、编码和测试等四个步骤来提高代码的质量和教学效果。 结对编程方法...
VC++与Matlab混合编程是将两种强大的编程工具结合起来,以解决程序设计和科学计算中的问题。VC++(Visual C++)是一种可视化编程...随着科技的发展,这种混合编程方法在软件开发和数据分析领域的应用将会越来越广泛。
第4 章简要介绍了有限元编程方法。 与大多数有限元书籍不同的是 , 用其他高级语言编写有限元程序时所需的一般编程技巧在 MATLAB 中不再需要 , 因此 , 本书不再赘述。 第5 章详细讨论了构造单元和插值函数的原则...
这不仅要求学生掌握编程技能,还要理解测绘学的专业知识,如测绘数据处理、误差理论和平差方法,以及GIS和大地测量的概念。 #### 结论 《编程语言与平台发展》这一主题深刻反映了信息技术的快速变革和对教育体系的...
在这一阶段,程序员们开始意识到将程序分解为一系列独立的功能模块或方法的重要性,但尚未发展出如面向切面编程(Aspect-Oriented Programming,AOP)等更为先进的技术。 在面向方法编程的“原始时代”,开发者主要...
PLC(可编程逻辑控制器)编程方法是工业自动化领域的核心内容,涵盖了从基础编程概念到实际应用的一系列技术。在给定文件内容中,我们可提炼出若干关键知识点,来详细说明PLC编程方法的主要学习方向和技术要领。 ...