A person who puts forward controversial views
A person who writes polemics
One who vituperates, or censures abusively.