Reflection is the ability to examine, understand, and modify the internal
structure of an object through reading/writing of metadata at runtime. Most
statically typed languages have a built-in reflection capability, most likely
through the use of a library. It is important to understand that because
reflection happens at runtime there is no type checking at compile time for
reflection based code. This can lead to unpredictable behavior and bugs.
Reflection also has a performance impact, as it requires a lot of runtime
processing to perform in order to manipulate objects in memory.
Reflection
Related Posts
Intro to Generics in Go: Type Parameters, Type Inference and Constraints
Part 2: Deep Dive into Generic Programming with Google Go
This post dives into the implementation of generic programming in Go. Walking through the syntax and semantics of type parameters, constraints, and type inference.
An Overview of Generic Programming: Writing Code With Arbitrary Types
Part 1: Deep Dive into Generic Programming with Google Go
Generic programming has been around for quite some time. This blog post provides a brief overview of the basics of generic programming and its implications for software engineering.