What software and programming languages are being used for the various systems on the Perseverance mission to Mars? What are the design principles and mission constraints that have influenced the choices that have been made?
Probably the usual aerospace stack: C/C++ and Ada doing the heavy lifting. Since memory is no longer a (significant) space constraint in 2021, I suspect other high level languages are also used for the non-critical parts of the system.
The main computer of Perseverance (and Curiosity) has 256 megabytes of RAM. Which is only twice of what Spirit and Opportunity had so I wouldn't call this a significant increase. (Even Pathfinder had 128 in 1997 but wasn't a rover.)