|Designed by||Greg Hudson|
|Developer||Greg Hudson, Brandon Gillespie, Bruce Mitchner, others|
|C, MOO, CoolMUD, C--|
||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (April 2010)|
ColdC is a programming language, forked from C--/ColdMUD (created by Greg Hudson). The ColdC project was started and maintained by Brandon Gillespie along with other developers, and managed ColdC/Genesis addressing applications in fields unrelated to MUDs. It is a dynamically typed prototype-based object oriented system, with a syntax derived from the C programming language. The original C-- was heavily influenced in design by the CoolMUD system and programming language. The resulting ColdC featured characteristics:
- Designed for server operating environments, with a runtime that provides persistence of both data and bytecode (through an object database). Similar to Java, but if the .jar file would be continually updated with object changes as the JVM executed.
- Strong encapsulation, where all object Instance variables are private and not externally visible. Methods must be added to expose them. This is similar to early object-oriented languages such as Smalltalk.
- Multiple parent relationships, that is multiple objects from which an object can inherit behaviour.
In addition, there are some specific innovations that ColdC added:
- A new datatype for lightweight, immutable objects, called "frobs".
- An associative array datatype (aka dictionary)