In most of the programming languages variable names should begin with a letter or an underscore, followed by any combination of letters, numbers, and the under-score character. I have found this in c,c++ and php (after the $).
Is it just a convention followed by compiler/interpreter writers or are there any practical reasons for this?
Why is it necessary that variable names be composed only of letters,underscore and numbers in these languages?