The last documents about my imaginer programming language, are living documents and I'll be expanding them time to time, so check back here time to time to see if the have changed.
Thursday, March 28, 2024
Super C++
Saturday, March 23, 2024
More Super C++
check back time to time.
Pricing
Binaires
Resources
Threading
Mac OS 9 and Freedos
Requesting more time or ending early
Requesting more time
Ending early
Freedos
System requrments
Functionality
Basic Functionality
GUI
Sound
Basic
Installation
Goto
Coding conventions
More about primitives
Date
GUID
guid myUniqueValue = {deaf0319-f920-4ef3-b13b-6f94f9e3582b};
Propiteres
More on annotations
Function pointers
Collections
AnythingArray
Generics
More about enums
Friday, March 22, 2024
Super C++
This entry assumes you have an understanding of programming terms. It would be read best by someone who can program in Java or C#. I have an idea for a programming language. I would call it "Super C++" and it would be similar to the Java and C# I am fimieleir with. Anything that I don't describe here would work the way it does in C#.
Order of thins in this document
Explaining everything
Language type
Super C++ would be a compile type language that would compile to byte code like C#/Java so code would be portable. Since it's an imanginary language I would imagine it being on almost every platform including odd ones like Freedos.
Overload on return type
You could overload on return type in the language. The compile would try and figure out which overload to use and error if it can't. If it errors(or if you want to be explicit about it) you can mannualy tell it which one to use.
Figuring it out
void doOverload(){};
int doOverload(){};
int x = doOverload();Calls the bottom one and
doOverload();
Calls the top.
doThing(doOverload()) Is the same as
int x = doOverload(); And the compiler would see this "shorthand" and know which one to call.
doThing(x);
In cases where it can't guess, you would get a compiler error and have to select one annually.
Manually calling the correct method
[void] doOverload();If your casting(say to a byte) it would look like this:
(byte)[int] doOverload();
Objects
In C#/Java everything is an object(even where your main method goes) but this is not the case in Super C++.(like normal C++). Java/C# derive all objects from the "Object" class and one can override "ToString()" and other methods if you want. I find this can be confusing, so they would be a "BaseObject" class but Object don't have to inherit from it.
The syntax for object would be that of C#/Java which is a lot easeir to understand. Namspaces would exist like in C#/C++.
An update utility would exist to convert C++ classes to the new syntax.
Inheritance
Multiple inheritance would be supported like C++.
Exceptions
They would NOT be Java's silly Checked Execptionts. They would be a CompilerWarnerOnException class which wuld generate compiler warnsing if you don't handle it.
Header files
For backwards compatibility from normal C++, Super C++ would support "Header Files".
Pointers
Pointers exist in C# and Java, the just hide it. An Object Refrence is a C++ pointer under the hood.
Pointer math would exit in Super C++for backwards compatibly with normal C++. Using it would generate compiler "notices"(less server then warnings). They MAY be technical limitations because it's a byte-code language.
Structs and Enums,
Would work like C#.
Garbage Collection
Math
Strings
Primitives
Compiler messages
API
Annotations
Copryright info
Closing thoughts
Friday, March 1, 2024
Library Terms
So I know a lot of library terms. In 2020 I participated in "Library
Connect Line". I could talk twice a week for 30 minutes to a library
staff member. I used my time to ask them about everything I was curious
about like "why do some staff members have 'Library Associate' in they
email address instead of "Librarian"?
("The answer is Librarian" is a step up the job ladder above Library Associate)