Wasza opinia o implicitach w Scali

0

Martin Odersky przymierza się do przerobienia składni implicitów w Scali na coś odmiennego: https://github.com/lampepfl/dotty/pull/5458 Mechanika pozostaje podobna, ale składnia jest znacząco różna.

Implicity w Scali są okryte złą sławą. Zastanawia mnie czy to jest spowodowane przez składnię, pewne niedociągnięcia czy może mechanizm sam w sobie pozwala na pisanie kodu, którego programistom nie chce się analizować (typu biblioteki scalaz, cats, shapeless, etc)? Wydaje mi się, że zła sława implicitów wynika przede wszystkim z użycia bibliotek typu scalaz, które są trudne w użyciu i zrozumieniu dla typowego programisty OOP. Jakie jest wasze zdanie?

0

Szukam jakiegoś nowoczesnego języka do pisania hobbystycznie, ale ta Scala którą spróbowałem okazał się za trudna na pierwszy język. Powstało coś nowego na JVM o prostej składni jak w Swift, TypeScript?

2

Implicity są raczej standardowym chłopcem do bicia dla ludzi, którzy się zniechęcili do scali, bo raczej nie da się pisać w Scali na rympał. A na coś winę trzeba zwalić. Też uległem kiedyś tej propagandzie.
Szczególnie mnie cieszy jak ktoś narzeka jakie to implicity złe, bo nie wiadomo co sie wstrzyknie... a potem bez mrugnięcia okiem wraca do kodzenia w Springu w Javie.

Raz jeden miałem istotny problem z implicitami, bo faktycznie komunikat błędu jaki dostałem był tak niezrozumiały, ze zajęło mi dzień ogarnięcie co się (od...ało) stało. Jest to zwykle najgorszy wymiar kary za implicity. Nadal, o wiele mniej groźny niż skutki zabaw runtimowych tak popularnych w innych językach na JVM ( i wyrypanie się dopiero na produkcji). A właśnie implicity to jeden z elementów Scali, który zastępuje zabawy z magią runtimową (typu refleksja, dynamic proxy).

Co do samych implicitów IMO są dziwne (nietypowy koncept), ale się już przyzwyczaiłem. Chętnie bym zobaczył jakąś ciekawą alternatywę, ale te witnessy jakoś nie widzę w czym są istotnie lepsze. Nazwa trochę lepsza, ale żadna rewolucja, albo bardzo nie kumam ( co jest dość możliwe). Lichuj widzę po tym pomyśle pojechał trochę.

Btw. Scalowe makra są dużo gorsze od implicitów, ale co gorsza też cholernie potrzebne i lepsze od obecnych runtimowych alternatyw z javy. Natomiast jest mniej na makra narzekania, bo chyba mało kto z przerabiających programowanie w Scali w weekend dochodzi do tego rozdziału.

Co do ankiety to jakbym miał doktorat to powiedziałbym, że mam stosunek ambiwaletny. Ale po swojemu to po prosu niie wiem co odpowiedzieć: ani do końca mnie nie radują, ani nie znam lepszej alternatywy pasującej do obecnej Scali.

0

Wszystko zależy. Jeśli kodujesz off-line to wszystko będzie ok. Ot cała prawda

1 użytkowników online, w tym zalogowanych: 0, gości: 1