- •1496 Corba - Object-Oriented Technology)
- •1432 Five Object Oriented Development Methods, Research report, hp Laboratories,
- •1866 Corba Implementation Descriptions: Object-Oriented Technologies dome
- •135 Based approaches (e.G. Smalltalk handles) allow powerful dynamic typing, as
- •83 There are many definitions of an object, such as found in [Booch 91, p77]:
- •83 There are many definitions of an object, such as found in [Booch 91, p77]:
- •48 Languages that are historically procedural languages, but have been extended with some oo features. Examples: Visual Basic (derived from basic), Fortran 2003, Perl, cobol 2002, php, abap.
- •121 Interface - e.G. Gui
- •197 Sharing and often instances will simply delegate to parents to access methods
- •670 Polymorphic languages can be statically typed to provide strong type checking,
- •Inclusion
- •209 Usage is atypical] See [Booch 94, pp 154-155] for a brief discussion of
- •203 Parents (as any other member) can be added or changed dynamically, providing
- •23 Subtype polymorphism
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •24 Object inheritance (or delegation)
- •295 1.4) What Is a Meta-Class? (Object-Oriented Technology)
- •228 [Booch 91, p. 45] defines: "Encapsulation is the process of hiding all of the
- •912 Polymorphism is the ability of an object (or reference) to assume (be replaced
- •702 See also section 3.7, the Annotated Bibliography, and appendix d. The
- •120 Application Objects - In the Object Model
- •210 Prototype theory in the context of ooa and ood.
- •180 Derived class, parent class
- •400 Specify required attributes of a matching object (see sections 2.1, 2.7 and
- •2282 Garbage collection (gc) is a facility in the run-time system associated with a
- •1540 From a joint proposal (named "corba") of Hewlett-Packard, ncr Corp.,
- •170 Inheritance. This is an example of dynamic binding, which replaces a
- •1519 1) The Object Request Broker, or key communications element, for
- •714 Of externally observable behavior; a complete, consistent, and feasible
- •749 (User-)environment). The product, or resultant model,
- •302 The Meta-Class can also provide services to application programs, such as
- •1511 In late 1990 the omg published its Object Management Architecture
- •621 Term "multi-method") consider the functional and receiver based forms
- •1617 Between applications on different machines in heterogeneous
- •192 Objects contain fields, methods and delegates (pseudo parents), whereas
- •159 Function taking an object of the record type, called the receiver, as the
- •1346 Information, updates to Release 1.1 of The Object Database Standard:
- •458 Or change parents from objects (or classes) at run-time. Actors, clos, and
- •774 Should be made into a public standard, perhaps to be adopted by the omg. The
- •140 Objects [Kim 89, ch 19 and Yaoqing 93]. Simple static approaches are found in
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •168 [Stroustrup 90] covers the implementation details of virtual member functions
- •220 Parents when certain predicates are true. This can support a types
- •148 In more conventional languages to fully emulate this style of dynamically typed
- •2052 - Naming - network implementation of X.500 directory
- •2082 2 V1.X. Development
- •2182 Functionality than specified by the X.500 standard. Because dome goes
- •2191 - True messaging for workflow management and edi
- •1166 Used for assignment compatibility forcing an assigned object to inherit
- •2065 Registering services and entities in a distributed
- •1541 HyperDesk Corp., Digital Equipment Corp., Sun Microsystems and Object
- •2038 Toolkits (others are planned for future release) --
- •2434 Testing of Object-Oriented Programming (toop) faq
- •863 See also [Yourdon 92], [Wilkie 93], and [Booch 94] for discussions on this
- •1465 [Wilkie 93] summarizes, compares, and provides examples of Booch, Wirfs-Brock,
- •2311 Length, include file nesting and macro stack depth. This causes
- •2257 Optical or magnetic media containing all files required to load and
- •2489 Bezier, Boris, "Software Testing Techniques", 2nd edition, Van Nostrand
- •602 Notations for invoking a method, and this invocation can be called a message
- •1776 Object-communication mechanism across heterogeneous networks by using the
- •1391 It covers extensible objected-oriented programming from hardware up.
- •1317 Structured subobjects, each object has its own identity, or object-id (as
- •434 1.9) Does Multiple Inheritance Pose Any Additional Difficulties? (Object-Oriented Technology)
- •1751 Hp believes it is best positioned to help customers take advantage of
- •2709 One. This is a beta release and _should_ compile on any posix.1 system.
- •660 Dominate and double dispatch can be suffered, or an embedded dynamic typing
660 Dominate and double dispatch can be suffered, or an embedded dynamic typing
suffice
294 fail to suffice.
sugar
41 Attempts to find a consensus definition or theory behind objects have not proven very successful (however, see Abadi & Cardelli, A Theory of Objects[18] for formal definitions of many OOP concepts and constructs), and often diverge widely. For example, some definitions focus on mental activities, and some on program structuring. One of the simpler definitions is that OOP is the act of using "map" data structures or arrays that can contain functions and pointers to other maps, all with some syntactic and scoping sugar on top. Inheritance can be performed by cloning the maps (sometimes called "prototyping"). OBJECT:=>> Objects are the run time entities in an object-oriented system. They may represent a person, a place, a bank account, a table of data or any item that the program has to handle.
suit
1895 can be configured and constructed to best suit the runtime
suited
66 However, Niklaus Wirth (who popularized the adage now known as Wirth's law: "Software is getting slower more rapidly than hardware becomes faster") said of OOP in his paper, "Good Ideas through the Looking Glass", "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours" (contrast KISS principle).
suitesoftware's
2143 SUITESOFTWARE's Distributed Object Management Environment (DOME)
summ
887 [Meyer 88] contains a brief summ
summaries
1428 Summaries and comparisons will be provided in future FAQs. Suggestions for
summarizes
1465 [Wilkie 93] summarizes, compares, and provides examples of Booch, Wirfs-Brock,
sunsoft's
1968 Windows 3.1 and SunSoft's Distributed Objects Everywhere (DOE) on Solaris.
super-class
185 super-class terminology, and is preferred in
superclasses
2 In the domain of object-oriented programming an object is usually taken to mean an ephemeral compilation of attributes (object elements) and behaviors (methods or subroutines) encapsulating an entity. In this way, while primitive or simple data types are still just single pieces of information, object-oriented objects are complex types that have multiple pieces of information and specific properties (or attributes). Instead of merely being assigned a value, (like int =10), objects have to be "constructed". In the real world, if a Ford Focus is an "object" - an instance of the car class, its physical properties and its function to drive would have been individually specified. Once the properties of the Ford Focus "object" had been specified into the form of the car class, it can be endlessly copied to create identical objects that look and function in just the same way. As an alternative example, animal is a superclass of primate and primate is a superclass of human. Individuals such as Joe Bloggs or John Doe would be particular examples or 'objects' of the human class, and consequently possess all the characteristics of the human class (and of the primate and animal superclasses as well).
supersets
986 (intensional) approach (where subtypes are supersets of (contain) supertypes).
supplied
1824 their own, HP has supplied several object-service interfaces for developers
supporters
1704 The OMG also has a (Corporate) Membership list and "known CORBA supporters"
supposedly
2299 between supposedly independent modules.
surveying
1468 Wirfs-Brock, R.J. and Johnson, R.E., "Surveying Current Research in Object-
sustained
834 leading to statistical (process) control and sustained improvement. Watts S.
svg
42 Question book-new.svg
swapping
2316 is inefficient (swapping two references will result in three
swiss
1861 The C++ interface in August. Customers include AMD, Consilium and Swiss
switchable
2286 below). [Ada has switchable GC, too -bob]
switches
2398 b) Switches indicating deletion. Many applications must clear the switch to
symbolic
999 viewed in an almost symbolic way) occurs when object types may be specified and
symposium
2498 Object-Oriented Programs", Proceedings of the 4th Symposium on
synchrony
1714 in C++. It supports object-groups, virtual synchrony, multithreading
synonymously
405 used synonymously, but can be used to show the "object is-a class"
system-based
1805 modification on HP, Sun and IBM UNIX(R) system-based workstations. They
system's
712 system's responsibilities in that light".
sz
1870 1st Floor, Lawrence House, 1A Morrell St, Leamington Spa, England CV32 5SZ
tables
1118 implemented with tables of function pointers and offsets), and is how
tail
419 base class and the tail indicating the derived class.
talks
2589 Publications. The article talks some about why testing is
tangible
108 the things are likely to fall into the following five categories: Tangible
tanler
1791 our entire company on it," said Richard Tanler, president and chief
tar
2707 etet1.10.1.tar.Z". They are looking for
target
2665 specifically designed to operate in both host and target
targeted
2066 system and invoking targeted services based on service
tasking
1390 as well as basic OS i ssues such as memory, file, tasking management.
tav
2499 Testing, Analysis, and Verification (TAV4), 1991, ACM, Inc.,
taylor
2587 Taylor, David. "A quality-first program for object technology", Object
teaching
1369 NachOS (written in C++, OS teaching
team-
836 version of the CMM for individuals [Humphrey 95]. Next should follow a team-
teams
4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.
techical
2564 Overview. Techical Report TR92-0656, MPR Teltech Ltd., October
technique
2280 and technique.
technol
2510 Validation and Testing of Object Oriented Systems, BT Technol
techreports
1719 techreports
tel
1972 Paul Hickey, tel: +353-1-6686522
telematics
1450 Center of Telematics and Information Technology, University of Twente,
temporary
2304 particular problem with temporary values produced by C++ overloaded
temps
154 Simple statically-typed objects (static and auto vars and temps in C++ and
termed
9 An object-oriented program may thus be viewed as a collection of interacting objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent "machine" with a distinct role or responsibility. The actions (or "methods") on these objects. The terms "objects" and "oriented" in something like the modern sense of object- oriented programming seem to make their first appearance at MIT in the late 1950s and early 1960s. In the environment of the artificial intelligence group, as early as 1960, "object" could refer to identified items (LISP atoms) with properties (attributes); Alan Kay was later to cite a detailed understanding of LISP internals as a strong influence on his thinking in 1966.[3] Another early MIT example was Sketchpad created by Ivan Sutherland in 1960-61; in the glossary of the 1963 technical report based on his dissertation about Sketchpad, Sutherland defined notions of "object" and "instance" (with the class concept covered by "master" or "definition"), albeit specialized to graphical interaction. Also, an MIT ALGOL version, AED-0, linked data structures ("plexes", in that dialect) directly with procedures, prefiguring what were later termed "messages", "methods" and "member functions".
testcenter
2676 TestCenter from CenterLine will do coverage testing of C++ (and C)
testgraphs
2521 approach to testing which the authors call Testgraphs. An
tex
1491 The authors, regretfully, cannot supply ftp, postscript, TEX, or
text
1084 many kinds of objects such as text and graphical objects, multiple-polymorphism
textually
449 from more than one class must textually include all but one of those classes in
theilen
2591 Theilen, David. "No Bugs. Delivering error free code in C and C++.",
theoretical
75 Christopher J. Date stated that critical comparison of OOP to other technologies, relational in particular, is difficult because of lack of an agreed-upon and rigorous definition of OOP. Date and Darwen propose a theoretical foundation on OOP that uses OOP as a kind of customizable type system to support RDBMS.
thereof
25 Open recursion – a special variable (syntactically it may be a keyword), usually called this or self, that allows a method body to invoke another method body of the same object. This variable is late-bound; it allows a method defined in one class to invoke another method that is defined later, in some subclass thereof.
thesis
1386 This thesis covers the design of an extensible object-oriented
thinking
9 An object-oriented program may thus be viewed as a collection of interacting objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent "machine" with a distinct role or responsibility. The actions (or "methods") on these objects. The terms "objects" and "oriented" in something like the modern sense of object- oriented programming seem to make their first appearance at MIT in the late 1950s and early 1960s. In the environment of the artificial intelligence group, as early as 1960, "object" could refer to identified items (LISP atoms) with properties (attributes); Alan Kay was later to cite a detailed understanding of LISP internals as a strong influence on his thinking in 1966.[3] Another early MIT example was Sketchpad created by Ivan Sutherland in 1960-61; in the glossary of the 1963 technical report based on his dissertation about Sketchpad, Sutherland defined notions of "object" and "instance" (with the class concept covered by "master" or "definition"), albeit specialized to graphical interaction. Also, an MIT ALGOL version, AED-0, linked data structures ("plexes", in that dialect) directly with procedures, prefiguring what were later termed "messages", "methods" and "member functions".
third-party
2240 with any number of third-party GUI and CASE tools. Among the GUIs are
thomas
2494 Cheatham Thomas J., and Lee Mellinger, "Testing Object-Oriented
thousands
1924 proven communication framework that links thousands of nodes.
threads
2385 different threads) makes it impossible to statically determine the last user
thrust
1131 downcasting (historically known as type narrowing), the thrust of RTTI, can
tight
2298 modules must co-operate closely. This leads to a tight binding
timers
305 timers. In Smalltalk, the situation is more complex. To make this easy, refer
title
2577 This paper, or one with the same title and authors, is
titled
73 Luca Cardelli wrote a paper titled "Bad Engineering Properties of Object-Oriented Languages" Richard Stallman wrote in 1995, "Adding OOP to Emacs is not clearly an improvement; I used OOP when working on the Lisp Machine window systems, and I disagree with the usual view that it is a superior way to program."
tivoli
1697 > Tivoli
tockey
93 Smith and Tockey: "an object represents an individual, identifiable item,
tolerant
1851 Isis RDOM(tm) is a fault tolerant distributed ORB platform for reliable
tom
2545 Love, Tom. Object Lessons. SIGS Books, 588 Broadway #604, New York, NY
toolbox
2426 object-oriented programmer's toolbox.
toolset
1799 Smalltalk. This toolset works with VisualWorks from ParcPlace Systems to
toolsus
2616 "toolsus.ps.Z" for US letter formatting.
toopinht
2637 papers. Get toopinht.ps.Z" for A4 paper formatting or get
toopinhtus
2638 "toopinhtus.ps.Z" for US letter formatting.
toopus
2603 papers. Get "toop.ps.Z" for A4 paper and "toopus.ps.Z" for
top-down
897 and procedures (top-down) are frequently changed, providing object-oriented
topology
418 in [Rumbaugh 91]) allow any topology, with the head of an arrow indicating the
toronto
2519 Conference, October 1993, Toronto. Email addresses for authors
tqm
830 (CMM), a process-based TQM model for assessing the level of an organization's
traced
8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.
tradeoff
1228 efficiency tradeoff), and sources can cause inlining and create source code
trained
2252 staff of fully trained professionals ensures "real world" responses
transfer
2177 DOME allows message transfer from one object to another object,
transitively
1167 (transitively) from any polymorphic object's class (inclusion polymorphism
translation
2201 - Logical name translation for true aliasing
transport
1759 the Open Software Foundation(tm) as its transport mechanism. DCE is
treadmill
2419 sometimes choose treadmill collectors [4] over hand-management because of its
treated
46 Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Scala, Smalltalk, Eiffel, JADE, Emerald.
treelw
2654 TreeLW1.1" from st.cs.uiuc.edu.
trees
2645 specific classes that test non-interactive objects such as trees,
trivial
150 Below is a simple example to show a most trivial case of OO implementation.
t's
2113 NCR, AT&T's computer business, brings computing and
tsp
837 based software process (TSP?). Other CMM's in the works at the SEI include a
tue
1709 Date: Tue, 4 May 1993 13:12:36 +0200 (MET DST)
turnaround
2685 *No recompilation needed, resulting in quick turnaround
tuxedo
1969 In addition Orbix-TP, integration with Tuxedo for transaction processing, has
twente
1450 Center of Telematics and Information Technology, University of Twente,
txt
1580 doclist.txt
type-
1120 both static and dynamic typing, sometimes with static typing providing type-
type-safety
1160 representations per type while still maintaining reasonable type-safety.
type-tests
1394 on C++. [[ The lack of type-tests in C++ was a problem in other designs.]]
typology
1461 Monarchi, David and Puhr, Gretchen I. A Research Typology for Object-Oriented
ubiquitous
900 Polymorphism is a ubiquitous concept in object-oriented programming and is
uel
2702 etet_support@uel.co.uk
uh
847 ricis.cl.uh.edu
ultimately
833 by specifying steps for organizations to progress to the next level, ultimately
uml
17 Just as procedural programming led to refinements of techniques such as structured programming, modern object-oriented software design methods include refinements[citation needed] such as the use of design patterns, design by contract, and modeling languages (such as UML).
unacceptable
2322 unacceptable in some applications. However the overhead of manual
unaddressed
2400 multiple containers, leaving many memory management issues unaddressed.
unavoidable
690 and run-time selection (or checking) as unavoidable in the general case [a
unchanged
432 explicitly calling them, allowing client class code to remain unchanged [Booch
uncooperative
2338 [3] "Garbage Collection in an Uncooperative Environment" by Boehm and
undecidability
689 general undecidability of dynamic types at compile-time renders dynamic typing
understands
1753 products, understands how to help customers adopt new technology for maximum
underway
1970 just entered beta testing. Work is underway on Orbix-FT, integration with
unfair
76 Alexander Stepanov suggested that OOP provides a mathematically-limited viewpoint and called it "almost as much of a hoax as Artificial Intelligence. I have yet to see an interesting piece of code that comes from these OO people. In a sense, I am unfair to AI: I learned a lot of stuff from the MIT AI Lab crowd, they have done some really fundamental work....".
uniface
2241 Powerbuilder,, Visual Basic,, and Uniface,. Among the CASE tools are
uniform
786 * It assumes a relatively uniform and orderly sequence of development steps
uniformly
930 "Parametric polymorphism is obtained when a function works uniformly on a range
unify
2149 all of the essential services necessary to unify distributed
union
988 extensional view and set union with an intensional view. Details are left as
uniprocessor
2329 [2] "Uniprocessor Garbage Collection Techniques," by Paul R. Wilson,
unique
564 languages and perhaps object id's for unique objects. Object id's support the
univ
2642 There is a smalltalk class library in the Univ. of Illinois archives
universities
79 Richard Mansfield, author and former editor of COMPUTE! magazine, states that "like countless other intellectual fads over the years ("relevance", communism, "modernism", and so on—history is littered with them), OOP will be with us until eventually reality asserts itself. But considering how OOP currently pervades both universities and workplaces, OOP may well prove to be a durable delusion. Entire generations of indoctrinated programmers continue to march out of the academy, committed to OOP and nothing but OOP for the rest of their lives."[38] He also is quoted as saying "OOP is to writing a program, what going through airport security is to flying".
unixware
2000 UnixWare Computer Innovations 4th Qtr
unnecessarily
657 real-world programming situations, unnecessarily. In the author's opinion,
unsatisfactory
293 upon unsatisfactory results, and finally the latter if the first two approaches
unsourced
43 This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (August 2009)
unsuitable
82 Carnegie-Mellon University Professor Robert Harper in March 2011 wrote: "This semester Dan Licata and I are co-teaching a new course on functional programming for first-year prospective CS majors... Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum. A proposed new course on object- oriented design methodology will be offered at the sophomore level for those students who wish to study this topic."
untyped
146 have no type, but the objects (values) they point to always do. An untyped
uofi
1366 Choices (research OS, UofI, C++, supports SVR4, See Appendix E, Papers)
updates
1346 information, updates to Release 1.1 of The Object Database Standard:
updating
2126 updating a collection of incompatible hardware platforms, operating
upgraded
1936 for the first time, as well as an upgraded Interface Repository, a new
uq
2520 are dhoffman@csr.uvic.ca and pstropp@cs.uq.oz.au. Describes an
use-case
112 to identifying objects through use-cases (scenarios), leading to a use-case
user-
749 (user-)environment). The product, or resultant model,
user-configured
1884 DOME is an ORB toolkit for the production of user-configured
user-oriented
746 (from its requirements, domain and environment) from a user-oriented or domain
user-specific
1898 implemented to user-specific requirements.
uta
2644 (bruce@utafll.uta.edu). It is a general superclass for application
utafll
2644 (bruce@utafll.uta.edu). It is a general superclass for application
utexas
2335 anonymous ftp (cs.utexas.edu:pub
utwente
1489 Sjaak Brinkkemper (sjbr@cs.utwente.nl), which we will forward to the
uvic
2520 are dhoffman@csr.uvic.ca and pstropp@cs.uq.oz.au. Describes an
validate
2649 used to validate the Tree classes. For ParcPlace Smalltalk (ObjectWorks
value-oriented
1318 opposed to a purely value-oriented approach) and because of support for methods
variation
218 Chambers has proposed an interesting variation called "Predicate Classes"
variations
397 being used (especially in OOD), because inheritance has many variations and
varieties
908 animal or plant in several forms or color varieties.
vars
154 Simple statically-typed objects (static and auto vars and temps in C++ and
vax
1644 1, SunOS, ULTRIX, Digital VAX
verlag
2332 eds.), Springer Verlag Lecture Notes in Computer Science #637.
verses
612 See also section 1.19 below for a discussion on the functional (prefix) verses
vice
1501 Vice President & Technical Director
viewpoint
76 Alexander Stepanov suggested that OOP provides a mathematically-limited viewpoint and called it "almost as much of a hoax as Artificial Intelligence. I have yet to see an interesting piece of code that comes from these OO people. In a sense, I am unfair to AI: I learned a lot of stuff from the MIT AI Lab crowd, they have done some really fundamental work....".
views
289 [Booch 94, 4.2] proposes 3 views of classification as useful in OO analysis and
violates
668 violates subtype polymorphism, because only subclass polymorphism is based on
visibility
273 classes, visibility and member lookup resolution. This is a feature-based or
visible
238 may be accessed wherever visible. CLOS and Ada allow methods to be defined
visitor
61 Behavioral patterns : Chain-of-responsibility pattern, Command pattern, Interpreter pattern, Iterator pattern, Mediator pattern, Memento pattern, Observer pattern, State pattern, Strategy pattern, Template method pattern, Visitor pattern.
vlissides
57 Design Patterns: Elements of Reusable Object-Oriented Software is an influential book published in 1995 by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, sometimes casually called the "Gang of Four". Along with exploring the capabilities and pitfalls of object-oriented programming, it describes 23 common programming problems and patterns for solving them. As of April 2007, the book was in its 36th printing.
vms
1645 VMS, Digital OpenVMS
vocabulary
707 that form the vocabulary of the problem domain, and in OOD, we invent the
vw
2653 st80_vw
warehousing
1796 stores, and warehousing and distribution operations."
warren
2542 to "john_lakos@warren.mentorg.com".
waterfall-
797 Waterfall-
watts
834 leading to statistical (process) control and sustained improvement. Watts S.
websters'
901 defined in many ways, so many definitions are presented from: Websters',
webster's
904 > Webster's New World Dictionary:
weiser
2339 Weiser. Software --- Practise and Experience vol 18(9), pp 807-820.
well-defined
94 unit, or entity, either real or abstract, with a well-defined role in the
well-known
72 A number of well-known researchers and programmers have analysed the utility of OOP. Here is an incomplete list:
westborough
1660 > HyperDesk (Westborough MA) HD-DOMS, rich_fraser@hyperdesk.com
whitney
1383 From: whitney@oberon.Meakins.McGill.CA ()
wide
1752 distributed computing. HP provides a wide variety of distributed-computing
wider
11 The Smalltalk language, which was developed at Xerox PARC (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67.[9] Smalltalk and with it OOP were introduced to a wider audience by the August 1981 issue of Byte Magazine.
wide-reaching
4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.
widespread
5 In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are either bundled in with the data or inherited from "class objects." These act as the intermediaries for retrieving or modifying the data they control. The programming construct that combines data with a set of methods for accessing and managing those data is called an object. The practice of using subroutines to examine or modify certain kinds of data, however, was also quite commonly used in non-OOP modular programming, well before the widespread use of object-oriented programming.
wikstrom
1136 polymorphic type system [Wikstrom 87]. Russell (see Appendix E) is a more
wildavsky
130 Wildavsky, send requests to adamw@panix.com.
wilkerson
71 Responsibility-driven design defines classes in terms of a contract, that is, a class should be defined around a responsibility and the information that it shares. This is contrasted by Wirfs-Brock and Wilkerson with data-driven design, where classes are defined around the data-structures that must be held. The authors hold that responsibility-driven design is preferable.
willis
856 Humphrey, W., Snyder, T. and Willis, R. "Software Process Improvement at
willowleaf
2695 Quality Assured Software Engineering (938 Willowleaf Dr., Suite 2806,
wilson
2329 [2] "Uniprocessor Garbage Collection Techniques," by Paul R. Wilson,
wind
2484 direct from Berard Software Engineering, Ltd., 902 Wind River
winder
2570 Purchase, Jan A. and Russel L. Winder, "Debugging tools for
wire
1741 PALO ALTO, Calif.--(BUSINESS WIRE) via First! -- Hewlett-Packard Company
wirth's
66 However, Niklaus Wirth (who popularized the adage now known as Wirth's law: "Software is getting slower more rapidly than hardware becomes faster") said of OOP in his paper, "Good Ideas through the Looking Glass", "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours" (contrast KISS principle).
workbench
2083 environments supported include CFRONT and C++ Workbench from
workflow
2191 - True messaging for workflow management and EDI
workings
234 about its inner workings. [Oxford, 1986]"
workplaces
79 Richard Mansfield, author and former editor of COMPUTE! magazine, states that "like countless other intellectual fads over the years ("relevance", communism, "modernism", and so on—history is littered with them), OOP will be with us until eventually reality asserts itself. But considering how OOP currently pervades both universities and workplaces, OOP may well prove to be a durable delusion. Entire generations of indoctrinated programmers continue to march out of the academy, committed to OOP and nothing but OOP for the rest of their lives."[38] He also is quoted as saying "OOP is to writing a program, what going through airport security is to flying".
workshop
2330 in Memory Management (proceedings of 1992 Int'l Workshop on Memory
workstation
415 Data Proc Scientific PC Workstation
world'
66 However, Niklaus Wirth (who popularized the adage now known as Wirth's law: "Software is getting slower more rapidly than hardware becomes faster") said of OOP in his paper, "Good Ideas through the Looking Glass", "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours" (contrast KISS principle).
worlds
63 Both object-oriented programming and relational database management systems (RDBMSs) are extremely common in software today. Since relational databases don't store objects directly (though some RDBMSs have object-oriented features to approximate this), there is a general need to bridge the two worlds. The problem of bridging object-oriented programming accesses and data patterns with relational databases is known as Object-Relational impedance mismatch. There are a number of approaches to cope with this problem, but no general solution without downsides.[20] One of the most common approaches is object-relational mapping, as found in libraries like Java Data Objects and Ruby on Rails' ActiveRecord.
worldwide
1754 business benefit, and offers worldwide support and training programs,
worldy
780 life-cycle models and their use. Humphrey also details Worldy and Atomic
worse
2363 man's garbage collector", are usually misguided. Reference counting has worse
worthy
65 OOP can be used to associate real-world objects and processes with digital counterparts. However, not everyone agrees that OOP facilitates direct real-world mapping (see Negative Criticism section) or that real-world mapping is even a worthy goal; Bertrand Meyer argues in Object-Oriented Software Construction that a program is not a model of the world but a model of some part of the world; "Reality is a cousin twice removed". At the same time, some principal limitations of OOP had been noted. For example, the Circle-ellipse problem is difficult to handle using OOP's concept of inheritance.
writes
80 Steve Yegge, making a roundabout comparison with Functional programming, writes, "Object Oriented Programming puts the Nouns first and foremost. Why would you go to such lengths to put one part of speech on a pedestal? Why should one kind of concept take precedence over another? It's not as if OOP has suddenly made verbs less important in the way we actually think. It's a strangely skewed perspective."
xhtml
53 The Document Object Model of HTML, XHTML, and XML documents on the Internet have bindings to the popular JavaScript
xml
53 The Document Object Model of HTML, XHTML, and XML documents on the Internet have bindings to the popular JavaScript
xti
1880 IP, NetBIOS, XTI
xx
1222 See [Booch 87b] for several examples in Ada and [Stroustrup xx] and [Murray
yacc
1347 ODMG-93 along with ODL lex and yacc files. In the future, we will be
yourdon-constantine
1444 Yourdon-Constantine SD, Martin information engineering design, Wasserman OOSD,
yves
2331 Management, Sept. 1992, St. Malo, France, Yves Bekkers and Jacques Cohen,
zool
907 crystallographically distinct forms. 3. Zool., Bot. existence of an
