Why is reflection called reflection instead of introspection?

There is an interesting answer on the french wikipedia article for Reflection (here)

Reflection can be decomposed in two parts:

  • introspection: a program can examine itself.
  • intercession: a program can modify its state/meaning.

So reflection is a ‘stronger’ property than introspection. That’s why you say type introspection for the ability to know types at runtime (and changing them is another action: conversion/casting).

EDIT: actually I just realized the first answer was saying exactly that ^^. Time to unplug myself…

Leave a Comment