Multiparadigmový jazyk typu F#, Scala nebo Clojure je možná vhodný pro začátečníka, ale s dobrým vedením. Určitě ne pro samouka, který se jej chce začít učit z pár tutoriálů na netu.
Je potřeba vědět, kdy které paradigma použít, na které problémy se hodí, co v konkrétním případě přinese a jaká bude výsledná čitelnost kódu. Bez předchozích zkušeností nebo vedoucího, který Ti neustále stojí za zadkem, vždycky vznikne polofungující bastl, čímž se každému programování tak možná znechutí.
Zrovna u F# musíš řešit napojení na C# (F# a C# kolekce jsou občas trochu problém, neb jsou jiné, v F# nefungují některé implicitní konverze - např. když vytváříš XElement, tak nefunguje implicitní konverze System.String na XName, což znamená, že v C# můžeš napsat XElement elem = new XElement("můjPrvníXmlElement");, ale v F# už musíš vytvořit něco takového:
let xn s = new XName(s)
let elem = new XElement(xn "můjPrvníElement)
atp.; jenomže tohle Ti málokdo dopředu řekne). Je tam prostě pár temných zákoutí a "ostrých hran". A pokud budeš chtít dělat grafické rozhraní, určitě ho nebudeš chtít psát ručně, ale sáhneš po grafickém editoru, který je ve Visual Studiu ... ten Ti ale generuje jen C# kód, takže se řešení podobných kravin nevyhneš a de facto se budeš muset učit oba jazyky.
Tvůrci F# se sice chvástají, že je F# plně integrovaný do VisualStudia, ale není to pravda. Je to jenom takový "chudý příbuzný". Nefunguje tam např. zobrazování hierarchie funkcí a tříd (musíš procházet každý modul shora dolů, když něco hledáš ... nějaké "class view" nebo něco takového neexistuje), v F# shellu nefunguje doplňování kódu, zdroje informací jsou trochu omezené ... furt Tě prostě bude něco štvát.
F# je zajímavý jazyk, ne že ne, ale neustále Tě bude něco štvát. A ani další dva mnou jmenované jazyky nejsou úplnou výhrou - Scala je "scalable language", což s sebou nese to, že spoustu věcí v syntaxi lze vynechat a celkově komplexní syntax (neříkám složitou, jen je jí hodně a program může vypadat pokaždé jinak). Zato je ale její základ shodný s Javou. Clojure má sice krásnou a jednoduchou syntax, ale LISPového typu. Vzhledem k tomu, že se stejně nevyhneš spolupráci s Javou (minimálně u grafického rozhraní), tak se budeš muset učit, stejně jako v případě F#(ML syntax)/C# (Céčkoidní syntaxe), 2 syntakticky rozdílné jazyky.
Spíš se poohlédni po jazyuku jako je Ruby nebo Python. Jsou to sice "jen" skriptovací jazyky, ale mají dobré informační zdroje a slušná vývojová prostředí (např. Eclipse/NetBeans) a přestože jejich interprety jsou občas dost omezené (např. o konkurenčním programování si můžeš nechat jen zdát kvůli tomu, že všechno běží "v jednom vlákně") a dělat v nich opravdu rozsáhlé aplikace není z hlediska paměťových ani výkonnostních moc dobrý nápad, na naučení se a psaní jednoduchých skriptů či okenních aplikací jsou super. A informačních zdrojů je, zvlášť v případě Pythonu, opravdu přehršel.