It's 2025 and I still don't get why Java needed signed chars and bytes. Why completely disregard the convenience of using them for array access/etc..
> Gosling: For me as a language designer, which I don't really count myself as these days, what "simple" really ended up meaning was could I expect J. Random Developer to hold the spec in his head. That definition says that, for instance, Java isn't -- and in fact a lot of these languages end up with a lot of corner cases, things that nobody really understands. Quiz any C developer about unsigned, and pretty soon you discover that almost no C developers actually understand what goes on with unsigned, what unsigned arithmetic is. Things like that made C complex. The language part of Java is, I think, pretty simple. The libraries you have to look up.
From http://www.gotw.ca/publications/c_family_interview.htm
Note that Java has unsigned support nowadays, only not as primitive types, although this is considered post Valhala.
For example, https://docs.oracle.com/en/java/javase/25/docs/api/java.base...
Of course, not having access to unsigned quantities makes interaction with other programs difficult :(
Gotta say that would be a pretty cool evolution of DIY electronics kits to OS kits