首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
C^++程序设计语言是可以编制面向对象程序的多范型语言,它有深刻的过程式范型程序设计的烙印。在编制面向对象程序时,程序员如果不清楚它的非面向对象特征,编制的OOP会潜藏许多隐形的错误,为此本文以问答形式讨论这些问题,希望读者从中理解到一类问题出现的原因。  相似文献   

2.
Ada95语言评述   总被引:1,自引:0,他引:1  
Ada95语言是在Ada83基础上修订而成的,它几乎提供了现代程序设计范型及程序设计实践所需要的一切设施,它可以支持面向对象的程序设计、大型程序设计、实时与并行程序设计等等。  相似文献   

3.
吴迪  陈林  徐宝文 《计算机科学》2014,41(7):1-8,44
为了满足越来越高的软件开发需求,许多通用程序设计语言扩充了各种新的语言设施,从而使语言变得复杂而难于学习和使用。为了创造一个核心概念简单明确、同时可以广泛用于各类开发的语言,设计了一种具有简明核心概念和丰富语言设施的程序设计语言SIMPLE。首先对SIMPLE语言进行概述,然后针对SIMPLE的模块化、泛型、内存管理以及异常处理等设施进行阐述。此外,讨论了如何将过程式、面向对象、函数式3种程序设计范型在SIMPLE中实现有机的融合。  相似文献   

4.
MOHAMEDHamada 《软件学报》2001,12(9):1279-1286
函数式语言和逻辑语言在下列意义上是互补的,基于归约的函数式程序设计语言具有确定和懒惰求解等性质.但同时它又缺少诸如存在量化的变量以及部分数据结构等所希望的性质.相反,基于HORN子句逻辑和消解原理的逻辑程序设计语言允许存在量化的变量和部分数据结构但又缺少确定和懒惰求解的性质.从这个角度出发,把函数和逻辑程序设计语言结合成一种范型是很自然的,这种结合提供了一种比逻辑和函数语言表达能力更强的合一语言.提出了函数式逻辑语言的操作语义,同时表明这种操作语义在实践中是可见的.  相似文献   

5.
面向方面编程是一种新的程序设计范型,它支持关注点的分离,解决了面向对象方法中代码“纠缠”和“分散”的问题,使模块的内聚性提高,耦合度降低,提高了代码的复用性。但是面向方面编程范型也给面向方面程序的测试带来了挑战,传统的测试技术不能完全适应,为了更好地进行测试,本文通过对AspectJ语言进行分析,给出了八种面向方面程序的错误类型,便于进一步地进行面向方面程序测试的研究。  相似文献   

6.
面向方面编程是一种新的程序设计范型,它支持关注点的分离,解决了面向对象方法中代码"纠缠"和"分散"的问题,使模块的内聚性提高,耦合度降低,提高了代码的复用性.但是面向方面编程范型也给面向方面程序的测试带来了挑战,传统的测试技术不能完全适应,为了更好地进行测试,本文通过对AspectJ语言进行分析,给出了八种面向方面程序的错误类型,便于进一步地进行面向方面程序测试的研究.  相似文献   

7.
孙建伶  董金祥 《计算机学报》1995,18(10):777-782
关系数据库与程序设计语言之间的松散耦合存在着编程范型及类型系统两方面的失配,是提高数据库应用软件之质量和生产率的极大障碍,面向对象数据库(OODB)与程序设计语言(PL)的无缝结合旨在消除这种失配,本文以面向对象数据库管理系统原型OSCAR为背景,提出OODB与PL无缝结合的基本准则,OODB无缝C^++应用编程界面的对象持久性模型,以及实现OODB无缝C^++应用编程界面的关键技术。  相似文献   

8.
计算机应用离不开编程,一个应用问题用什么思想、什么办法、以什么形式来编写出解决问题的程序,这叫做编程范型。几十年来,应用系统的形式结构有了巨大的变化,所以编程范型也一直在演进。下面就先来谈谈过程式编程范型和面向对象编程范型。  相似文献   

9.
由浅入深地介绍了Java语言中新引入的语法结构——范型的概念、用法以及使用上的一些限制,并从Java范型的实现机制上,讨论了范型为什么在使用上有这些限制。  相似文献   

10.
程序切片是一种重要的程序分析技术,广泛应用于程序的调试、测试与维护等领域。面向方面程序设计作为一种新的软件开发范型,能够实现横切关注点的模块化,其特有的语言元素和功能为切片增加了难度。从静态切片和动态切片两种类型,讨论了面向方面程序切片技术。在此基础上,提出了一种基于简化动态依赖图的面向方面程序切片方法,可以减少动态依赖图中节点和边的数量,生成准确的面向方面程序的动态切片,从而有助于人们更好地对面向方面程序进行分析和理解。  相似文献   

11.
Stroustrup  B. 《Software, IEEE》1988,5(3):10-20
The meaning of the term `object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-oriented programming, and traditional programming techniques. The support of programming paradigms by languages is discussed and four paradigms are examined: procedural, data hiding, data abstraction, and object-oriented programming. The support of the latter two by C++ is discussed in some detail  相似文献   

12.
Knowledge and Information Systems - As opposed to textual programming languages, multidimensional languages compiler construction paradigms lack standardization. To this aim, in this paper we...  相似文献   

13.
Knowledge programming, which makes use of the explicit representation and interpretation of knowledge to create intelligent programs, requires specialized languages and tools to help programmers. Prolog, an implementation of a logic programing language, provides some of these tools; it and other languages have been argued to be the "best" way to do such knowledge programming. This paper raises questions which suggest that any single paradigm of programming (e.g., logic programming or object-oriented programming) benefits by being integrated in a single environment with other paradigms of programming. Integration of these paradigms with each other, and within a flexible, user-friendly computing environment is also necessary. Such an environment must provide source level debugging and monitoring facilities, analysis and performance tuning tools, and an extended set of user communication programs.  相似文献   

14.
Software developers utilize design methods that enable them to manipulate conceptual structures that correlate to programming language features. However, programming languages and the programming paradigms they embody co-evolve over time. Within industrial and academic circles, for example, object-oriented programming has evolved and effectively replaced imperative programming. More recently, many object-oriented languages have assimilated features from other programming paradigms, evolving into multiparadigm languages we refer to as ‘object-oriented plus–plus’ or OO++. This language evolution may weaken the interface between design and implementation, introducing what we call ‘design dysphasia’—a partial disability in the use of a programming language because of incongruous design methods. Software design patterns capture elements of reusable design within a specific context. When the programming languages that are part of pattern context evolve, patterns must adapt to the language change or they may reinforce design dysphasia in the practitioner. We assert that the current ‘capture/recapture’ pattern maintenance model is suboptimal for adapting patterns to language evolution and propose a new ‘capture/modify/recapture’ maintenance cycle as a more effective approach. We then suggest a concrete ‘modify’ phase for current patterns to be adapted to object-oriented based multiparadigm language trends. We present an OO++ Iterator pattern as an example throughout.  相似文献   

15.
Many reduction systems have been presented for implementing functional programming languages.We propose here an extension of a reduction architecture to realize a kind of logic programming-pure Horn clause logic programming.This is an attempt to approach amalgamation of the two important programming paradigms.  相似文献   

16.
A reversible programming language supports deterministic forward and backward computation. This tutorial focuses on a high-level reversible programming language Janus. In common with other programming paradigms, reversible programming has its own programming methodology. Janus is simple, yet powerful, and its constructs can serve as a model for designing reversible languages in general.  相似文献   

17.
Programming may be more difficult than necessary because it requires solutions to be expressed in ways that are not familiar or natural for beginners. To identify what is natural, this article examines the ways that non-programmers express solutions to problems that were chosen to be representative of common programming tasks. The vocabulary and structure in these solutions is compared with the vocabulary and structure in modern programming languages, to identify the features and paradigms that seem to match these natural tendencies as well as those that do not. This information can be used by the designers of future programming languages to guide the selection and generation of language features. This design technique can result in languages that are easier to learn and use, because the languages will better match beginners' existing problem-solving abilities.  相似文献   

18.
《Computer Languages》1996,22(2-3):79-93
We define a new language that naturally satisfies the requirements of concurrency support, modularity, and declarativity. Although some classes of existing languages already cover a subset of these requirements, there is no example of a programming language entirely fulfilling them. We propose to merge three programming paradigms, Multiple Tuple Spaces, Object Orientation, and Logic Programming, as a solution to our requirement list. Each paradigm is well characterized and satisfies one of the given requirements. Moreover, we claim that the merging will reveal new directions in the inception and development of future programming languages.  相似文献   

19.
R++: adding path-based rules to C++   总被引:1,自引:0,他引:1  
Object-oriented languages and rule-based languages offer two distinct and useful programming abstractions. However, previous attempts to integrate data-driven rules into object-oriented languages have typically achieved an uneasy union at best. R++ is a new, closer integration of the rule-based and object-oriented paradigms that extends C++ with a single programming construct, the path-based rule, as a new kind of class member. Path-based rules-data-driven rules that are restricted to following pointers between objects-are like automatic methods that are triggered by changes to the objects they monitor. Path-based rules provide a useful level of abstraction that encourages a more declarative style of programming and are valuable in object-oriented designs as a means of modeling dynamic collections of interdependent objects. Unlike more traditional pattern-matching rules, path-based rules are not at odds with the object-oriented paradigm and offer performance advantages for many natural applications  相似文献   

20.
CLIPS与高级语言交互的研究与实现   总被引:6,自引:0,他引:6  
华珊珊  李龙澍 《微机发展》2005,15(10):65-67
CLIPS(C Language Integrated Production System)是一种专家系统开发语言,它支持3种程序设计方式:基于规则的、面向对象的和过程性的。文中介绍了CLIPS与其他高级语言间的交互。讨论了CLIPS如何调用外部程序,如何将CLIPS嵌入到其他高级语言中。并举例说明了该交互实现的具体过程。最后介绍了用CLIPS构建的专家系统。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号