Gdy kilka tygodni temu kończyłem kurs M101J: MongoDB for Java Developers, który był moim pierwszym kursem typu MOOC, z niecierpliwością i entuzjazmem czekałem na rozpoczęcie kolejnego. Mój wybór padł na Functional Programming Principles in Scala dostępny na platformie Coursera. Niestety po kilku(nastu) dniach entuzjazm szybko opadł.

Główną rzeczą jaka mi się nie spowodowała na tym kursie był akademicki charakter zadań do samodzielnego wykonania. W porównaniu do zadań z M101J, które miały charakter bardziej praktyczny, bardzo ciężko było mi siadać do wykonywania kolejnych zadań rodem ze studiów. Przed kursem nie miałem żadnej większej styczności ani ze Scalą, ani z programowaniem funkcyjnym (oprócz tego co zobaczyłem lub usłyszałem na różnego rodzaju konferencjach). Miałem więc ogromną nadzieję nauczyć się choćby podstaw praktycznego wykorzystania tych dwóch zagadnień. Niestety zawiodłem się. Z każdym kolejnym tygodniem było mi coraz trudniej zmotywować się do wykonania kolejnych zadań, a ostatnie dwa tygodnie kursu ukończyłem tylko dlatego, że bardzo nie lubię czegoś zaczynać, a potem tego nie kończyć.

Nie chcę nikogo zniechęcać do brania udziału w tym kursie. Nie mogę powiedzieć, że był to całkowicie czas stracony, gdyż mimo wszystko dowiedziałem się sporo na temat podstaw programowanie funkcyjnego i języka Scala. Nie był to jednak kurs, który porwałby mnie całkowicie i przekonał do tego, żebym oderwał się teraz od wszystkiego i poszedł w stronę programowanie funkcyjnego w Scali. Doszedłem do pewnego wniosku: jeśli jesteś zafascynowany Scalą i miałeś już z nią co nieco do czynienia, to ten kurs jest dla Ciebie. Jeśli zaś chciałbyś zacząć swoją przygodę ze Scalą, to dobrze się zastanów, czy warto zaczynać ją od tego kursu, gdyż może on Cię trochę zniechęcić do dalszego działania w tym temacie. Tak jak zniechęcił mnie.