Здравствуйте, Слава, Вы писали:
С>Здравствуйте, lpd, Вы писали:
С>Можно использовать несколько языков в проекте. Только вот выбранный ранее язык определяет идиосинкразию предыдущих разработчиков к чему-то новому и отличному от милого их сердцам make c #DEFINE TRUE FALSE.
Может, в некоторых случаях и можно использовать несколько языков. Только ради чего вообще в проекте C#? Только ради автоматического управления памятью? Утечки памяти в C++ отлично отлавливаются с помощью valgrind. C# сейчас используются исключительно из-за наличия удобного фреймворка веб-приложений — других серьезных причин я не вижу.
С>Вот хороший пример совсем из другой области:
С>...
С>Уж казалось бы — HPC. Куда там ffmpeg'у какому-то, или обработке voip, которая вся сводится к манипуляции текстовыми заголовками. И то — людям стало УДОБНЕЕ пользоваться не байтогрызным MPI с его высокомерным сообществом, а написать свой Apache Spark. Фреймворк для ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ вычислений для Яве. На Яве, Карл!
Я знаком с HPC. Возможно, в будущем и появятся лучшие механизмы, чем MPI. Только реализовать их на Java — это выкинуть 7000 ксеонов из 10000. То, что такие проекты в природе существуют, ни о чем не говорит, тем более, что на практике их не применяют.
С>Или вот еще оттуда, оцени уровень удобства байтогрызного фреймворка из 80х родом:
С>Today, MPI's error handling model is what it has always been; you can assign an errorhandler to be called when an error occurs in an MPI program, and when that happens you can... well, you can print a nice message before you crash, instead of crashing without the nice message.
В HPC никакая обработка ошибок и не нужна. Если узел вышел из строя, или есть баг в программе, то восстанавливаться и никакие другие запросы обрабатывать не надо — весь расчет прийдется начинать сначала. Так что это не может быть претензией к C++ или даже к MPI.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)