The two main types of linguistic competence are generative grammatical competence and communicative sociolinguistic competence. Generative grammatical competence refers to the ability to produce and understand grammatically correct sentences, while communicative sociolinguistic competence involves understanding and appropriately using language in different social contexts.