нужно добиться максимальной производительности программы, минимального места занимаемой памяти
Для этого нужен в первую очередь опыт, на любом языке можно написать прожорливого и неповоротливого монстра. С++ чаще всего быстрее, но для новичка он сложен, C# это как конструктор лего, довольно прост, но немного проигрывает в производительности С++.