Если вы пишете новое приложение с нуля сегодня и хотите, чтобы он масштабировался ко всем ядрам, которые вы могли бы добавить на него завтра, какую параллельную модель программирования/систему/язык/библиотеку вы бы выбрали? Почему?
Меня особенно интересуют ответы по этим осям:
- Производительность программы/простота использования (могут ли смертные ее успешно использовать?)
- Целевой домен приложения (какие проблемы у него (не) хорошо?)
- Concurrency стиль (поддерживает ли он задачи, конвейеры, данные parallelism, сообщения...?)
- Поддержание работоспособности/будущая проверка (будет ли кто-нибудь еще использовать ее через 20 лет?)
- Производительность (как она масштабируется на каком оборудовании?)
Я сознательно расплывчато отношусь к природе приложения в ожидании получения хороших общих ответов, полезных для различных приложений.