>What is the simplest explanation as to why these are needed? Why not just set regular variable values? So what if they are constant and don't change?
In addition to Hilmar's reply - all define variables would be substituted with their values in compilation time, e.g. the code would actually read 5 instead of SOMENUMBER every time where SOMENUMBER is used.
If it's not broken, fix it until it is.
My Blog