Niedawno zacząłem uczyć się programowania w Scali i jak dotąd było fajnie. Naprawdę podoba mi się możliwość deklarowania funkcji w ramach innej funkcji, co wydaje się intuicyjne.
Jedno wkurzenie, jakie mam o Scali, to fakt, że Scala wymaga wyraźnego typu zwrotu w swoich funkcjach . I czuję, że przeszkadza to w ekspresji języka. Trudno też zaprogramować ten wymóg. Może dlatego, że pochodzę ze Javascript i Ruby comfort zone. Ale dla języka takiego jak Scala, który będzie miał mnóstwo połączonych funkcji w aplikacji, nie mogę sobie wyobrazić, jak burzę mózgów w mojej głowie dokładnie, jaki typ konkretnej funkcji, którą piszę, powinien powrócić z rekurencjami po rekurencjach.
Ten wymóg wyraźnej deklaracji typu zwrotu dla funkcji nie przeszkadza mi w przypadku języków takich jak Java i C ++. Rekurencje w Javie i C ++, kiedy się zdarzały, często zajmowały maksymalnie 2 do 3 funkcji. Nigdy nie połączono ze sobą kilku funkcji, takich jak Scala.
Myślę, że zastanawiam się, czy istnieje dobry powód, dla którego Scala powinna mieć wymóg, aby funkcje miały jawny typ zwrotu?