Сергей-4030> Теоретически - да. И практически - да.
Сергей-4030> Но теоретически с теми же бенефитами можно писать и на ассемблере. Ничего подобного. Куча бенефитов собственно и заключается в прямой их - бенефитов - поддержке языком/компилятором. Да, современные методологии можно применять и на ассемблере, и на C, только вот кто будет в этом случае, например, типизацию проверять ???
Сергей-4030> На практике же много более удобная работа с нитями, Это Вам кажется, от того что Вы очень мало с ними работали
Все мэйнстримовые реализации поддержки параллелизма убоги и, соответственно, неудобны. Только C# и выделяется, за счёт yield return. Но эта фича закрывает лишь раздел связанный с асинхронным I/O, базовые проблемы - так же как и у остальных.
Сергей-4030> более строгий язык, переносимость, Есть преимущества, я их не отрицаю. Но разница не так велика как Вам кажется. А уж в случае темы топика, так и вообще практически отсутствует
Сергей-4030> отсутствие средств затуманивания мозгов ака переопределение операторов Наличие героина ещё не повод им колоться
Сергей-4030> и наконец - механизм сборки мусора делают платформу Java более пригодной для больших и сложных проектов. GC очень хорошая и полезная вещь. Однако и на C++ можно писать с минимальными проблемами в области управления памятью. Для того его и разрабатывали собственно. Объекты на стеке + smart-pointer'ы и всё нормально.
Сергей-4030> На мой взгляд, даже этот топик есть иллюстрация, ибо вариант на C++ появился через полгода после варианта на Java. Дело не в варианте. Дело в том, что порт Вашего Java-кода на C++ практически идентичен оригиналу. Вы не использовали Power Of Java
Учитесь читать.