Do you consider Croatian, Bosnian and Serbian separate but mutually intelligible languages or dialects of one South Slavic language? An example would be the Scandinavian languages of Danish, Swedish and Norwegian on one hand (mutually intelligible) or the numerous dialects of Italian on the other? Being interested in different languages I wondered if learning say Serbian would mean I could pick up Croatian easily.
I knew someone who was Croat by nationality (he called himself a Yugoslav since one parent was a Serb and the other a Croat) who would roll his eyes whenever I mentioned Bosnian as a language and tell me there is no such language. Yet I see dictionaries, textbooks and a wiki about the Bosnian language (and now I see there is a Montenegrin language?) so I'm confused and yet curious about your thoughts.
Also, for those of you who lived the former Yugoslavia, did you also have to learn Slovene and Macedonian in school (and they learn Serbo-Croatian)? Sorry for the length but I'm really interested in this topic. Coming from Canada French is mandatory learning for us in elementary school.
I'll start from the end, since that's the easiest part. Most inhabitants of Yugoslavia did not learn Slovenian or Macedonian; those were official languages in those respective republics (as was Albanian in Kosovo, and Hungarian in parts of Vojvodina, by the way), but Serbo-Croatian was the official language of the country and everyone was expected to be proficient in it, or at least capable of understanding it. The Canadian comparison is interesting, because I don't know if the Quebecois are required to learn English.
As for the matter of languages being related... It is absolutely not politically correct to point out that they are in fact as closely related as Italian dialects. Everything in the Balkans is political, including the language. If one tries to point out that even today the official languages in Croatia and Bosnia have about 80% (if not more) in common with Serbian, that's an automatic accusation of "Greater Serbian nationalism and imperialist chauvinism" with charges of "aggression" and "genocide" soon to follow. Kind of like that idiotic Daily Kos post I was referring to.
The truth is, linguists who worked in the early 1800s to modernize and codify the alphabet and grammar rules of what are today Serbian, Croatian and Slovenian often worked together and accepted the basic premise that would eventually lead to Yugoslavia, of "one nation, three tribes." In retrospect, the premise was flawed - there was just not enough shared historical experience for Croats, Slavonians, Dalmatians, Istrians and Carinthians to live in a common state with the Serbs (not to mention the Muslims) - but in the XIX century the Yugoslav idea was all the rage.
There is no question that Vuk Karadžić and Đuro Daničić were strongly influenced in their reform of Serbian by the work of Ljudevit Gaj and Jernej Kopitar, not to mention the political and cultural influence of Vienna. This is why Vuk's Cyrillic is interchangeable with Gajevica (the modern Latin script used in Slovenia, Croatia and Bosnia), for example, and why modern Serbian sounds nothing like Russian.
There are further differences in regional dialects; for example, an Istrian or a Slavonian has issues with understanding Dalmatians, and none of them can understand the peasants of Zagorje (or people from nearby Zagreb) quite right. Differences in Bosnia, Herzegovina and Serbia are far less pronounced.
Modern Croatian - as well as "Bosnian" and "Montenegrin" - are products of political engineering in a reverse direction from the XIX century Yugoslav linguistics. They've been deliberately modified starting in the 1990s to be as different from Serbian as possible, in order to underpin the political independence of Croatia, Bosnia and Montenegro.
Modern Croatian has a dual purpose: to unify the regions which have historically been under different rulers (Dalmatia and Istria were Venetian for centuries, then passed to Austria, while Zagorje and Slavonia were dominated by Hungary and Dubrovnik was independent), and as a result have developed distinct regional dialects; and to establish an identity different from and opposite to Serbian. No one actually speaks the official Croatian yet, it's a sort of "newspeak" being adopted slowly. This incongruity was best described by Miljenko Jergovic, a Sarajevo Croat (who writes beautifully, whatever one may call the language he uses) a few years ago, in a piece about how the Croatian movie distributors subtitled a Serbian film.
Identity politics was behind the establishment of "Bosnian" and "Montenegrin" as well; in both cases, the ruling regimes in Sarajevo and Podgorica embraced the Croatian newspeak as a foundation, then added Turkish/Persian/Arabic words and expressions (Bosnia) or added a couple letters and enshrined a regional dialect as a distinct language (Montenegro). In what I thought was especially hilarious, last year a group of Muslim linguists actually protested the "increasing Croatization of the Bosnian language," apparently unaware of the irony. Ivo Andrić, Meša Selimović and Njegoš are spinning in their graves.
Mind you, only the Bosnian Muslims (renamed "Bosniaks" in the 1990s, the better to stake their claim to the entire country) say they speak "Bosnian," and take offense when Bosnian Serbs or Croats call that language "Bosniak".
I usually have no problem getting across to people if I use my native Sarajevo dialect of Serbo-Croatian (and remember to enunciate the vowels properly); barring that, I can speak official Serbian with little difficulty. For the life of me, I can't get a hang of the Croatian newspeak, or "Bosnian" (let alone "Montenegrin"), which results in hostile stares when I travel to Croatia or Bosnia. So I speak English instead.
That's what I advise to all foreigners interested in the region as well; trying to learn any of the local languages is not only fiendishly difficult (the grammar is almost completely irrational, even if spelling is a non-issue), but you risk annoying people by speaking the "wrong" language, and making things worse when you insist they are "all the same, anyway." Especially since, down on the basic level, they really are.