Я заметил, что многие музыкальные программы (DAW, VSTI, плагины и т. Д.) Написаны на C ++. Какие преимущества есть в использовании C ++ по сравнению с любым другим языком в этой области?
Типично, что вопрос будет закрыт — любая дискуссия «этот язык против этого языка» имеет тенденцию вызывать такую коленную реакцию — но существуют объективные технические причины, которые можно перечислить и сопоставить между языками.
C ++ очень быстро выполняет итерацию по необработанным образцам данных, обеспечивает побитовые операции и позволяет в значительной степени контролировать использование памяти и доступ к одним и тем же данным из нескольких частей кода по сравнению с дублирующимися данными. Возможность прямой записи по произвольным адресам памяти — и пометить его как volatile
запретить потенциально проблемное кэширование в регистрах — облегчает низкоуровневую связь с некоторыми аудиоустройствами, как и обработку сигналов. Вещи также набирают обороты … если они изначально популярны, библиотеки пишутся, и это становится все более популярным. Такие методы, как выражения шаблонов, обеспечивают более высокую производительность кода, чем большинство других языков. Шаблоны могут легко печатать копии алгоритмов с встроенной настройкой во время компиляции для определенных форматов данных, обеспечивая высокую производительность.
Других решений пока нет …