Podstawowy język Haskell jest naprawdę prosty. Pochodząc z tła OO, główną trudnością jest dostosowanie się do czysto funkcjonalnego paradygmatu.
Ucząc się „podstawowego” języka Haskell, zawsze brałem pod uwagę rozszerzenia językowe jako zabawki dla osób CS lub eksperymenty dla przyszłych wersji języka (jak from future import ???
w Pythonie).
Jednak kiedy zacząłem patrzeć na frameworki takie jak Yesod, okazało się, że wiele plików źródłowych wymaga rozszerzeń 3 i 4. Niektóre wyglądają dość prosto (StringOverload). Inne są naprawdę przerażające (GADT, Type Famillies, Template Haskell). Ich dokumentacja prowadzi do artykułów naukowych, co jest przerażające dla kogoś, kto spodziewa się „nowej” biblioteki.
Czy trzeba uczyć się rozszerzeń języka GHC, aby być produktywnym w Haskell? Gdybyś zatrudnił programistę Haskell do aplikacji produkcyjnej, czy poprosiłbyś o taką wiedzę?
Odpowiedzi:
Tak. Dotyczy to każdego języka / narzędzia. Z podstawową / podstawową wiedzą możesz rozwiązać problemy związane z konkursem online, może to być niewielki projekt uniwersytecki, ale zdecydowanie nie aplikacja w świecie rzeczywistym.
To zależy teraz od tego, czy masz przy sobie jakąś osobę, która może dzielić się tą wiedzą. Jeśli tak, to osoba ta może zwiększyć nowego pracownika. Jeśli nie, najpierw musisz zdobyć taką wiedzę. I znowu dotyczy to nowych technologii.
Oczywiście można również próbować zatrudniać ludzi posiadających tak głęboką wiedzę w Haskell. Ale Haskell jest stosunkowo nowy w branży i biorąc pod uwagę, że wokół niego wykonano niewiele projektów komercyjnych, znalezienie takiej osoby będzie trudne. Skutecznym sposobem na zbudowanie zespołu specjalistów w Haskell będzie zatrudnienie ludzi, którzy znali się na podstawach i chcą pracować w Haskell, a następnie ich kształcenie.
źródło