Я думаю, что это очень субъективный вопрос. С теоретической точки зрения в Java нет ничего «пропущенного», потому что вы можете делать все, что хотите, с точки зрения результата как приложения.
Как и в QBasic - рекурсия может быть невозможна, но это не мешает вам изменить рекурсивный алгоритм на итеративный алгоритм. Теория языка программирования говорит нам, что вы можете сделать это с любой рекурсивной проблемой. Так что здесь тоже ничего не пропало.
Я думаю, что вы имеете в виду функции, которые "приятно иметь" - и здесь каждый должен решать сам. Я бы даже сказал, что в языке есть функции, которые были бы «хороши, если бы их не было», такие как статический импорт - но опять же, это мое субъективное мнение ...