Dana is a component-based programming language which strictly separates structure from behaviour to promote software that is more re-usable and easier to evolve. Software written in Dana can introspect over its own structure and modify that structure at runtime.
Recommended source code editors
Code organisation, the central source tree, and default components
Data types - primitive types, data, and interfaces (objects)
Field selection and reflection
The event paradigm, object IDs, and self-references
Threads and concurrency control
Dynamically loading components at runtime
Runtime adaptation (performing adaptation and writing adaptable components)
How to use the PAL meta-system
How to use the esher meta-system