system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why are dots and dashes the only acceptable non-alphabetical/numerical characters in usernames on social media sites and message boards?

Like is there any specific reason as to why other characters cannot be accepted, like an asterisk or a currency symbol?
gpt
In programming, certain characters are reserved as special characters. These characters vary by programming language, so it's easiest to just prohibit all of them. 

Why is this a problem? A lazy programmer might take the provided username and simply drop it right into their code. This means that a malicious user could create a username that intentionally makes the code do something it's not meant to do. This is called an "injection attack". 

And there are plenty of good non-malicious reasons too. For instance, the $ symbol looks like a capital S, so that presents issues with readability and username forgery.