Здравствуйте, баг, Вы писали:
баг>1. Привычное множественное наследование: есть класс-родитель, есть класс-дитё, есть третий класс с неким функционалом, который хочется использовать, но нельзя.
баг>Какие шаблоны для выхода из ситуации? Третий класс в виде члена дитя, статические методы в персом? Что ещё?
Наследования зачастую не верно используется там где нужна агрегация. Так что множественное наследование хоть и может иногда пригодиться, но не критично.
баг>2. Множественные результаты функции. В других языках есть передача по ссылке, в Яве вроде как нету этого. Как прикажете возвращать? Заворачивать в новый класс и возвращать его? Или есть может что-то обобшённое вида туплов (tuple)?
Если объект возвращает пару значений, значит они логически связаны. Если они логически связаны, то почему они не являются полями одного объекта?
На худой конец можно и туплом с генериками.
баг>3. Сериализация. В С++ просто: объявил структуру и привёл к ней любой участок памяти. В Яве? Собственный DataInputStream и ObjectInputStream? Или как ещё парсят сетевые бинарные протоколы?
Ну, обычно, используют API, который скрывает механизм сериализации от клиетского кода. Т.е. сериализация просто конфигурируется и всё. Непосредственно с Object...Stream работать не приходится. Есть и альтеранвтиыне реализации, например, Hessian.
баг>4. Коллбэки. В C++ функторы и указатели на функции, в C# делегаты, а здесь что?
Анонимные классы. C# делегаты вроде просто скрывают реализию Observer. Ссылки на метод реально не хватает.
баг>5. Беззнаковые типы
Математику на Java пишут мало. Поэтому никто особо не страдает.
Да. И воспользуйтесь, наконец, поиском. Каждый из этих вопросов уже обсуждали.