What are the main differences between using C and C++ for STM32 microcontroller programming? Which language is better suited for different use cases, and what are some factors to consider when choosing between the two for embedded system development?