Todo lenguaje sirve para programar malware. Ya depende de tu nivel y destreza en ese lenguaje la calidad del malware.
(Yo personalmente descarto cualquier lenguaje .NET por sus dependencias.)
Lo que tienes que tener es soltura con la API de W32... con eso y saber desenvolverte usando la MSDN y Google no hay demasiada complicación.
Respecto a tu duda de C/C++... básicamente es debido a que C++ es una
extensión de C. Para que lo entiendas C++ es como C pero con OOP.
Cualquier otra cosa pregunta