Topic category: General discussion
Before I get started, this idea is way out there, and I don’t expect it to ever be considered, but I will put the concept out there, because I think it would be quite cool.
I've been working with compilers/interpreters for a while now, and they are quite cool, and can offer some cool features in applications.
MCreator offers people who don’t know how to code a way to make quite powerful Minecraft mods. MCreator also allows for those who know Java, to create Minecraft mods. Recently I started to think about those who want to code mods, but don’t understand Java. Java is a big language, with complicated features, such as being object oriented. Some people may not have the time to learn Java, but they want the programming experience. This is where I offer the concept of a custom, shall we say… scripting language. This language which we’ll call mcl(MCreator Language), can offer a sort of programming experience, without being complicated.
Possible syntax: {
block b = new block
b.[BlockMember] = [Type]:
b.Name = “Block1”
}
While making a language is complicated, I feel like it can offer a programming experience, for those who don’t want to learn real languages.
Evaluation:
Mcl can be evaluated in many ways. In the end however, you will have to emit bytecode or Java.
Evaluation process:
Get expression
Evaluate expression
Using the evaluated results from the expression, emit Java or bytecode.
Repeat until there are no more expressions.
Not only can Mcl be used as a language for the user, it can also be used through MCreator, let me explain.
If you create a code generator for Mcl, you can generate Mcl code, then convert to Java/bytecode, Instead of generating pure Java on the fly.
As I mentioned, this would be an incredibly difficult task, and maybe not even worth it. It is just a concept. Creating a language of any kind is no easy task by any means, but I think you can do it if you really tried.
If you have any questions about this concept, feel free to ask me.
Nice idea, but... "[...] making a language is complicated [...]".
I'm not Klemen, but I know him for long enough to know what he will answer. Currently, Blockly is the programming language of MCreator and this feature is clearly out of scope for the moment (you don't imagine the complexity of making something like this). In addition, the new viewer to see the code directly in the UI will help users to understand how it works.
Wow