''What is the purpose to make a constant volatile''
'const' does not actually mean that it's a constant - it just prohibits writes''if it can not be changed anyways ?'' It cannot be written by the program - but that does not mean that its value will not change! As already noted, think of a read-only hardware register...
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.