What is ARC?

ARC is a Object-Orientated languaged, loosely based on C, C++ and Java. Its only purpose is to be an internal softcode language on Abandoned Reality MUD, thus the name: Abandoned Reality C.

Why ARC?

Abandoned Reality has at present nearly 190,000 lines of C++ code (including the ARC compiler). C++, although powerful, lacks the safety of langauges like Java and mobprogs. The AR binary is nearly 10 megabytes big; adding new code to it and testing is cumbersome and slow.

Mobprogs do not have some of these problems: they can be written and executed right away. Unfortunately, they are not as flexible as C++. Letting mobprogs gain access to internal data structure is both cumbersome and risky. They are also very imperative in nature (as opposed to Object-Orientated) which makes it hard to reuse code. Variables are interpolated, which means that unexpected values inside string variables can produce errors at runtime.

ARC combines the best of two worlds: it is easy to let ARC gain access to internal data structures like areas, rooms, objects, characters and all their fields. It is Object-Orientated, which means that an administrator can e.g. take the existing shopkeeper code and replace a single function for his own shopkeeper, without having to retype the whole thing: the shared code exists in one place only. It is interpreter, so pointer errors cannot occurr; it is not possible to overflow array boundaries. It has built-in security, so that normal programs cannot e.g. change or set the level of a player - but especially privileged programs can. It is fast to develop in: after new code has been entered on the MUD, it can be compiled and used right away.


Return to the main page