Java (programming language)
Java has no unsigned integer types, which languages like C heavily use. This also means that it is impossible to directly exchange numeric data between C and Java programs. Cryptography also relies on such types to some extent; this makes it more difficult to write applications that use cryptography in Java.