Zacząłem się ostatnio zastanawiać dlaczego "domyślnym" stylem programowania w Scali jest programowanie funkcyjne. Rozumiem że Scala wspiera takie rozwiązanie, domyślne kolekcje są niezmiennicze itp. Ale z drugiej strony Scala jest językiem wieloparadygmatowym wspierającym również programowanie obiektowe. Natomiast praktycznie gdzie nie spojrzę czy to do jakiś artykułów, książek czy kursów to prawie wszędzie mówione jest żeby pisać funkcyjnie bo inaczej to fe.
Dlaczego więc jeśli nie pisze się w Scali funkcyjnie (np: używa for, while zamiast rekurencji ogonowych, czy jakiś bardziej zaawansowanych technik) to dużo ludzi wpada w szał bo to źle ? Nie można pisać obiektowo czy w stylu mieszanym ?
PS. Tak, rozumiem że wiele bibliotek Scalowych jest opartych np: na niezmienniczości, jednak wg mnie programowanie funkcyjne jest po prostu kolejnym paradygmatem mającym swoje zalety i wady. Nie rozumiem czemu się wymusza ten styl jeśli można pisać w też w innych.