You've been able to put colored text in books for a while now with the § symbol but can you do it with signs? Well yes but no. In the Bedrock edition of Minecraft you can again use the § symbol but in signs to get stylized text just like in books. Java did add colored text functionality but you need to use a dye on a sign to get the text colored.
Well I discovered something very odd. I was recently playing 1.16.2 with my friends having not played Minecraft since 1.12. One of my friends had changed the color of a sign and I assumed they added colored sign functionality. Colored signs wasn't really new to me anyways since the Essentials plugin for servers has had colored sign functionality since as long as I can remember, and it too uses the § symbol. So I got a sign and put the § symbol in and whadaya know! It works!
Except for when you click Done. If you go in a sign right now, put the § symbol and a code, and start typing, your text will be styled. Better yet, if you can see the sign in the background while you're setting the text you can even see the stylized text on the sign! The functionality is there!!! I know Bedrock and Java have some differences in features here and there, but this is a feature lock! They've literally coded the functionality of customizable signs in the game but they've locked the feature to Bedrock only and are making us use dyes instead, limiting the amount of customization we have. What gives?
This isn't a serious issue or anything, but it sure was a what moment when I found out what was going on here. Thoughts?
I believe they do this to intentionally be different than bedrock, it makes Java unique in its own way. But... there is also the fact of convenience; many people probably don't know how to use color codes (I personally don't) and it is just much easier to get dye for this. Although it is kind of puzzling how the Java edition can be really different sometimes.