Results 1 -
3 of
3
What is "Object-Oriented Programming"?
, 1991
"... "Object-Oriented Programming" and "Data Abstraction" have become very common terms. Unfortunately, few people agree on what they mean. I will offer informal definitions that appear to make sense in the context of languages like Ada, C++, Modula2, Simula, and Smalltalk. The general idea is to equa ..."
Abstract
-
Cited by 54 (0 self)
- Add to MetaCart
"Object-Oriented Programming" and "Data Abstraction" have become very common terms. Unfortunately, few people agree on what they mean. I will offer informal definitions that appear to make sense in the context of languages like Ada, C++, Modula2, Simula, and Smalltalk. The general idea is to equate "support for data abstraction" with the ability to define and use new types and equate "support for object-oriented programming" with the ability to express type hierarchies. Features necessary to support these programming styles in a general purpose programming language will be discussed. The presentation centers around C++ but is not limited to facilities provided by that language.
Specifying C++ concepts
- In Proc. 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL
, 2006
"... C++ templates are key to the design of current successful mainstream libraries and systems. They are the basis of programming techniques in diverse areas ranging from conventional general-purpose programming to software for safetycritical embedded systems. Current work on improving templates focuses ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
C++ templates are key to the design of current successful mainstream libraries and systems. They are the basis of programming techniques in diverse areas ranging from conventional general-purpose programming to software for safetycritical embedded systems. Current work on improving templates focuses on the notion of concepts (a type system for templates), which promises significantly improved error diagnostics and increased expressive power such as conceptbased overloading and function template partial specialization. This paper presents C++ templates with an emphasis on problems related to separate compilation. We consider the problem of how to express concepts in a precise way that is simple enough to be usable by ordinary programmers. In doing so, we expose a few weakness of the current specification of the C++ standard library and suggest a far more precise and complete specification. We also present a systematic way of translating our proposed concept definitions, based on use-patterns rather than function signatures, into constraint sets that can serve as convenient basis for concept checking in a compiler.
Extensions to the C Programming Language for Enhanced Fault Detection
- Software -- Practice and Experience
, 1993
"... this paper were formatted input and output of the prototype preprocessor. The prototype is a one-pass preprocessor whose only input is a single source file and whose outputs are the preprocessed source along with a header file. The functionality of the prototype is limited by the fact that it is fir ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
this paper were formatted input and output of the prototype preprocessor. The prototype is a one-pass preprocessor whose only input is a single source file and whose outputs are the preprocessed source along with a header file. The functionality of the prototype is limited by the fact that it is first in the chain of compilation, prior to the regular C preprocessor. This was done to keep the prototype small and simple. A full implementation should be in the form of a plug-in replacement for the C preprocessor. That way, any implementation conflicts which might arise between the Robust C functions and the regular C preprocessor functions can be transparently resolved

