It was basically "throwaway code" which was written in a hurry for a prototype that was not expected to have a long life. This kind of parsing was (is?) very common in the video game industry, and quite easy to author in C++, so it would have been the first tool the developers reached for to implement a real-time network protocol.
The evolution was hardcoded -> message template -> "Liberación" which allows the protocol to tolerate unknown fields, and thus be future-compatible, much like Protobuf does.
Yeah. Linden was this weird mixture of Games Programmers and Enterprise Software Architects. Games programmers all know the absolute most important thing in the world is ship date and since you never re-use your code, who cares if it's easy maintain, you're never going to see it again! Enterprise Software Architects know performance takes a back seat to correctness and ease of extension. Since the enterprise never throws any code away, it's important to make sure everything can be updated by the next group of contractors you hire, even if that means you take a performance hit.
Turns out both communities didn't have a perfect idea of what they should be doing.
The evolution was hardcoded -> message template -> "Liberación" which allows the protocol to tolerate unknown fields, and thus be future-compatible, much like Protobuf does.
Source: worked on the Liberación project.