Так какой-же язык выбрать !?
Вообще в сети много холиваров на эту тему.
Многие представители старой школы отказываются признавать новые технологии и считают разработку малвари, как низкоуровневую разработку, т.е. что-то там на уровне драйверов системы, какое-то аппаратное взаимодействие низкоуровневое, например работа с процессором, реверс и т.д.
Да, всё это может присутствовать в разработке, но необходимо понимать, что малварь сейчас весьма обширное понятие.
В общем я считаю, что разработка малвари, это системная разработка, ну т.е. нужно понимать в целом как работает система, обладать более глубокими знаниями в устройстве ОС.
А вот с выбором языка тут всё зависит от самой задачи, знаний языка и т.д.
Ещё хочется отметить, что существует много наработок уже и инструментов на разных языках, этими инструментами тоже нужно уметь пользоваться.)
Вот ну и последнее наверное, если почитать этот форум, то используется язык Си в основном, причин этому несколько:
1. Тут в основном изучение обхода средств защиты и т.д., поэтому язык Си более предпочтителен, т.к. нет ограничений работы с памятью и т.д.
2. Программы собранные компилятором Си легче исследовать, например в том-же дизассемблере.
Но понятно что куча минусов этого языка, начиная от безопасности и заканчивая отсутствием каких-то фишек, как например в С++, хотя если говорит про С++ там тоже есть не мало минусов, важна практика...)