Year
The year when the programming language was first released or made available to the public.
When your guess is wrong, you'll see arrows indicating whether the secret language is older (↓) or newer (↑) than your guess.
Programming Paradigm
The fundamental style or approach to programming that the language supports:
- Imperative: Focus on describing how to do things step-by-step
- Object-oriented: Based on the concept of objects containing data and methods
- Functional: Treats computation as evaluation of mathematical functions
- Multi-paradigm: Supports multiple programming paradigms
Language Family
The family or lineage that the programming language belongs to:
- C-like: Syntax and structure influenced by the C programming language
- Lisp: Based on the Lisp family with parenthetical syntax
- ML: Based on the ML (Meta Language) family
- Other: Unique syntax or belongs to a different family
Memory Management
How the language handles memory allocation and deallocation:
- Manual: Programmer must explicitly allocate and free memory
- Automatic GC: Automatic garbage collection handles memory cleanup
- Reference counting: Memory is freed when reference count reaches zero
- Ownership: Uses ownership systems to manage memory safety
Type Binding
When variable types are determined:
- Static: Types are determined at compile time
- Dynamic: Types are determined at runtime
Type Safety
How strictly the language enforces type rules:
- Strong: Strict type checking, prevents type errors
- Weak: More permissive, allows implicit type conversions