Skip to content

Instantly share code, notes, and snippets.

@olitreadwell
Created July 11, 2017 20:22
Show Gist options
  • Save olitreadwell/771973888c09ec69420c840dd8154d02 to your computer and use it in GitHub Desktop.
Save olitreadwell/771973888c09ec69420c840dd8154d02 to your computer and use it in GitHub Desktop.
Barbara Liskov

Barbara Liskov

Presentation

Link to Presentation

Overview

  • born November 7, 1939

  • born Barbara Jane Huberman

  • American Computer scientist

  • Professor at MIT

  • One of the first women to be granted a doctorate in computer science

  • Turing Award winner

    • Turing Award is an annual prize given by the Association for Computing Machinery (ACM) to "an individual selected for contributions of a technical nature made to the computing community". It is stipulated that the contributions "should be of lasting and major technical importance to the computer field".
    • For contributions to practical and theoretical foundations of programming language and system design, especially related to data abstraction, fault tolerance, and distributed computing.
  • Developed the Liskov substitution principle

Life and Career

  • Born in Los Angeles CA
  • BA in Mathematics from UC Berkeley in 1961
  • PhD in Computer Science from Stanford University in 1968
  • She was one of the first women in the USA to be awarded a PhD in Computer Science
  • The topic of her Ph.D. thesis was a computer program to play chess endgames.
  • Led many significant projects
    • Venus operating system
      • The Venus Operating System is an experimental multiprogramming system for a small computer. It supports five or six concurrent users, who operate on-line and interactively through teletypes. It may be distinguished from other multiuser systems in that it primarily caters to users who are cooperating with each other, for example, a group of users sharing a data base or building a system composed of cooperating processes.
      • The operating system was produced to test the following hypothesis: the difficulties encountered in building a system can be greatly reduced if the system is built on a machine with the "correct" architecture. We had in mind a complex system whose data and processing requirements vary dynamically, for example, an operating system or an on-line data management system. We
    • CLU
      • CLU is a pioneering programming language created at the Massachusetts Institute of Technology (MIT) by Barbara Liskov and her students between 1974 and 1975. While it did not find extensive use, it introduced many features that are used widely now, and is seen as a step in the development of object-oriented programming (OOP).
      • Key contributions include abstract data types,[5] call-by-sharing, iterators, multiple return values (a form of parallel assignment), type-safe parameterized types, and type-safe variant types. It is also notable for its use of classes with constructors and methods, but without inheritance.
      • The syntax of CLU was based on ALGOL, then the starting point for most new language designs. The key addition was the concept of a cluster, CLU's type extension system and the root of the language's name (CLUster).[6] Clusters correspond generally to the concept of a "class" in an OO language, and have similar syntax.
    • Argus
      • the first high-level language to support implementation of distributed programs and to demonstrate the technique of promise pipelining
      • It is an extension of the CLU language, and utilizes most of the same syntax and semantics.[1] Argus was designed to support the creation of distributed programs, by encapsulating related procedures within objects called guardians, and by supporting atomic operations called actions.
    • Thor
      • an object-oriented database system
      • Object-oriented database management systems (OODBMSs) combines database capabilities with object-oriented programming language capabilities. OODBMSs allow object-oriented programmers to develop the product, store them as objects, and replicate or modify existing objects to make new objects within the OODBMS. Because the database is integrated with the programming language, the programmer can maintain consistency within one environment, in that both the OODBMS and the programming language will use the same model of representation. Relational DBMS projects, by way of contrast, maintain a clearer division between the database model and the application.
    • Subtyping - Liskov substitution principle.
      • With Jeannette Wing, she developed a particular definition of subtyping, commonly known as the Liskov substitution principle.
      • Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of T (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy.

Liskov Substitution Principle

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of T (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy.

Resources

https://www.youtube.com/watch?v=Orhu0x5aplI https://dzone.com/articles/solid-liskov-substitution-principle

Barbara Liskov. (2017, June 7). In Wikipedia, The Free Encyclopedia. Retrieved 20:21, July 11, 2017 , from https://en.wikipedia.org/w/index.php?title=Barbara_Liskov&oldid=784257739

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment