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
- A.
Small talk
- B.
C++
- C.
Java
- 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.