EEPROM is an acronym for Electrically Erasable Programmable Read Only Memory. It seems strange it is erasable if it is read only. But I think they are talking about normal usage. Most of the access cycles are reads. When you write something to a location, it has to be erased first and that is a very very slow process.

Marlin firmware is mostly written in .C but the file extensions are C++. There is some very limited usage of C++ but it would be safe to say it is written in C. They post processing script we are going to use for scanning through the GCode to limit the probe area is written in Python. But I don't think you are talking about that.