Why is the ENS contract in LLL language?

I noticed that the code deployed in the ens contract was written in LLL. Why is this contract in LLL language, while the others are in solidity language? Is it for safety or something?

We wrote ENS back when Solidity was still very new, and fairly inefficient. The LLL implementation was a lot more efficient, as well as producing bytecode that was simple enough it could be decompiled to verify it exactly matched the implementation.

These days, Solidity is a lot more mature, so there’s a lot less reason to do this kind of thing.

:ok_hand: I see. Thank you for your reply.