I'm currently working on a game and wanted to add some scripting support. Due to trying to keep the entire codebase in managed c# (Excluding Monogame), I am using a custom language for the scripting (No managed only implementations of Lua exist...except AluminumLua which is incomplete).
In such a language, basic provisions would need to exist. These would include:
- Objects / Properties / Variables
- floats and strings
Am I missing any major parts of a basic object oriented language?
EDIT: As comments have pointed out, I would be far better finishing the incomplete implementation of Lua for C# rather than designing my own language...which is what I am going to do. However, I am still curious what the properties of an object oriented language are. So, what properties does an OO language have?
Some definitions of object orientation (again, decided in the comments):
Combining the state of an object with it's behavior.
An object oriented language is is a method of combining the state of an object (it's properties) with behavior (functions).
Object orientation is defining data (like a C struct) and providing specific methods to interact with it (the function ChangeValue), rather than give the person using that code the ability to change any part, including 'internal' components.
Object orientation is just a way to sort the data (that will be represented in binary) more clearly to a programmer and protecting against incorrect use (e.g. setting a char instead of a byte into a function).