Criteria of Object Orientation

Method and Language

Seamlessness

Classes

Assertions

Classes as Modules

Classes as Types

Feature-based Computation

Information Hiding

Exception Handling

Static Typing

Genericity

Inheritance

Constrained Genericity

Redefinition

Polymorphism

Dynamic Binding

Object-oriented software developers soon develop a healthy hatred for any style of computation based on explicit choices between various types for an object. Polymorphism and dynamic binding provide a much preferable alternative.

Run-time Type Interrogation

Deferred Features and Classes [Note — Is this equivalent to the concept of Protocols?]

Memory Management and Garbage Collection

Implementation and Environment

Automatic Update

Fast Update

Persistence

Documentation

Browsing

Libraries

Basic Libraries

Graphical User Interfaces

Library Evolution Mechanisms

Library Indexing Mechanisms

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ashok Khanna

Ashok Khanna

Masters in Quantitative Finance. Writing Computer Science articles and notes on topics that interest me, with a tendency towards writing about Lisp & Swift