Wednesday, August 15, 2012

What language is Curiosity programmed in?

What language is Curiosity programmed in? If you're a computer scientist that's what you want know! Well the answer according to Brian Roemmele on Quora is: "A majority of the programming on the rover compute element (RCE) is written in C.  With highly multi-threaded code (over 130 threads).  Some support code is in Java with Python used for some analysis processing in ground based Mac OS and Linux computers. 
    The RCE is actually two units for redundancy.  The RCE is a RAD750 CPU capable of about 400 MIPS. Each computer's memory has 256 KB of EEPROM with 256 MB of DRAM also 2 GB of flash memory for temporary sensor and image storage.  
    The RAD750 CPU is essentially a radiation hardened version of the PowerPC 750 originally developed by Motorola.  It was introduced in 1997 replacing the PowerPC 603e.  This was the same PowerPC microprocessor that was in use in the Power Mac G3.  
    The RAD750 CPU is manufactured by BAE Systems Electronic Solutions and costs about $200,000 per mil-spec grade unit.