I'm a life-long programmer trying to improve my C# (and Unity). I have written programs in Java, C++, C, VisualBasic, Pascal, FORTRAN, APL, BASIC, and more assemblers than I care to admit. I was pleased to discover that I am not alone in my distress over the lack of an unsigned byte in Java, but C# gets right nearly everything Java gets wrong, so switching from Java to C# as my language-of-choice was easy.