13 January 2006

OOP: Aggregation (Definitions)

"A form of Unified Modeling Language (UML) association that denotes the grouping of multiple instances of one class into a composite entity." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling" 2nd Ed., 2005)

"Aggregation is the process of compiling information on an object, thereby abstracting a higher-level object." (S. Sumathi & S. Esakkirajan, "Fundamentals of Relational Database Management Systems", 2007)

"A special type of abstraction relationship that defines a higher-level entity that is an aggregate of several lower-level entities; a 'part-of' type relationship. For example, a bicycle entity would be an aggregate of wheel, handlebar, and seat entities." (Toby J Teorey, ", Database Modeling and Design" 4th Ed., 2010)

"In an object-oriented environment, a class that manages objects created from another class." (Jan L Harrington, "SQL Clearly Explained" 3rd Ed., 2010)



10 January 2006

OOP: Subclass (Definitions)

"A class that extends another class directly or indirectly. In Java, all classes (except Object itself) are subclasses of the class Object." (Marcus Green & Bill Brogden, "Java 2™ Programmer Exam Cram™ 2 (Exam CX-310-035)", 2003)

"Also known as a child class, a subclass inherits the methods and instance variables from its parent or superclass." (Stephen G Kochan, "Programming in Objective-C", 2003)

"A specialization of another class (the superclass). A subclass inherits the attributes and methods of the superclass." (Craig Larman, "Applying UML and Patterns", 2004)

"A class that is derived from a parent or superclass. Compare with superclass." (Michael Fitzgerald, "Learning Ruby", 2007)

"A class at the 'specific' end of an inheritance relationship; a child class." (Jan L Harrington, "SQL Clearly Explained" 3rd Ed., 2010)

"A class that is derived from a parent class. Also called a sub class or derived class." (Rod Stephens, "Start Here!™ Fundamentals of Microsoft® .NET Programming", 2011)

"The act of making a subclass from a parent class." (Rod Stephens, "Start Here!™ Fundamentals of Microsoft® .NET Programming", 2011)

"A class that defines some of its methods in terms of a more generic class, called a base class. Note that classes aren’t classified exclusively into base classes or derived classes: a class can function as both a derived class and a base class simultaneously, which is kind of classy." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A class derived from a parent class. The child class inherits properties, methods, and events from the parent class." (Rod Stephens, "Beginning Software Engineering", 2015)

"If class A inherits from class B, then we say that 'A is a subclass of B'" (Nell Dale et al, "Object-Oriented Data Structures Using Java" 4th Ed., 2016)

"A class that extends another. The subclass inherits the public and protected methods and variables of its superclass. See also extends." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

07 January 2006

OOP: Interface (Definitions)

"A contract that specifies the members a class or struct can implement to receive generic services for that type." (Jesse Liberty, "Programming C#" 2nd Ed., 2002)

"In Java, an interface is similar to a class definition, except that no detailed implementation of methods is provided. A class that implements an interface must provide the code to implement the methods. You can think of an interface as defining a contract between the calling method and the class that implements the interface." (Marcus Green & Bill Brogden, "Java 2™ Programmer Exam Cram™ 2 (Exam CX-310-035)", 2003)

"A set of signatures of public operations." (Craig Larman, "Applying UML and Patterns", 2004)

"A defined set of properties, methods, and collections that form a logical grouping of behaviors and data. Classes are defined by the interfaces that they implement. An interface can be implemented by many different classes." (Jim Joseph et al, "Microsoft SQL Server 2008 Reporting Services Unleashed", 2009)

"The specification of the means by which services can be invoked and data can be manipulated across an encapsulation boundary (e.g., class)." (Bruce P Douglass, "Real-Time Agility", 2009)

"The externally visible definition of the operations permitted on an application component." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"Defines a set of members that a class can provide." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"Defines public properties, methods, and events that a class must provide to satisfy the interface." (Rod Stephens, "Stephens' Visual Basic Programming 24-Hour Trainer", 2011)

"A defined set of properties, methods, and collections that form a logical grouping of behaviors and data." (Microsoft, "SQL Server 2012 Glossary", 2012)

"The services a piece of code promises to provide forever, in contrast to its implementation, which it should feel free to change whenever it likes." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A keyword used to declare an interface." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

04 January 2006

🧿Sriram Narayan - Collected Quotes

"A dashboard is like the executive summary of a report. We read executive summaries and skip the body of the report if the summary is more or less in line with our expectations. Trouble is, measurement is never exhaustive. It is only when we dive in that we realize what areas may have been missed." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"A project plan is a prediction. It predicts that a team of N people will complete X amount of work by Y date." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"A software team can get severely constrained when a velocity target is imposed on it. Velocity works well as a measurement, not as a target. Targets limit choice of actions. A team may find itself unable to address technical debt if it is constrained by velocity targets. At a certain threshold of constraints, team members lose the sense of empowerment (autonomy)." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"A value stream is a series of activities required to deliver an outcome. The software development value stream may be described as: validate business case, analyze, design, build, test, deploy, learn from usage analytics and other feedback - rinse and repeat." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Although essential, governance is an activity, not an outcome. This makes it risky to grant autonomy to a pure governance team. Instead, it is better to constitute each area of governance as a community of practice consisting of practitioners from various capability teams." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"[…] an overall green status indicator doesn’t mean anything most of the time. All it says is that the things under measurement seem okay. But there always will be many more things not under measurement. To celebrate green indicators is to ignore the unknowns. […] The tendency to roll up metrics into dashboards promotes ignorance of the real situation on the ground. We forget that we only see what is under measurement. We only act when something is not green." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Business strategy comes first. IT can be aligned with business provided that business strategy is commonly understood and accepted. Sometimes, this first step itself is a hurdle. Business strategy may exist in the heads of the execs but it may not be articulated or shared beyond vision, mission, and a plan for the year." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"[…] culture cannot be changed directly. It changes as a result of changes to organizational beliefs and rituals." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Development is a design process. Design processes are generally evaluated by the value they deliver rather than a conformance to plan. Therefore, it makes sense to move away from plan-driven projects and toward value-driven projects. […] The realization that the source code is part of the design, not the product, fundamentally rewires our understanding of software." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"DevOps recognizes the importance of culture. The acronym CAMS (culture, automation, measurement, and sharing) is used to encapsulate its key themes. Culture is acknowledged as all important in making development and IT operations work together effectively. But what is culture in this context? It is not so much about an informal dress code, flexible hours, or a free in-house cafeteria as it is about how decisions are taken, norms of behavior, protocols of communication, and the ways of navigating hierarchy and bureaucracy to get things done." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Feedback is what makes it iterative; otherwise, it is just mini-waterfall. Merely splitting use cases into stories does not make for iterative development if we wait until all stories are developed before we seek feedback. The point of splitting is to get feedback faster so that it can be incorporated into ongoing development. However, seeking stakeholder/user feedback for small batches of functionality (stories) is often not feasible with formal stage-gate processes. They were conceived with linear flows of large batches in mind." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Good user stories are expected to be independent, negotiable, valuable, estimable, small, and testable (mnemonic INVEST). Good tasks are expected to be specific, measurable, achievable, relevant, and time-boxed (mnemonic SMART). The key difference is that tasks need not be independent or valuable by themselves." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Grouping a bunch of related fine-grained metrics into an aggregate metric works better than handling them individually. This is commonly achieved by defining an aggregate metric as a weighted sum of contributory metrics. It is the sort of technique used in credit scoring, insurance risk scoring, or the points system for immigration. Thresholds are then set on the aggregate score to define different categories of eligibility." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"In order to control where a team devotes its energies, all you need to do is to impose a bunch of targets and track progress at regular intervals. For greater control, increase the range of targets and track more frequently. This is called micromanagement and is universally detested by teams. Doing so increases reporting overhead but rarely improves team performance." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"In order to cultivate a culture of accountability, first it is essential to assign it clearly. People ought to clearly know what they are accountable for before they can be held to it. This goes beyond assigning key responsibility areas (KRAs). To be accountable for an outcome, we need authority for making decisions, not just responsibility for execution. It is tempting to refrain from the tricky exercise of explicitly assigning accountability. Executives often hope that their reports will figure it out. Unfortunately, this is easier said than done." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"In the context of an organization, to have autonomy is to be empowered, not just feel empowered. […] But it does not mean being a lone wolf or being siloed or cut off from the rest of the organization." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Language influences thought, tools influence action. Therefore, it matters a lot how we choose our tools. We shape our tooling and access landscape, and thereafter they shape the contours of our collaboration. When we choose a lot of different specialty tools, they in turn nudge us into different specialty groups." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Many problems stem from a premature attempt at scaling Agile within the organization. The nature of the transformation is such that it is unrealistic to plan upfront for an 18-month organization-wide change program to go from status quo to continuous delivery. People try nevertheless, and when the outcomes don’t materialize, they say Agile doesn’t work." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Rolling up fine-grained metrics to create high-level dashboards puts pressure on teams to keep the fine-grained metrics green even when it might not be the best use of their time." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Scaling supervision using metrics is one thing; scaling results is quite another. The former doesn’t automatically ensure the latter." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Self-organizing teams need autonomy. […] Autonomy allows us to act on the opportunity that purpose provides. Mastery then lets us service the opportunity with a degree of excellence. Targets distort purpose, limit autonomy, and disregard mastery." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015) 

"Some hierarchy is essential for the effective functioning of an organization. Eliminating hierarchy has the frequent side effect of slowing down decision making and diffusing accountability." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Strategy is ineffective if it cannot be articulated in terms of day-to-day tradeoffs." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Teams motivated by targets tend not to take ownership of problems. They attend only to those aspects that affect targets and leave the rest to be picked up by someone else. To some extent, the problem isn’t the target itself but rather the incentive behind the target." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"[…] the practice of continuous integration helps a development team fail-fast in integrating code under development. A corollary of failing fast is to aim for fast feedback. The practice of regularly showcasing (demoing) features under development to product owners and business stakeholders helps them verify whether it is what they asked for and decide whether it is what they really want." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"There is common but flawed notion in enterprise IT circles that maintenance work requires less skill than full-scale development. As a result, project sponsors looking to reduce cost opt for a different team of lower-cost people for maintenance work. This is false economy. It hurts the larger business outcome and reduces IT agility." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"This is what the Agile Manifesto means when it says responding to change over following a plan. To maximize adaptability, it is essential to have good, fast feedback loops. This is why there is so much emphasis on iterative development." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"Whatever way we organize, the unit of organization is a team, and any team can turn into a silo if it acts in an insular manner. Therefore, in a sense, we can’t eliminate silos but only try to design around their side effects." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"When a team is held to targets, it begins to look out for itself. It prioritizes the achievement of its own targets over that of its neighboring teams or parent organizational unit. We know from systems theory that local optima do not necessarily lead to global optimum. On the contrary, a global optimum may call for all subsystems to be at local suboptima." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"[…] when different types of specialists use common tools, techniques, and practices for similar activities, it creates a fertile common ground for cross-functional collaboration." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

"When people use different tools for similar activities (e.g., version control, work tracking, documentation), they tend to form groups (camps) around tool usage boundaries. […] The more we are invested in certain tools, the greater the likelihood of deriving a part of our identity from the tool and its ecosystem." (Sriram Narayan, "Agile IT Organization Design: For Digital Transformation and Continuous Delivery", 2015)

OOP: Object (Definitions)

"The type all other types derive from." (Jesse Liberty, "Programming C# 2nd Ed.", 2002)

"A set of variables and associated methods. An object can be sent messages to cause one of its methods to be executed." (Stephen G Kochan, "Programming in Objective-C", 2003)

"A specific instance of a class." (Marcus Green & Bill Brogden, "Java 2™ Programmer Exam Cram™ 2 (Exam CX-310-035)", 2003)

"In the UML, an instance of a class that encapsulates state and behavior. More informally, an example of a thing." (Craig Larman, "Applying UML and Patterns", 2004)

"An instance of a class, a thing, an entity, or a concept that is represented in contiguous memory in a computer. See instance, class." (Michael Fitzgerald, "Learning Ruby", 2007)

"A unique instance of a data structure defined according to the template provided by its class. Each object has its own values for the variables belonging to its class, and can respond to the methods defined by its class." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"A cohesive unit with a particular state, possible state transitions, and behaviors. In Scala, the keyword object is used to declare a singleton explicitly, using the same syntax as class declarations, except for the lack of constructor parameters and auxiliary parameters (because objects are instantiated by the Scala runtime, not by user code). To avoid confusion with objects, we use the term instance to refer to instances of classes and objects generically." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"A cohesive unit with a particular state, possible state transitions, and behaviors. In Java, an object is an instance of a class." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"A structure consisting of data and methods together with their interactions. An object is not just data, but the encapsulation of its state (data) and behavior (methods)." (Craig S Mullins, "Database Administration", 2012)

"An instance of a class. Something that 'knows' what user-defined type (class) it is, and what it can do because of what class it is. Your program can request an object to do things, but the object gets to decide whether it wants to do them or not. Some objects are more accommodating than others." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A passive entity that contains or receives information. Access to an object potentially implies access to the information that it contains. Examples of objects include records, pages, memory segments, files, directories, directory trees, and programs." (Shon Harris & Fernando Maymi, "CISSP All-in-One Exam Guide, 8th Ed", 2018)

"In object-oriented design or programming, an abstraction that consists of data and operations associated with that data." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"In an object-oriented programming context, an object is an instance of a class or type." (Alex Thomas, "Natural Language Processing with Spark NLP", 2020)

"The fundamental structural unit of an object-oriented programming language, encapsulating a set of data and behavior that operates on that data." (Daniel Leuck et al, "Learning Java, 5th Ed.", 2020)

"An instance of a class." (Rod Stephens, "Beginning Software Engineering", 2015)

"An entity or thing that is relevant in the context of a problem" (Nell Dale & John Lewis, "Computer Science Illuminated, 6th Ed.", 2015)

03 January 2006

OOP: Class Diagram (Definitions)

"A Unified Modeling Language (UML) design artifact that shows the object classes and associations that exist between them. This is the rough UML equivalent of a data model." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling" 2nd Ed., 2005)

"A conceptual data model; a model of the static relationships between data elements of a system (similar to an ER diagram)." (Toby J Teorey, "Database Modeling and Design" 4th Ed., 2010)

"A type of diagram that shows a system's classes, contents, attributes, and relationships, including inheritance. UML is a common format for a class diagram." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes." (IQBBA, "Standard glossary of terms used in Software Engineering", 2011)

"Used to represent data and their relationships in UML object modeling system notation." (Carlos Coronel et al, "Database Systems: Design, Implementation, and Management" 9th Ed., 2011)

"In UML, a diagram that describes the classes that make up the system, their properties and methods, and their relationships." (Rod Stephens, "Beginning Software Engineering", 2015)

02 January 2006

OOP: Instance (Definitions)

"A concrete representation of a class. Instances are objects that are typically created by sending an alloc or new message to a class object." (Stephen G Kochan, "Programming in Objective-C", 2003)

"An object of a particular class is called an instance of that class." (Marcus Green & Bill Brogden, "Java 2 Programmer Exam Cram 2 (Exam CX-310-035)", 2003)

"An individual member of a class. In the UML, called an object." (Craig Larman, "Applying UML and Patterns", 2004)

"A concrete representation of a class. Instances are objects that are typically created by sending an alloc or new message to a class object." (Stephen G Kochan, "Programming in Objective-C" 4th Ed., 2011)

"A specific object that is of a class type." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"An instance of a class is an object of the class's type. Different instances of the same class have the same properties, methods, and events but they may have different property values." (Rod Stephens, "Stephens' Visual Basic Programming 24-Hour Trainer", 2011)

"Another term for an object created by invoking a class constructor or a value of a primitive type." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"(1) An occurrence of an entity. (2) The implementation of a database server (e.g., an Oracle instance)." (Craig S Mullins, "Database Administration: The Complete Guide to DBA Practices and Procedures 2nd Ed", 2012)

"In a map pattern one invocation of an elemental function on one element of the map." (Michael McCool et al, "Structured Parallel Programming", 2012)

"Short for 'an instance of a class', meaning an object of that class." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"One occurrence of something that has many occurrences, such as entities or objects." (James Robertson et al, "Complete Systems Analysis: The Workbook, the Textbook, the Answers", 2013)

"An entity to which a set of operations can be applied and that has a state that stores the effects of the operations." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"An occurrence of something, usually an object. When a class is instantiated to produce an object, we say the object is an instance of the class." (Daniel Leuck et al, "Learning Java, 5th Ed.", 2020)

01 January 2006

🧿Tim Berners-Lee - Collected Quotes

"In providing a system for manipulating this sort of information, the hope would be to allow a pool of information to develop which could grow and evolve with the organisation and the projects it describes. For this to be possible, the method of storage must not place its own restraints on the information." (Tim Berners-Lee, "Information Management: A Proposal", 1989)

"Non-centralisation: Information systems start small and grow. They also start isolated and then merge. A new system must allow existing systems to be linked together without requiring any central control or coordination." (Tim Berners-Lee, "Information Management: A Proposal", 1989)

"The actual observed working structure of the organisation is a multiply connected 'web' whose interconnections evolve with time." (Tim Berners-Lee, "Information Management: A Proposal", 1989)

"This is why a 'web' of notes with links (like references) between them is far more useful than a fixed hierarchical system. When describing a complex system, many people resort to diagrams with circles and arrows. Circles and arrows leave one free to describe the interrelationships between things in a way that tables, for example, do not. The system we need is like a diagram of circles and arrows, where circles and arrows can stand for anything." (Tim Berners-Lee, "Information Management: A Proposal", 1989)

"We should work toward a universal linked information system, in which generality and portability are more important than fancy graphics techniques and complex extra facilities. The aim would be to allow a place to be found for any information or reference which one felt was important, and a way of finding it afterwards. The result should be sufficiently attractive to use that it the information contained would grow past a critical threshold, so that the usefulness the scheme would in turn encourage its increased use." (Tim Berners-Lee, "Information Management: A Proposal", 1989)

"A computer typically keeps information in rigid hierarchies and matrices, whereas the human mind has the special ability to link random bits of data." (Tim Berners-Lee, "Weaving the Web", 1999)

"An intriguing possibility, given a large hypertext database with typed links, is that it allows some degree of automatic analysis. [ . . . ] Imagine making a large three-dimensional model, with people represented by little spheres, and strings between people who have something in common at work. Now imagine picking up the structure and shaking it, until you make some sense of the tangle: Perhaps you see tightly knit groups in some places, and in some places weak areas of communication spanned by only a few people. Perhaps a linked information system will allow us to see the real structure of the organization in which we work." (Tim Berners-Lee, "Weaving the Web", 1999)

"I have a dream for the Web [...] and it has two parts. In the first part, the Web becomes a much more powerful means for collaboration between people. I have always imagine  the information space as something to which everyone has immediate and intuitive access, and not just to browse, but to create. Furthermore, the dream of people-to-people communication through shared knowledge must be possible for groups of all sizes, interacting electronically with as much ease as they do now in person." (Tim Berners-Lee, "Weaving the Web", 1999)

"The first form of semantic data on the Web was metadata information about information. (There happens to be a company called Metadata, but I use the term here as a generic noun, as it has been used for many years.) Metadata consist of a set of properties of a document. By definition, metadata are data, as well as data about data. They describe catalogue information about who wrote Web pages and what they are about; information about how Web pages fit together and relate to each other as versions; translations, and reformattings; and social information such as distribution rights and privacy codes." (Tim Berners-Lee, "Weaving the Web", 1999)

"The web is more a social creation than a technical one. I designed it for a social effect - to help people work together - and not as a technical toy. The ultimate goal of the Web is to support and improve our web-like existence in the world. We clump into families, associations, and companies. We develop trust across the miles and distrust around the corner." (Tim Berners-Lee, "Weaving the Web", 1999)

"What we believe, endorse, agree with, and depend on is representable and, increasingly, represented on the Web. We all have to ensure that the society we build with the Web is the sort we intend." (Tim Berners-Lee, "Weaving the Web", 1999)

"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." (Tim Berners-Lee et al, "The Semantic Web", Scientific American, 2001)

"The Web does not just connect machines, it connects people." (Tim Berners-Lee, [speech] 2008)

"If Web 2.0 for you is blogs and wikis, then that is people to people. But that was what the Web was supposed to be all along." (Tim Berners-Lee, [interview])

"One of the powerful things about networking technology like the Internet or the Web or the Semantic Web [...] is that the things we've just done with them far surpass the imagination of the people who invented them." (Tim Berners-Lee)

"The first step is putting data on the Web in a form that machines can naturally understand, or converting it to that form. This creates what I call a Semantic Web-a web of data that can be processed directly or indirectly by machines." (Tim Berners-Lee)

"The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect." (Tim Berners-Lee)

OOP: Class (Definitions)

"In object-oriented software design, a blueprint or set of specifications that defines the characteristics of an object and describes how the object should behave. In Object Role Modeling, an object role model can be used as the basis for an entity-relationship-attribute logical data model. The data can then be easily shared with other applications in the enterprise to form an enterprise logical model. In Microsoft Repository, an information model includes classes, relationships, and properties. This information model can be shared across the enterprise." (Microsoft Corporation, "Microsoft SQL Server 7.0 Data Warehouse Training Kit", 2000)

"A description of an object and its properties." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The definition of a new type. A class is implemented as data and related functions." (Jesse Liberty, "Sams Teach Yourself C++ in 24 Hours" 3rd Ed., 2001)

"The specification of an object type in object-oriented programming (OOP), although not all OOP languages use this term." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"An extendable reference type that combines data and functionality into one unit." (Jesse Liberty, "Programming C# "2nd Ed., 2002)

"A set of instance variables and methods that have access to those variables. After a class is defined, instances of the class (that is, objects) can be created." (Stephen G Kochan, "Programming in Objective-C", 2003)

"In the UML, “The descriptor of a set of objects that share the same attributes, operations, methods, relationships, and behavior” [RJB99]. May be used to represent software or conceptual elements." (Craig Larman, "Applying UML and Patterns", 2004)

"A collection of code, including methods and variables called members. The code in a class sets the rules for objects of the given class. See instance, module, object." (Michael Fitzgerald, "Learning Ruby", 2007)

"A template for instances that will have the same fields, representing state values, and the same methods. Scala classes support single inheritance and zero or more mixin traits. Contrast with type." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"The specification of an object instance; an encapsulation boundary including data (attributes) and behavior (operations that manipulate that data)." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"A declaration of data and methods that describe a single entity and that will be used as a template to create objects." (Jan L Harrington, "SQL Clearly Explained" 3rd Ed., 2010)

"A set of instance variables and methods that have access to those variables. After a class is defined, instances of the class (that is, objects) can be created." (Stephen G Kochan, "Programming in Objective-C" 4th Ed., 2011)

"A template for creating instances. A class defines implementation of methods and fields. A class defines type." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"Defines a data type with properties, methods, events, and other code encapsulated in a package. After you define a class, you can make as many instances of that class as you like. Very similar to a structure except classes are reference types, whereas structures are value types." (Rod Stephens, "Stephens' Visual Basic Programming 24-Hour Trainer", 2011)

"A construct that works as the blueprint for objects." (Mark C Lewis, "Introduction to the Art of Programming Using Scala", 2012)

"A user-defined type, implemented in Perl via a package that provides (either directly or by inheritance) methods (that is, subroutines) to handle instances of the class (its objects). See also inheritance." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"The encapsulation of a set of functions and data that model a real-world object. Creating a class is like creating a blueprint for a bunch of objects of a given type." (Matt Telles, "Beginning Programming", 2014)

"In object-oriented programming, a construct that defines a type (or class) of items. For example, if you define a Customer class, you can then create many Customer objects representing different real-world customers." (Rod Stephens, "Beginning Software Engineering", 2015)

"In C++, a user-defined data type. A class data type can contain both data representations (data members) and functions (member functions). A description of a set of objects that share the same attributes, operations, methods, relationships, and semantics. A class can use a set of interfaces to specify collections of operations that it provides to its environment." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"Abstract entity that represents a kind of things in the world and may serve as semantic type of other entities." (Panos Alexopoulos, "Semantic Modeling for Data", 2020)

"The fundamental unit that defines an object in most object-oriented programming languages. A class is an encapsulated collection of variables and methods that may have privileged access to one another. Usually a class can be instantiated to produce an object that’s an instance of the class, with its own unique set of data." (Daniel Leuck et al, "Learning Java, 5th Ed.", 2020)

30 December 2005

IT: Firmware (Definitions)

"Computer programs stored in a solid state memory device (such as a chip) so that they are retained when electrical power is removed." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Programming stored on a chip inside a device (such as a network router) that controls it." (Andy Walker, "Absolute Beginner’s Guide To: Security, Spam, Spyware & Viruses", 2005)

"Software embedded in hardware. Desktop PCs include Basic Input/Output System (BIOS), which is the firmware used to start PCs." (Darril Gibson, "Effective Help Desk Specialist Skills", 2014)

"The software provided by the computer manufacturer to run the hardware in the computer." (Matt Telles, "Beginning Programming", 2014)

"Low-level software that controls hardware operation between the processor and the operating system." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"Software instructions that have been written into read-only memory (ROM) or a programmable ROM (PROM) chip." (Shon Harris & Fernando Maymi, "CISSP All-in-One Exam Guide" 8th Ed., 2018)

29 December 2005

IT: Automation (Just the Quotes)

"Systems engineering embraces every scientific and technical concept known, including economics, management, operations, maintenance, etc. It is the job of integrating an entire problem or problem to arrive at one overall answer, and the breaking down of this answer into defined units which are selected to function compatibly to achieve the specified objectives. [...] Instrument and control engineering is but one aspect of systems engineering - a vitally important and highly publicized aspect, because the ability to create automatic controls within overall systems has made it possible to achieve objectives never before attainable, While automatic controls are vital to systems which are to be controlled, every aspect of a system is essential. Systems engineering is unbiased, it demands only what is logically required. Control engineers have been the leaders in pulling together a systems approach in the various technologies." (Instrumentation Technology, 1957)

"As the decision-making function becomes more highly automated, corporate decision making will perhaps provide fewer outlets for creative drives than it now does." (Herbert A Simon," Management and Corporations 1985", 1960)

"Objectives recorded on the System Specification work sheet, even though preliminary in nature, should be specific. It is never sufficient to state an objective in terms of simply improving an existing system or of implementing a computerized system. The idea that a system or an 'automated' system is a better system has been a popular concept too long. An improved system, per se, is of no benefit to a business client; implementing a better system in order to increase profits or reduce costs is of great benefit." (Robert D Carlsen & James A Lewis, "The Systems Analysis Workbook: A complete guide to project implementation and control", 1973)

"Autonomation [automation with a human touch] changes the meaning of management as well. An operator is not needed while the machine is working normally. Only when the machine stops because of an abnormal situation does it get human attention. As a result, one worker can attend several machines, making it possible to reduce the number of operators and increase production efficiency. [...] Implementing autonomation is up to the managers and supervisors of each production area. The key is to give human intelligence to the machine and, at the same time, to adapt the simple movement of the human operator to the autonomous machines." (Taiichi Ohno, "Toyota Production System: Beyond Large-Scale Production", 1978)

"Autonomation [..] performs a dual role. It eliminates overproduction, an important waste in manufacturing, and prevents the production of defective products. To accomplish this, standard work procedures, corresponding to each player's ability, must be adhered to at all times." (Taiichi Ohno, "Toyota Production System: Beyond Large-Scale Production", 1978)

"When you automate an industry you modernize it; when you automate a life you primitivize it." (Eric Hoffer, "Between the Devil and the Dragon", 1982)

"Automation is certainly one way to improve the leverage of all types of work. Having machines to help them, human beings can create more output." (Andrew S. Grove, "High Output Management", 1983)

"Information engineering has been defined with the reference to automated techniques as follows: An interlocking set of automated techniques in which enterprise models, data models and process models are built up in a comprehensive knowledge-base and are used to create and maintain data-processing systems." (James Martin, "Information Engineering, 1989)

"At the heart of reengineering is the notion of discontinuous thinking - of recognizing and breaking away from the outdated rules and fundamental assumptions that underlie operations. Unless we change these rules, we are merely rearranging the deck chairs on the Titanic. We cannot achieve breakthroughs in performance by cutting fat or automating existing processes. Rather, we must challenge old assumptions and shed the old rules that made the business underperform in the first place." (Michael M Hammer, "Reengineering Work: Don't Automate, Obliterate", Magazine, 1990)

"In short, a reengineering effort strives for dramatic levels of improvement. It must break away from conventional wisdom and the constraints of organizational boundaries and should be broad and cross-functional in scope. It should use information technology not to automate an existing process but to enable a new one." (Michael M Hammer, "Reengineering Work: Don't Automate, Obliterate", Magazine, 1990)

"When a database is computerized, it represents the automation of the knowledge component of a business, which is manifest through the business's quality operation, planning, and management With a successful database, the managers of a business can research the past, organize the present, and plan for the future."  (Michael M Gorman, "Database Management Systems: Understanding and Applying Database Technology", 1991)

"Replacing workers on their present jobs with machines is not the major function of automation. Its greater promise is its ability to do new things, to create new products, new services and new jobs, and to meet the increasing requirements of a growing population." (David Sarnoff)

"The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency." (Bill Gates)

"[...] the more efficient the automated system is, the more essential the human contribution that is needed to run the automation system. Humans are less involved in heavily automated systems, but their involvement becomes more critical." (Josh Kaufman)

"The more reliable the plant, the less opportunity there will be for the operator to practice direct intervention, and the more difficult will be the demands of the remaining tasks requiring operator intervention."(Josh Kaufman)

28 December 2005

IT: Machines (Just the Quotes)

"The successful construction of all machinery depends on the perfection of the tools employed; and whoever is a master in the arts of tool-making possesses the key to the construction of all machines. [...] The contrivance and construction of tools must therefore ever stand at the head of the industrial arts." (Charles Babbage, "The Exposition of 1851: Views Of The Industry, The Science, and the Government Of England", 1851)

"As soon as an Analytical Engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question will then arise - by what course of calculation can these results be arrived at by the machine in the shortest time?" (Charles Babbage, "Passages from the Life of a Philosopher", 1864) 

"Let us look for a moment at the general significance of the fact that calculating machines actually exist, which relieve mathematicians of the purely mechanical part of numerical computations, and which accomplish the work more quickly and with a greater degree of accuracy; for the machine is not subject to the slips of the human calculator. The existence of such a machine proves that computation is not concerned with the significance of numbers, but that it is concerned essentially only with the formal laws of operation; for it is only these that the machine can obey - having been thus constructed - an intuitive perception of the significance of numbers being out of the question." (Felix Klein, "Elementarmathematik vom holieren Standpunkte aus", 1908)

"A computer would deserve to be called intelligent if it could deceive a human into believing that it was human." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"If one wants to make a machine mimic the behaviour of the human computer in some complex operation one has to ask him how it is done, and then translate the answer into the form of an instruction table. Constructing instruction tables is usually described as 'programming'." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"The idea behind digital computers may be explained by saying that these machines are intended to carry out any operations which could be done by a human computer." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"The original question, 'Can machines think?:, I believe too meaningless to deserve discussion. Nevertheless I believe that at the end of the century the use of words and general educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be contradicted." (Alan M Turing, 1950) 

"The view that machines cannot give rise to surprises is due, I believe, to a fallacy to which philosophers and mathematicians are particularly subject. This is the assumption that as soon as a fact is presented to a mind all consequences of that fact spring into the mind simultaneously with it. It is a very useful assumption under many circumstances, but one too easily forgets that it is false. A natural consequence of doing so is that one then assumes that there is no virtue in the mere working out of consequences from data and general principles." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"Cybernetics is not merely another branch of science. It is an intellectual revolution that rivals in importance the earlier Industrial Revolution. Is it possible that just as a machine can take over the routine functions of human muscle, another can take over the routine uses of human mind? Cybernetics answers, yes." (Isaac Asimov, [preface to Pierre de Latil’s Thinking by Machine] 1957)

"A machine is not a genie, it does not work by magic, it does not possess a will, and […] nothing comes out which has not been put in, barring of course, an infrequent case of malfunctioning. [..] The “intentions” which the machine seems to manifest are the intentions of the human programmer, as specified in advance, or they are subsidiary intentions derived from these, following rules specified by the programmer. […] The machine will not and cannot do any of these things until it has been instructed as to how to proceed. […] To believe otherwise is either to believe in magic or to believe that the existence of man’s will is an illusion and that man’s actions are as mechanical as the machine’s." (Arthur L Samuel, Science, 1960) 

"Let an ultraintelligent machine be defined as a machine that can far surpass all the intellectual activities of any man however clever. Since the design of machines is one of these intellectual activities, an ultraintelligent machine could design even better machines; there would then unquestionably be an "intelligence explosion", and the intelligence of man would be left far behind. Thus the first ultraintelligent machine is the last invention that man need ever make." (Irving J Good, "Speculations Concerning the First Ultraintelligent Machine", Advances in Computers Vol. 6, 1965)

"In short, the scientific account of affairs involved the formalization of interactions between men, machines, materials and money, all spread over [a] complex system." (Stafford Beer, "Decision and Control", 1966)

"These machines have no common sense; they have not yet learned to 'think', and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer." (Donald Knuth, “The Art of Computer Programming”, 1968)

"The real question is not whether machines think but whether men do." (Burrhus F Skinner, "Contingencies of Reinforcement", 1969)

"An autopoietic machine is a machine organized (defined as a unity) as a network of processes of production (transformation and destruction) of components which: (i) through their interactions and transformations continuously regenerate and realize the network of processes (relations) that produced them; and (ii) constitute it (the machine) as a concrete unity in space in which they (the components) exist by specifying the topological domain of its realization as such a network." (Humberto Maturana, “Autopoiesis and cognition: The realization of the living”, 1980)

"The relations that define a system as a unity, and determine the dynamics of interaction and transformations which it may undergo as such a unity constitute the organization of the machine." (Humberto Maturana, “Autopoiesis and cognition: The realization of the living”, 1980)

"Automation is certainly one way to improve the leverage of all types of work. Having machines to help them, human beings can create more output." (Andrew S Grove, "High Output Management", 1983)

"How machines are related to each other often determines the organizational structure [of the people]." (John A Reinecke & William F Schoell, , Introduction to Business, 1983)

"Cybernetics is simultaneously the most important science of the age and the least recognized and understood. It is neither robotics nor freezing dead people. It is not limited to computer applications and it has as much to say about human interactions as it does about machine intelligence. Today’s cybernetics is at the root of major revolutions in biology, artificial intelligence, neural modeling, psychology, education, and mathematics. At last there is a unifying framework that suspends long-held differences between science and art, and between external reality and internal belief." (Paul Pangaro, "New Order From Old: The Rise of Second-Order Cybernetics and Its Implications for Machine Intelligence", 1988)

"[management by objectives] has become one more way to make organizations behave like machines." (Julien Phillips, "Success", 1988)

"The real definition of a supercomputer is a machine that is just one generation behind the problems it is asked to solve." (Neil Lincoln, Time, 1988)

"If machines knew as much about each other as we know about each other (even in our privacy), the ecology of machines would be indomitable." (Kevin Kelly, "Out of Control: The New Biology of Machines, Social Systems and the Economic World", 1995) 

"Computer programs are the most intricate, delicately balanced and finely interwoven of all the products of human industry to date. They are machines with far more moving parts than any engine: the parts don't wear out, but they interact and rub up against one another in ways the programmers themselves cannot predict." (James Gleick, “What Just Happened: A chronicle from the information frontier”, 2002)

"But intelligence is not just a matter of acting or behaving intelligently. Behavior is a manifestation of intelligence, but not the central characteristic or primary definition of being intelligent. A moment's reflection proves this: You can be intelligent just lying in the dark, thinking and understanding. Ignoring what goes on in your head and focusing instead on behavior has been a large impediment to understanding intelligence and building intelligent machines." (Jeff Hawkins, "On Intelligence", 2004)

"When a machine manages to be simultaneously meaningful and surprising in the same rich way, it too compels a mentalistic interpretation. Of course, somewhere behind the scenes, there are programmers who, in principle, have a mechanical interpretation. But even for them, that interpretation loses its grip as the working program fills its memory with details too voluminous for them to grasp."  (Ray Kurzweil, "The Singularity is Near", 2005)

"Computers bootstrap their own offspring, grow so wise and incomprehensible that their communiqués assume the hallmarks of dementia: unfocused and irrelevant to the barely-intelligent creatures left behind. And when your surpassing creations find the answers you asked for, you can't understand their analysis and you can't verify their answers. You have to take their word on faith." (Peter Watts, "Blindsight", 2006)

"Every system that we build will surprise us with new kinds of flaws until those machines become clever enough to conceal their faults from us." (Marvin Minsky, "The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind", 2006)

"The attribution of intelligence to machines, crowds of fragments, or other nerd deities obscures more than it illuminates. When people are told that a computer is intelligent, they become prone to changing themselves in order to make the computer appear to work better, instead of demanding that the computer be changed to become more useful." (Jaron Lanier, "You Are Not a Gadget", 2010)

"The architecture - the mind - is knitting together. It’s sentience. Vague sentience. All these years of formulating machines that know something, while the secret is to create machines that don’t know something." (Scott Hutchins,  "A Working Theory of Love", 2012)

"Artificial intelligence is a concept that obscures accountability. Our problem is not machines acting like humans - it's humans acting like machines." (John Twelve Hawks, "Spark", 2014)

"A computer is a general-purpose machine. It takes its instructions from memory, and one can change the computation it performs by putting different instructions in the memory. Instructions and data are indistinguishable except by context; one person’s instructions are another person’s data." (Brian W Kernighan, "Understanding the Digital World", 2017)

"The good news is that a computer is a general-purpose machine, capable of performing any computation. Although it only has a few kinds of instructions to work with, it can do them very fast, and it can largely control its own operation. The bad news is that it doesn’t do anything itself unless someone tells it what to do, in excruciating detail. A computer is the ultimate sorcerer’s apprentice, able to follow instructions tirelessly and without error, but requiring painstaking accuracy in the specification of what to do." (Brian W Kernighan, "Understanding the Digital World", 2017)

"Machines can do many things, but they cannot create meaning. They cannot answer these questions for us. Machines cannot tell us what we value, what choices we should make. The world we are creating is one that will have intelligent machines in it, but it is not for them. It is a world for us." (Paul Scharre, "Army of None: Autonomous Weapons and the Future of War", 2018)

"If we don't truly know what something is programmed to do, chances are it is programming us. Once that happens, we may as well be machines ourselves." (Douglas Rushkoff, "Team Human", 2019)

"Our machines are helpers, not decision makers. Their insights are not the final word in the discussion, merely the work of our most nimble observers who can ramp up time spent on analysis by factors that our counterparts even a generation ago would have a hard time believing." (Kate Strachnyi, "ColorWise: A Data Storyteller’s Guide to the Intentional Use of Color", 2023)

"A learning machine is any device whose actions are influenced by past experiences."  (Nils Nilsson)

"Every machine has artificial intelligence. And the more advanced a machine gets, the more advanced artificial intelligence gets as well. But, a machine cannot feel what it is doing. It only follows instructions - our instructions - instructions of the humans. So, artificial intelligence will not destroy the world. Our irresponsibility will destroy the world." (Abhijit Naskar)

"Replacing workers on their present jobs with machines is not the major function of automation. Its greater promise is its ability to do new things, to create new products, new services and new jobs, and to meet the increasing requirements of a growing population." (David Sarnoff)

25 December 2005

IT: Asynchronous (Definitions)

"Lack of temporal concurrence; not occurring at the same time." (Ruth C Clark & Chopeta Lyons, "Graphics for Learning", 2004)

"A process that is not coordinated in time. In data storage processes, asynchronous means that the device or software does not wait for acknowledgement before performing the next I/O." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"Data that are transmitted without an associated clock signal. The time spacing between data characters or blocks may be of arbitrary duration (opposite of synchronous)." (John R Vacca, "Optical Networking Best Practices Handbook", 2006)

"The ability to send or receive calls independently and in any order." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"Separate execution streams that can run concurrently in any order relative to each other are asynchronous." (Clay Breshears, "The Art of Concurrency", 2009)

"A system in which events can occur in any order, such as a game where different players can place their moves without being concerned about the order that other players are moving. Contrast with synchronous." (Jon Radoff, "Game On: Energize Your Business with Social Media Games", 2011)

"Describes a style of communication in which the initiator does not wait for a reply. Opposite of synchronous." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A style of communication in which the initiator does not wait for a reply." (Craig S Mullins, "Database Administration", 2012)

"Not occurring at the same moment in time as some specific operation of the computer; in other words, not synchronized with the program’s actions" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Pertaining to events that are not synchronized in time or do not occur in regular or predictable time intervals." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

IT: Artifact (Definitions)

 "a design technique used to represent referential integrity in the DSS environment." (William H Inmon, "Building the Data Warehouse", 2005)

"A tangible object produced by an activity. Examples are specifications, design documents, audit records, code, data, reports, plans, schedules, and training courses. The object can be a product component or a work product." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A document, model, file, diagram, or other item that is produced, modified, or used during the development, operation, or support of a system." (Pramod J Sadalage & Scott W Ambler, "Refactoring Databases: Evolutionary Database Design", 2006)

"A tangible form of objective evidence indicative of work being performed that is a direct or indirect result of implementing a People CMM model practice." (Sally A Miller et al, "People CMM: A Framework for Human Capital Management" 2nd Ed., 2009)

"An object made or modified by a human." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Description of a part of the architecture; generally organized into catalogs (lists of objects), matrices (which include the relationships between objects), and diagrams (graphical representations)." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

"In a UML deployment diagram, a file, a script, an executable program or another item that is deployed. In development models, something generated by the model such as a requirements document, user story, or piece of code." (Rod Stephens, "Beginning Software Engineering", 2015)

"A physical or digital result from an interaction or transaction. Example: a receipt is an artifact of a transaction." (Gregory Lampshire, "The Data and Analytics Playbook", 2016)

"Any object created by human beings with the intent to be of subsequent use, either as a reference or something that could be improved as part of an effort to enhance it." (David K Pham, "From Business Strategy to Information Technology Roadmap", 2016)

"In research, any apparent effect of a major conceptual variable that is actually the result of a confounding variable that has not been properly controlled. Artifacts threaten the validity of research conclusions." (K  N Krishnaswamy et al, "Management Research Methodology: Integration of Principles, Methods and Techniques", 2016)

"An entity that is used or produced by a software development process. Examples of artifacts are models, source files, scripts, and binary executable files." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

IT: Computer Science (Just the Quotes)

"[Computers] are developing so rapidly that even computer scientists cannot keep up with them. It must be bewildering to most mathematicians and engineers. [...] In spite of the diversity of the applications, the methods of attacking the difficult problems with computers show a great unity, and the name of Computer Sciences is being attached to the discipline as it emerges. It must be understood, however, that this is still a young field whose structure is still nebulous. The student will find a great many more problems than answers." (George Forsythe, "Engineering students must learn both computing and mathematics", 1961)

"I consider computer science to be the art and science of exploiting automatic digital computers, and of creating the technology necessary to understand their use. It deals with such related problems as the design of better machines using known components:, the design and implementation of adequate software systems for communication between man and machine, and the design and analysis of methods of representing information by abstract symbols and of processes for manipulating these symbols." (George E Forsythe, "Stanford University's Program in Computer Science", 1965)

"Computer science is a restless infant and its progress depends as much on shifts in point of view as on the orderly development of our current concepts." (Alan Perlis, "The Synthesis of Algorithmic Systems", 1966)

"Computer science is at once abstract and pragmatic. The focus on actual computers introduces the pragmatic component: our central questions are economic ones like the relations among speed, accuracy, and cost of a proposed computation, and the hardware and software organization required. The (often) better understood questions of existence and theoretical computability - however fundamental - remain in the background. On the other hand, the medium of computer science - information - is an abstract one. The meaning of symbols and numbers may change from application to application, either in mathematics or in computer science. Like mathematics, one goal of computer science is to create a basic structure in terms of inherently defined concepts that is independent of any particular application." (George E Forsythe, "What to do till the computer scientist comes", 1968)

"Without real experience in using the computer to get useful results the computer science major is apt to know all about the marvelous tool except how to use it. Such a person is a mere technician, skilled in manipulating the tool but with little sense of how and when to use it for its basic purposes." (Richard Hamming, "One Man's View of Computer Science", 1969)

"Numerical analysis has begun to look a little square in the computer science setting, and numerical analysts are beginning to show signs of losing faith in themselves. Their sense of isolation is accentuated by the present trend towards abstraction in mathematics departments which makes for an uneasy relationship." (James H Wilkinson, "Some Comments from a Numerical Analyst", 1971)

"Software engineering is the part of computer science which is too difficult for the computer scientist." (Friedrich Bauer, "Software Engineering." Information Processing: Proceedings of the IFIP Congress, 1971)

"Computer science is an empirical discipline. [...] Each new machine that is built is an experiment. Actually constructing the machine poses a question to nature; and we listen for the answer by observing the machine in operation and analyzing it by all analytical and measurement means available. Each new program that is built is an experiment. It poses a question to nature, and its behavior offers clues to an answer." (Allen Newell & Herbert A Simon, "Computer Science as Empirical Inquiry: Symbols and Search", 1975)

"In this quest for simplification, mathematics stands to computer science as diamond mining to coal mining. The former is a search for gems. [...]The latter is permanently involved with bulldozing large masses of ore - extremely useful bulk material." (Jacob T Schwartz, "Discrete Thoughts: Essays on Mathematics, Science, and Philosophy, Computer Science", 1986)

"The potential of computer science, if fully explored and developed, will take us to a higher  plane of knowledge about the world. Computer science will assist us in gaining a greater  understanding of intellectual processes. It will enhance our knowledge of the learning  process, the thinking process, and the reasoning process. Computer science will provide  models and conceptual tools for the cognitive sciences. Just as the physical sciences have  dominated humanity's intellectual endeavors during this century as researchers explored  the nature of matter and the beginning of the universe, today we are beginning the exploration of the intellectual universe of ideas, knowledge structures, and language." (John E Hopcroft, [ACM Turing Award Lecture] 1987)

"Computer science only indicates the retrospective omnipotence of our technologies. In other words, an infinite capacity to process data (but only data - i.e. the already given) and in no sense a new vision. With that science, we are entering an era of exhaustivity, which is also an era of exhaustion." (Jean Baudrillard, "Cool memories", 1990)

"Computer science is concerned with the theories and methods that underlie computers and software systems, whereas software engineering is concerned with the practical problems of producing software. Some knowledge of computer science is essential for software engineers in the same way that some knowledge of physics is essential for electrical engineers. Computer science theory, however, is often most applicable to relatively small programs. Elegant theories of computer science cannot always be applied to large, complex problems that require a software solution." (Ian Sommerville, "Software Engineering" 9th Ed., 2011)

"Perhaps an underlying cause [of doubt as to the future of information science] is in some cases [...] the apprehension that information science may become submerged in the larger field of computer science." (Brian C Vickery)

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
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.