>>>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.
>
>But, from a practical standpoint, does that really matter? I haven't heard anything yet that is convincing that these are really needed or make much of a difference.
It matters in that one way uses memory to store variables at runtime and the other doesn't.