Introduction |
Umbrella (can be abbreviated as U) is a statically typed, multi-paradigm, compiled, general-purpose programming language,
supporting object-oriented, imperative, and functional programming styles.
It is currently under heavy development and expected to be released in early 2014.
|
Operators |
Umbrella provides more than 40 operators, covering basic arithmetic, bit manipulation, indirection, comparisons, logical operations and others.
Almost all operators can be overloaded for user-defined types, Overloading an operator does not change the precedence of calculations involving the operator,
nor does it change the number of operands that the operator uses.
|
Templates |
Umbrella templates open the doors to generic programming. The language supports both function and class templates.
Templates may be parameterized by types, compile-time constants such as numbers and strings, and other templates.
Similar to C++, templates are instantiated by substitution of specific arguments for a template's parameters to generate a concrete function or class instance.
|
Classes |
Umbrella classes provide the four features commonly present in object-oriented programming languages: abstraction, encapsulation, inheritance, and polymorphism.
Similar to C++, destructors are deterministic, which provides support for the Resource Allocation is Initialization concept.
|