The situation: "Moddable" Minecraft is written in Java. Windows10 Minecraft and all other versions, for that matter, including Pocket Edition and the Console versions are all written in C++ and referred to as "Bedrock".
The current plan, according to what I've inferred from the various "content creators" who have visited Mojang at their offices annually for 2 years so far, is to continue to bring both codebases into conformity, functionally speaking. This is why we've seen several Major version changes in the past year or 2 ("major" is the number after the first decimal, like .8 or .12) some of these changes completely change the way MC can be changed, hence the hesitation between 1.7.10 mods and 1.8.x mods. One of the changes coming in 1.13 is a complete remake for rendering as I understand, and one of the reasons people feel comfortable setting on the 1.12.2 version. Note: most of the performance improvements we're seeing in Java are being ported from the "Bedrock" C++
.
In the future, after the internal systems are fully compatible between versions the plan is to implement C# as a "modding language" since code already exists for both Java and C++ to cross-compile C# to both native languages.
At that point, Modders would use C# to create mods and distribute them as source code, which would be interpreted to whichever version the user wants.
There are also data conversion changes being made (1.13 actually removes either Metadata or the other "extra item data" mode) and there will probably be specific formats to use for item/block data (json?) which will be created for mods.
I think this is all going to happen if Minecraft survives because I've seen info from Microsoft indicating that Minecraft was purchased with the idea of increasing the use of Visual Studio for teaching kids many software development disciplines on a popular platform (Minecraft).