28 February 2006

Stephen J Gould - Collected Quotes

"Facts do not ‘speak for themselves’; they are read in the light of theory. Creative thought, in science as much as in the arts, is the motor of changing opinion. Science is a quintessentially human activity, not a mechanized, robot-like accumulation of objective information, leading by laws of logic to inescapable interpretation." (Stephen J Gould, "Ever Since Darwin: Reflections in Natural History", 1977)

"Science, since people must do it, is a socially embedded activity. It progresses by hunch, vision, and intuition. Much of its change through time does not record a closer approach to absolute truth, but the alteration of cultural contexts that influence it so strongly. Facts are not pure and unsullied bits of information; culture also influences what we see and how we see it. Theories, moreover, are not inexorable inductions from facts. The most creative theories are often imaginative visions imposed upon facts; the source of imagination is also strongly cultural." (Stephen J Gould, "The Mismeasure of Man", 1980)

"Facts and theories are different things, not rungs in a hierarchy of increasing certainty. Facts are the world's data. Theories are structures of ideas that explain and interpret facts. Facts do not go away while scientists debate rival theories for explaining them." (Stephen J Gould "Evolution as Fact and Theory", 1981)

"Perhaps randomness is not merely an adequate description for complex causes that we cannot specify. Perhaps the world really works this way, and many events are uncaused in any conventional sense of the word." (Stephen J Gould, "Hen's Teeth and Horse's Toes", 1983)

"The progress of science requires more than new data; it needs novel frameworks and contexts. And where do these fundamentally new views of the world arise? They are not simply discovered by pure observation; they require new modes of thought. And where can we find them, if old modes do not even include the right metaphors? The nature of true genius must lie in the elusive capacity to construct these new modes from apparent darkness. The basic chanciness and unpredictability of science must also reside in the inherent difficulty of such a task." (Stephen J Gould, "The Flamingo's Smile: Reflections in Natural History", 1985)

"We often think, naïvely, that missing data are the primary impediments to intellectual progress - just find the right facts and all problems will dissipate. But barriers are often deeper and more abstract in thought. We must have access to the right metaphor, not only to the requisite information. Revolutionary thinkers are not, primarily, gatherers of facts, but weavers of new intellectual structures." (Stephen J Gould, "The Flamingo's Smile: Reflections in Natural History", 1985)

"Numbers have undoubted powers to beguile and benumb, but critics must probe behind numbers to the character of arguments and the biases that motivate them." (Stephen J Gould, "An Urchin in the Storm: Essays About Books and Ideas", 1987)

"But our ways of learning about the world are strongly influenced by the social preconceptions and biased modes of thinking that each scientist must apply to any problem. The stereotype of a fully rational and objective ‘scientific method’, with individual scientists as logical (and interchangeable) robots, is self-serving mythology." (Stephen J Gould, "This View of Life: In the Mind of the Beholder", "Natural History", Vol. 103, No. 2, 1994)

"Misunderstanding of probability may be the greatest of all impediments to scientific literacy." (Stephen J Gould, "Dinosaur in a  Haystack: Reflections in natural  history", 1995)

"Theories rarely arise as patient inferences forced by accumulated facts. Theories are mental constructs potentiated by complex external prods (including, in idealized cases, a commanding push from empirical reality)." (Stephen J Gould, "Leonardo's Mountain of Clams and the Diet of Worms", 1998) 

"The human mind delights in finding pattern - so much so that we often mistake coincidence or forced analogy for profound meaning. No other habit of thought lies so deeply within the soul of a small creature trying to make sense of a complex world not constructed for it." (Stephen J Gould, "The Flamingo's Smile: Reflections in Natural History", 2010)

22 February 2006

Robert M Pirsig - Collected Quotes

"An experiment is a failure only when it also fails adequately to test the hypothesis in question, when the data it produces don't prove anything one way or the other." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Laws of nature are human inventions, like ghosts. Laws of logic, or mathematics are also human inventions, like ghosts. The whole blessed thing is a human invention, including the idea that it isn't a human invention." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Quality is a direct experience independent of and prior to intellectual abstractions." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Technology presumes there's just one right way to do things and there never is." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"The number of rational hypotheses that can explain any given phenomenon is infinite." (Robert M. Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"The solutions all are simple - after you have arrived at them. But they're simple only when you know already what they are."(Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"The world comes to us in an endless stream of puzzle pieces that we would like to think all fit together somehow, but that in fact never do."(Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Traditional scientific method has always been at the very best 20-20 hindsight. It's good for seeing where you've been. It's good for testing the truth of what you think you know, but it can't tell you where you ought to go." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"When analytic thought, the knife, is applied to experience, something is always killed in the process." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Within a Metaphysics of Quality, science is a set of static intellectual patterns describing this reality, but the patterns are not the reality they describe." (Robert M Pirsig, "Zen and the Art of Motorcycle Maintenance", 1974)

"Data without generalization is just gossip." (Robert M Pirsig, "Lila: An Inquiry into Morals", 1991)

18 February 2006

Abraham Kaplan - Collected Quotes

"Every discipline develops standards of professional competence to which its workers are subject. [...] Every scientific community is a society in the small, so to speak, with its own agencies of social control." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

"Give a small boy a hammer, and he will find that everything he encounters needs pounding. It comes as no particular surprise to discover that a scientist formulates problems in a way which requires for their solution just those techniques in which he himself is especially skilled." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

"Measurement, we have seen, always has an element of error in it. The most exact description or prediction that a scientist can make is still only approximate." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

"The price of training is always a certain "trained incapacity": the more we know how to do something, the harder it is to learn to do it differently." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

"[…] statistical techniques are tools of thought, and not substitutes for thought." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

"We are caught up in a paradox, one which might be called the paradox of conceptualization. The proper concepts are needed to formulate a good theory, but we need a good theory to arrive at the proper concepts." (Abraham Kaplan, "The Conduct of Inquiry: Methodology for Behavioral Science", 1964)

15 February 2006

OOP: Contract (Definitions)

"A guarantee between a definer and a user. An example of a contract is the methods in an interface type. In adding the interface type to its definition, a type agrees to the contract specified by the interface type. Contracts vary from strictly enforceable, such as verifying that a function's signature conforms to a contract (syntax correctness), to assuming consistent behavior among classes implementing a common contract (semantic correctness). Semantic contracts are more difficult to specify and verify." (Damien Watkins et al, "Programming in the .NET Environment", 2002) 

[design by contract] "A paradigm stating that each software element (e.g., a method) specifies in a contract the pre-conditions it requires to run, the post-conditions it will ensure upon completion, and which invariants will remain." (Johannes Link & Peter Fröhlich, "Unit Testing in Java", 2003)

"Defines the responsibilities and postconditions that apply to the use of an operation or method. Also used to refer to the set of all conditions related to an interface." (Craig Larman, "Applying UML and Patterns", 2004)

"A service is usually described by an interface. The complete description of a service from a consumer’s point of view (signature and semantics) is called a 'well-defined interface' or contract." (Nicolai M Josuttis, "SOA in Practice", 2007)

"The complete description of a service interface between one consumer and one provider. It includes the technical interface (signature), the semantics, and nonfunctional aspects such as service-level agreements." (Nicolai M Josuttis, "SOA in Practice", 2007)

"A statement by the developer of a component about what the component does; users of the component rely on this statement to design systems using the component." (W Roy Schulte & K Chandy, "Event Processing: Designing IT Systems for Agile Companies", 2009)

"The protocol and requirements that exist between a module (e.g., class, trait, object, or even function or method) and clients of the module. More specifically, see Design by Contract." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

[data contract:] "In WCF, a data contract is one that permits the definition of messages with multiple parameters." (Bruce Bukovics, "Pro WF: Windows Workflow in .NET 4", 2010)

[design by contract] "An approach to class and module design invented by Bertrand Meyer for the Eiffel language. For each entry point, valid inputs are specified in a programmatic way, so they can be validated during testing. These specifications are called preconditions. Similarly, assuming the preconditions are specified, specifications on the guaranteed results are called postconditions and are also specified in an executable way. Invariants can also be specified that should be true on entry and on exit." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

14 February 2006

Marshall McLuhan - Collected Quotes

"When technology extends one of our senses, a new translation of culture occurs as swiftly as the new technology is interiorized." (Marshall McLuhan, "The Gutenberg Galaxy", 1962)

"Control over change would seem to consist in moving not with it but ahead of it. Anticipation gives the power to deflect and control force." (Marshall McLuhan, "Understanding Media", 1964)

"Environments are invisible. Their ground-rules, pervasive structure, and overall patterns elude easy perception." (Marshall McLuhan, "Understanding Media", 1964)

"It is experience, rather than understanding, that influences behaviour." (Marshall McLuhan, "Understanding Media", 1964)

"The 'message' of any medium or technology is the change of scale or pace or pattern that it introduces into human affairs." (Marshall McLuhan, "Understanding Media", 1964)

"The products of modern science are not in themselves good or bad; it is the way they are used that determines their value." (Marshall McLuhan, "Understanding Media", 1964)

"The specialist is one who never makes small mistakes while moving towards the grand fallacy." (Marshall McLuhan, "Understanding Media", 1964)

"Environments are not just containers, but are processes that change the content totally." (Marshall McLuhan, American Scholar Vol. 35, 1965)

"Faced with information overload, we have no alternative but pattern-recognition."(Marshall McLuhan, "Counterblast", 1969)

"The future masters of technology will have to be lighthearted and intelligent. The machine easily masters the grim and the dumb." (Marshall McLuhan, "Counterblast", 1969)

"All discoveries in art and science result from an accumulation of errors." (Marshall McLuhan, "Culture Is Our Business", 1970)

"Computers can do better than ever what needn't be done at all. Making sense is still a human monopoly." (Marshall McLuhan, "Take Today: The Executive as Dropout", 1972)

ransportation of data from point to point." (Marshall McLuhan & Eric McLuhan, "Laws of Media: The New Science", 1988)

"Without an understanding of causality there can be no theory of communication. What passes as information theory today is not communication at all, but merely transportation." (Marshall McLuhan & Eric McLuhan, "Laws of Media: The New Science", 1988)

"One of the effects of living with electric information is that we live habitually in a state of information overload. There's always more than you can cope with." (Marshall McLuhan, "Understanding Me: Lectures and Interviews" , 2003)

"Without an understanding of causality there can be no theory of communication. What passes as information theory today is not communication at all, but merely transportation." (Marshall McLuhan, "The Book of Probes : Marshall McLuhan", 2011) 

"As information becomes our environment, it becomes mandatory to program the environment itself as a work of art." (Marshall McLuhan)

"By simply moving information and brushing information against information, any medium whatever creates vast wealth." (Marshall McLuhan)

"Effects are perceived, whereas causes are conceived. Effects always precede causes in the actual developmental order." (Marshall McLuhan)

"When new technologies impose themselves on societies long habituated to older technologies, anxieties of all kinds result." (Marshall McLuhan)

08 February 2006

OOP: Polymorphism (Definitions)

"Literally, from the Greek for many forms, and refers to the ability of different objects to respond differently to the same commands." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The ability to treat many sub-types as if they were of the same base type." (Jesse Liberty, "Sams Teach Yourself C++ in 24 Hours" 3rd Ed., 2001)

"The capability of objects from different classes to accept the same message." (Stephen G Kochan, "Programming in Objective-C", 2003)

"The concept that two or more classes of objects can respond to the same message in different ways, using polymorphic operations. Also, the ability to define polymorphic operations." (Craig Larman, "Applying UML and Patterns", 2004)

"In object-oriented design, the principle that the same definition can be used with different types of data (specifically, different class implementations), resulting in more general and abstract implementations." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"The redefinition of the body of a superclass method inherited by a subclass. The polymorphic method retains the same signature." (Jan L Harrington, "SQL Clearly Explained" 3rd Ed., 2010)

"The ability of a piece of code to work with more than one type." (Mark C Lewis, "Introduction to the Art of Programming Using Scala", 2012)

"The notion that you can tell an object to do something generic, and the object will interpret the command in different ways depending on its type." (Jon Orwant et al, "Programming Perl, 4th Ed.", 2012)

"The ability of a language to determine at runtime which of several possible methods will be executed for a given invocation" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"The ability to treat a child object as if it were actually from a parent class. For example, it lets you treat a Student object as if it were a Person object because a Student is a type of Person." (Rod Stephens, "Beginning Software Engineering", 2015)

"Two objects can receive the same input and have different outputs." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"The ability of an object variable to reference objects of different classes at different times during the execution of a program" (Nell Dale et al, "Object-Oriented Data Structures Using Java" 4th Ed., 2016)

"One of the fundamental principles of an object-oriented language. Polymorphism states that a type that extends another type is a “kind of” the parent type and can be used interchangeably with the original type by augmenting or refining its capabilities." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

07 February 2006

Albert Einstein - Collected Quotes

“As soon as science has emerged from its initial stages, theoretical advances are no longer achieved merely by a process of arrangement. Guided by empirical data, the investigator rather develops a system of thought which, in general, is built up logically from a small number of fundamental assumptions, the so-called axioms. We call such a system of thought a theory. The theory finds the justification for its existence in the fact that it correlates a large number of single observations, and it is just here that the 'truth' of the theory lies. “ (Albert Einstein: “Relativity: The Special and General Theory”, 1916)

“No fairer destiny could be allotted to any physical theory, than that it should of itself point out the way to the introduction of a more comprehensive theory, in which it lives on as a limiting case.” (Albert Einstein: “Relativity, The Special and General Theory”, 1916)

“It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.” (Albert Einstein, [lecture] 1933)

"Most of the fundamental ideas of science are essentially simple, and may, as a rule, be expressed in a language comprehensible to everyone."  (Albert Einstein & Leopold Infeld, ”The Evolution of Physics”, 1938) 

"A theory is the more impressive the greater the simplicity of its premises is, the more different kinds of things it relates, and the more extended its area of applicability." (Albert Einstein, "Autobiographical Notes", 1949)

“The mere formulation of a problem is often far more essential than its solution. To raise new questions, new possibilities, to regard old problems from a new angle, requires creative imagination and marks real advances in science.” (Albert Einstein)

"To raise new questions, new possibilities, to regard old problems from a new angle, requires creative imagination and marks real advance in science." (Albert Einstein)

“We can not solve our problems with the same level of thinking that created them.” (Albert Einstein)

OOP: Abstraction (Definitions)

"A view of a problem that extracts the essential information relevant to a particular purpose and ignores the remainder of the information." (IEEE, 1983)

"[A] simplified description, or specification, of a system that emphasizes some of the system's details or properties while suppressing others. A good abstraction is one that emphasizes details that are significant to the reader or user and suppress details that are, at least for the moment, immaterial or diversionary." (M Shaw, Abstraction Techniques in Modern Programming Languages", IEEE Software Vol. 1 (4), 1984)

"[abstraction:] (1) A view of an object that focuses on the information relevant to a particular purpose and ignores the remainder of the information.(2) The process of formulating a view as in (1)."(IEEE," IEEE Standard Glossary of Software Engineering Terminology", 1990)  

"[data abstraction:] (1) The process of extracting the essential characteristics of data by defining data types and their associated functional characteristics and disregardng representation details. (2) The result of the process in (1)." (IEEE," IEEE Standard Glossary of Software Engineering Terminology", 1990) 

"Abstraction is a process whereby we identify the important aspects of a phenomenon and ignore its details." (Ghezzi et al, Fundamentals of Software Engineering, 1991)

"Abstraction is generally defined as 'the process of formulating generalised concepts by extracting common qualities from specific examples.'" (Blair et al, "Object-Oriented Languages, Systems and Applications", 1991)

"An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of object and thus provide crisply defined conceptual boundaries, relative to the perspective of the viewer." (Grady Booch, Object-Oriented Design With Applications, 1991)

"The act of concentrating the essential or general qualities of similar things. Also, the resulting essential characteristics of a thing." (Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process", 1997)

"Abstraction is the purposeful suppression, or hiding, of some details of a process or artifact, in order to bring out more clearly other aspects, details, or structure." (Timothy Budd, "An Introduction to Object-Oriented Programming" 3rd Ed., 2002)

"Abstraction can have several meanings depending on the context. In software, it often means combining a set of small operations or data items and giving them a name. For example, control abstraction takes a group of operations, combines them into a procedure, and gives the procedure a name. As another example, a class in object-oriented programming is an abstraction of both data and control. More generally, an abstraction is a representation that captures the essential character of an entity, but hides the specific details. Often we will talk about a named abstraction without concern for the actual details, which may not be determined." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"Abstraction, as a process, denotes the extracting of the essential details about an item, or a group of items, while ignoring the inessential details. Abstraction, as an entity, denotes a model, a view, or some other focused representation for an actual item." (Edward V Berard, "Abstraction, Encapsulation, and Information Hiding", cca. 2006)

"The idea of minimizing the complexity of something by hiding the details and just providing the relevant information. It’s about providing a high-level specification rather than going into lots of detail about how something works. In the cloud, for instance, in an IaaS delivery model, the infrastructure is abstracted from the user." (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"Minimizing the complexity of something by hiding the details and just providing the relevant information. It’s about providing a high-level specification rather than going into a lot of detail about how something works. In the cloud, for instance, in an IaaS delivery model, the infrastructure is abstracted from the user." (Judith S Hurwitz, "Cognitive Computing and Big Data Analytics", 2015)

"A model of a complex system that includes only the details essential to the viewer" (Nell Dale & John Lewis, "Computer Science Illuminated, 6th Ed.", 2015)

"The capability to suppress unnecessary details so the important, inherent properties can be examined and reviewed." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"A model of a system that includes only the details essential to the perspective of the viewer of the system" (Nell Dale et al, "Object-Oriented Data Structures Using Java" 4th Ed., 2016)

"Way of expressing an idea in a specific context while at the same time suppressing details irrelevant in that context." (Karl Beecher, "Computational Thinking - A beginner's guide to problem-solving and programming", 2017)

"The act of representing essential features while hiding the details to reduce complexity." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"The deliberate reduction in dependency between a component and other components it works with is a way to make the component generally more useful." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

03 February 2006

OOP: Visibility (Definitions)

[COM Visibility:] "Indicates whether a .NET type or member is accessible from COM. Anything public in .NET is visible to COM unless it’s marked with the ComVisibleAttribute custom attribute with its argument set to false, or its containing assembly is marked with the attribute with its argument set to false." (Adam Nathan, ".NET and COM: The Complete Interoperability Guide", 2002)

"The level of access granted to other classes or variables. Indicates whether something can be 'seen' from a location in a program." (Marcus Green & Bill Brogden, "Java 2™ Programmer Exam Cram™ 2 (Exam CX-310-035)", 2003)

"The ability to see or have reference to an object." (Craig Larman, "Applying UML and Patterns", 2004)

"Ability to enforce fine-grained access to and operations on data at the record, attribute, and attribute-value levels based on user entitlements and data usage and access policies." (Alex Berson & Lawrence Dubov, "Master Data Management and Data Governance", 2010)

"An attribute of operation in object-oriented design that tells whether the operation can be 'seen' by any program, or whether it is 'private' - only accessible within the model involved." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"The scope in which a declared type or type member is visible to other types and members." (Dean Wampler, "Functional Programming for Java Developers", 2011)

02 February 2006

OOP: Encapsulation (Definitions)

"It is a simple, yet reasonable effective, system-building tool. It allows suppliers to present cleanly specified interfaces around the services they provide. A consumer has full visibility to the procedures offered by an object, and no visibility to its data. From a consumer's point of view, and object is a seamless capsule that offers a number of services, with no visibility as to how these services are implemented [...] technical term for this is encapsulation." (Brad J Cox, "Object Oriented Programming: An Evolutionary Approach", 1986)

A software development technique that consists of isolating a system function or a set of data and operations on those data within a module and providing precise specifications for the module. (IEEE," IEEE Standard Glossary of Software Engineering Terminology", 1990)

"The concept of encapsulation as used in an object-oriented context is not essentially different from its dictionary definition. It still refers to building a capsule, in the case a conceptual barrier, around some collection of things." (Rebecca Wirfs-Brock et al, "Designing Object-Oriented Software", 1990]

"Encapsulation or equivalently information hiding refers to the practice of including within an object everything it needs, and furthermore doing this in such a way that no other object need ever be aware of this internal structure." (Ian Graham, "Object-Oriented Methods", 1991]

"Data hiding is sometimes called encapsulation because the data and its code are put together in a package or 'capsule.'" (David N Smith, "Concepts of Object-Oriented Programming", 1991)

"Encapsulation is used as a generic term for techniques which realize data abstraction. Encapsulation therefore implies the provision of mechanisms to support both modularity and information hiding. There is therefore a one to one correspondence in this case between the technique of encapsulation and the principle of data abstraction." (Gordon Blair et al, "Object-Oriented Languages, Systems and Applications", 1991)

"Encapsulation (also information hiding) consists of separating the external aspects of an object which are accessible to other objects, from the internal implementation details of the object, which are hidden from other objects." (James Rumbaugh et al, "Object-Oriented Modeling and Design", 1991)

"[...] encapsulation - also known as information hiding - prevents clients from seeing its inside view, were the behavior of the abstraction is implemented." (Grady Booch, "Object-Oriented Design With Applications", 1991)

"We say that the changeable, hidden information becomes the secret of the module; also, according to a widely used jargon, we say that such information is encapsulated within the implementation." (Carlo Ghezzi et al, "Fundamentals of Software Engineering", 1991]

"As a process, encapsulation means the act of enclosing one or more items within a (physical or logical) container. Encapsulation, as an entity, refers to a package or an enclosure that holds (contains, encloses) one or more items. It is extremely important to note that nothing is said about 'the walls of the enclosure'. Specifically, they may be 'transparent', 'translucent', or even 'opaque'." Compare with information hiding, which implies invisibility." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"Encasing information and behavior within an object so that its structure and implementation are hidden to other objects that interact with it." (Marcus Green & Bill Brogden, "Java 2 Programmer Exam Cram 2 (Exam CX-310-035)", 2003)

"A mechanism used to hide the data, internal structure, and implementation details of some element, such as an object or subsystem. All interaction with an object is through a public interface of operations." (Craig Larman, "Applying UML and Patterns", 2004)

"An object-oriented technique that may hide, or abstract, the inner workings of an object and expose only the relevant characteristics and operations on the object to other objects." (Bob Bryla, "Oracle Database Foundations", 2004)

"Restricting the visibility of members of a type so they are not visible to clients of the type when they shouldn’t be. This is a way of exposing only the abstraction supported by the type, while hiding implementation details, which prevents unwanted access to them from clients and keeps the abstraction exposed by the type consistent and minimal." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"In object-oriented design, the principle that it should be possible to refer to an object with behavior and not know anything about how that behavior is implemented." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"Detail hiding. A class hides its internal details so the rest of the program doesn't need to understand how they work, just how to use them." (Rod Stephens, "Stephens' Visual Basic® Programming 24-Hour Trainer", 2011)

"(1) A language mechanism for restricting access to some of an object’s components. (2) A language construct that facilitates the bundling of data with methods (or other functions) operating on that data." (Craig S Mullins, "Database Administration: The Complete Guide to DBA Practices and Procedures", 2012)

"The veil of abstraction separating the interface from the implementation (whether enforced or not), which mandates that all access to an object’s state be through methods alone." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A language feature that enforces information hiding; bundling data and actions so that the logical properties of data and actions are separated from the implementation details" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"The bundling of data with the procedures that operate on that data, such that data may only be changed by those procedures - a technique for reducing program complexity." (O Sami Saydjari, "Engineering Trustworthy Systems", 2018)

"The object-oriented programming technique of limiting the exposure of variables and methods to simplify the API of a class or package. Using the private and protected keywords, a programmer can limit the exposure of internal ('black box') parts of a class. Encapsulation reduces bugs and promotes reusability and modularity of classes. This technique is also known as data hiding." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

01 February 2006

OOP: Inheritance (Definitions)

"Creating a new type that can extend the characteristics of an existing type." (Jesse Liberty, "Sams Teach Yourself C++ in 24 Hours" 3rd Ed., 2001)

"The ability of one data object to gain characteristics from another object." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The process of passing methods and instance variables from a class, starting with the root object down to subclasses." (Stephen G Kochan, "Programming in Objective-C", 2003)

"A feature of object-oriented programming languages by which classes may be specialized from more general superclasses. Attributes and method definitions from superclasses are automatically acquired by the subclass." (Craig Larman, "Applying UML and Patterns", 2004)

"Acquiring the properties of the parent, or base object, in a new object." (Bob Bryla, "Oracle Database Foundations", 2004)

"The ability of a class to inherit features from another class via the < operator. See multiple inheritance, single inheritance." (Michael Fitzgerald, "Learning Ruby", 2007)

"A strong relationship between one class or trait and another class or trait. The inheriting (derived) class or trait incorporates the members of the parent class or trait, as if they were defined within the derivative. The derivative may override inherited members (in most cases). Instances of a derivative are substitutable for instances of the parent." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"A general to specific relationship between classes in an object-oriented environment." (Jan L Harrington, "SQL Clearly Explained 3rd Ed. ", 2010)

"A strong coupling between one class or interface and another. The inheriting (derived) class or interface incorporates the members of the parent class or interface, as if they were defined within the derivative. Hence, inheritance is a form of reuse. The derivative may override inherited members (unless declared final). For a properly defined derived type, instances of it are substitutable for instances of the parent, satisfying the Liskov Substitution Principle." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"The process of passing methods and instance variables from a class, starting with the root object, down to subclasses." (Stephen G Kochan, "Programming in Objective-C" 4th Ed., 2011)

"What you get from your ancestors, genetically or otherwise. If you happen to be a class, your ancestors are called base classes and your descendants are called derived classes. See single inheritance and multiple inheritance." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"Building a class from the basic functionality of an existing class and then adding new functions." (Matt Telles, "Beginning Programming", 2014)

"A mechanism by which one class acquires the properties - data fields and methods - of another class" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"An important feature of object-oriented programming that involves defining a new object by changing or refining the behavior of an existing object. Through inheritance, an object implicitly contains all of the non-private variables and methods of its superclass. Java supports single inheritance of classes and multiple inheritance of interfaces." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.