Open
Description
Current problem
The message store use message definition, which are big data structure only required when we need to create the messages or explains the message. This is minor as it's probably a small performance gain. Also, we dynamically check and generate the data structure from our code which is always the same for a version.
Desired solution
We could use the msgid internally and simplify the code (and even improve performance). A translation from symbol to msgid when a symbol is used need to be done upfront. We could use typing to enforce that as msgid are string starting with a char betwee E W C or R and then 4 to 5 digits. , We could also generate an optimized data structure for Pylint's own message and only check the message for user plugin and extension.