They almost have feature parity, but there are some small differences around the edges. There exists modded server options for enabling bedrock and java users to connect to the same server.
Why did notch do that?
There were next to no libraries, ecosystem, or support for Java at the time. It was such a bizarre choice.
Not to mention the JVM, GC, and all the other oddities. It was super off the beaten path to have done this.
Might as well have been Ruby or Perl.
Java allowed Minecraft to run pretty much everywhere, including as an applet (very important in its early time) and it relied (and still relies) on LWJGL which provides access to the most common stuff you'd need to make a game (OpenGL, windowing, input events, etc) - and at the time it also worked for applets too (you needed to download the LWJGL applet code but it was signed by the devs so you didn't get too many scary messages).
I used the same tech (Java+LWJGL) at the time to make a few simple demos/games and it was quite easy to make stuff - e.g. i made this[0] in a few hours using Java, LWJGL and Eclipse on the iMac i had at the time.
He used LWJGL, which probably covered a lot of his library needs.
Java has a JIT, so it's not comparable to Ruby and Perl.
It did not start being popular :)
Seriously though, I think Java helped it get so much traction initially. Writing mods was tedious but not that difficult, and it was multi-platform for free. Nowadays I assume the vast majority are playing bedrock on consoles or PC, but at the beginning it was rather nerdy and being playable on Linux and Mac was nice for some tech-minded people.
Given what it was in the very beginning versus what it very rapidly grew into, I guess it was just something that made sense at the time.
Bedrock started as "Pocket Edition". Probably the best place to get the story is at: https://minecraft.wiki/w/Pocket_Edition
I like Minecraft quite a lot and am not concerned with interoperability between Java and Bedrock... but will only play the Java Edition because of game-play differences between the two; differences in which Java Edition comes out as being materially better than Bedrock... at least from my perspective.
Also, mojang (not microsoft) really appreciates modders, which java edition is strictly superior for
The real reason is you want to run your game on the latest greatest WiiStation(tm). if it is written in C/C++ you sit down with a copy of their development library and change your code to fit. If it is written in java you port the jvm to the device. And I don't really know how hard that is(having never ported the jvm) but most people sort of balk at that step.
Microsoft thought it was easier/better to rewrite minecraft in C++ than port the jvm to the xbox. There was a big enough customer base attached to the original java version they did not want to discard it(backlash would be too huge and messy).
That said, I'm convinced that 90% of the reason that the current mess exists is because Microsoft was convinced that most users would be migrating from Java to bedrock. And they probably would have (modding and other things aside), had the Microsoft team not decided to "fix" many aspects of redstone.
Since then there's been the constant issue of parity between the two versions, which will likely never be achieved. And 90% of the time it's because the Microsoft developers working on bedrock edition decide they know better than mojang does, so they can implement a feature in a different way, or just implement a new feature entirely.
Ugh it's a mess, and I've spent way too long thinking about it.
I don’t think that’s quite right. IIRC, the mobile iOS version was released before the Xbox one and neither were developed by Microsoft. I think eventually it’s the mobile version that became Bedrock and replaced the older console version, which became a dead end.
The mobile version (released in 2011) could not be in Java, otherwise it could not have been sold on iOS. So at least initially it was more a business decision about which platforms to target than a technical decision to do away with Java.
All this happened years before Microsoft bought Mojang.