Por que não há bytes ou literais curtos em Java?

Eu posso criar um literal longo acrescentando um L ao valor; por que não consigo criar um literal curto ou byte de maneira semelhante? Por que preciso usar um int literal com um elenco?

E se a resposta for "Como não havia literal curto em C", por que não existem literais curtos em C?

Na verdade, isso não afeta minha vida de maneira significativa; é fácil escrever 0 (abreviado) 0 em vez de 0S ou algo assim. Mas a inconsistência me deixa curiosa; é uma daquelas coisas que incomodam quando você acorda tarde da noite. Alguém em algum momento tomou uma decisão de design para possibilitar a inserção de literais para alguns dos tipos primitivos, mas não para todos eles. Por quê?

questionAnswers(4)

yourAnswerToTheQuestion