CD+

Data oriented C++

Just some ideas. Language itself is closer to C, with a loose concept of OOP

Reinforce Concept of defining your data in memory though .d files.

.H Compiles into more of a Lookup table of functions based off of data.

.S source files are more about… listings of independent functions.

Stack is sent to calling function, and arguments for calling function are memory mapped from stack.

Shared objects are not de-alocated. de-Alocation is a Loose concept. Objects are kept sorted by there type in memory. .D files designate this structure. As well as how many of them should be available in the memory pool. Helps to prevent L2 Cache Misses. Objects can be created and destroyed, but more manual. To enforce the program to think about the allocations. And instead consider Using shared variables.

Keywords:

Async

Possibility of adding Async and sync , and RPC keywords to functions

Async are functions that may or may not run in the same thread So all actions must have concurrency.

Sync functions only run in a single thread, and do not have to worry about sync

RPC are methods that don’t even require them to be run on the same machine.

If multiple async methods are called, from a sync method, each will run independently and halt the execution of the synchronous method until at end of scope resolution until all async methods end.

Data Structure

.H file contain headings of code,

.S files contain source code of the methods outlined in .H

.D file contain mappings of data for structures.

Clearly defined data structures. INDEPENDENT of Headings. IE: vectors will have a defined max size independent of the actual size. And have a pre-Allocated memory space for these defined data objects.

In computation, Class_Datastructure are set to be placed in memory together for DOD iterated methods.

EXAMPLE

MyTypes.D

//Naming Convention allows understanding of data size in memory
//A custom data type,
VAR CustomData_32{
    TYPES:
       VAR_16 x;
       VAR_16 y;
    TEMP: 10;
//10 of these are allocated at program start, as temporary variables.
    STATIC: 14
//14 of these are allocated at program start, as variables in classes or globals, ext.
};
//In total 24 instances of this Data type will ever be created in memory.
//All of these allocations are combined together in memory

CLASS MyClass_64{VAR_16 a,VAR_16 b}
TEMP MyClass_64 4;
AYNC myAssignment(RETURN VAR_16 value1,RETURN VAR_16 value2,CONST VAR_16 input){
    value1 = input;
    value2 = input;
}

WIP