The pure object oriented programming language with extensive metadata…

2014

The pure object oriented programming language with extensive metadata available and modifiable at run time is

  1. A.

    Small talk

  2. B.

    C++

  3. C.

    Java

  4. D.

    Eiffel

Attempted by 499 students.

Show answer & explanation

Correct answer: A

Answer: Smalltalk.

Why Smalltalk?

  • Everything is an object: values, classes, methods and even control structures are objects in Smalltalk.

  • Extensive runtime reflection: Smalltalk exposes a rich metaobject protocol and an image-based environment that lets you inspect and modify classes, methods, and objects while the system is running.

  • Live modifiability: developers can change code and object structure at run time without restarting the system.

Why the other choices are not correct:

  • C++: A multi-paradigm language (procedural, generic, and object-oriented). It is not purely object-oriented and provides only limited runtime type information (RTTI); it does not support Smalltalk-like runtime modification of classes and methods.

  • Java: Provides reflection and runtime metadata, but it is not purely object-oriented (primitive types and static members exist) and does not natively allow the same level of live modification of class and method structure as Smalltalk.

  • Eiffel: An object-oriented language with strong design-by-contract features, but not a pure Smalltalk-like environment for runtime metaobject modification.

Explore the full course: Mppsc Assistant Professor