@Gvarda @Dušan As a student of linguistics, I can tell you that you are both right, and both of you are wrong. See, there is no universal definition of language, linguists cannot come to a single conclusion where the line between dialects and languages is. And also, there is the social aspect of language (there is a special branch studying that – sociolinguistics) which you cannot ignore and just go bashing right into phonology, morphology or whatever and ignoring the historical and sociological backgrounds of languages since all of that has played a large role in forming any modern language. So perhaps, purely linguistically, Croatian and Serbian can be considered as 2 variations of one single language, but when you factor in the social, historical and political aspects – Croatian, Serbian and Bosnian are three different languages which are growing more different every day. Perhaps in a hundred years, this discussion will be obsolete since the languages will have developed in different directions, different enough to clearly separate them, but for now, there is no correct answer.