Jaka jest różnica między przyszłością a obietnicą? (W Akka i Gpars.) Wyglądają dla mnie tak samo, jak blokują i zwracają wartość przyszłości, gdy wywoływany jest get, a obietnicą jest uzyskanie wyniku
Groovy to oparty na Javie język programowania „nowej generacji”, zaprojektowany w celu ulepszenia Javy przy jednoczesnym dodaniu popularnych funkcji z Smalltalk, Python i Ruby. Składnia Groovy to super zestaw języka Java, który umożliwia programistom Java rozpoczęcie kodowania w Groovy, gdy się go uczą. Groovy jest w pełni zorientowany obiektowo, dynamiczny i płynnie integruje się z Javą. Jeśli chodzi o rynek, sukces Groovy'ego można zgadywać. Głównymi konkurentami są Ruby, Scala i Closure.
Jaka jest różnica między przyszłością a obietnicą? (W Akka i Gpars.) Wyglądają dla mnie tak samo, jak blokują i zwracają wartość przyszłości, gdy wywoływany jest get, a obietnicą jest uzyskanie wyniku
Jestem pewien, że to pytanie zostało zadane wiele razy. Chciałbym jednak o to zapytać ponownie z myślą o przyszłości tych języków. Po raz pierwszy zapoznałem się z Groovy i bardzo mi się podobało. Czułem, że składnia jest prostsza i była znacznie bliższa Javie i mogłem szybko nauczyć się Grails...
Od jakiegoś czasu rozwijam się w Groovy i zastanawiam się, jak często powinienem używać dynamicznego rzutowania def? Mój współpracownik uważa, że powinniśmy go zawsze używać, ponieważ pomaga Groovy w jakiś sposób, którego nie rozumiem. Obecnie, deklarując typy zwracane przez metody i argumenty,...
Obecnie pracuję nad projektem Groovy / Grails (w którym jestem całkiem nowy) i zastanawiam się, czy dobrą praktyką jest pominięcie returnsłowa kluczowego w metodach Groovy. O ile wiem, musisz jawnie wstawić słowo kluczowe, np. Dla klauzul ochronnych, więc czy należy go używać także wszędzie...
Ostatnio zacząłem programować w Groovy dla środowiska testowego integracji, dla projektu Java. Używam Intellij IDEA z wtyczką Groovy i jestem zaskoczony, widząc ostrzeżenie dla wszystkich metod, które są niestatyczne i nie zależą od pól instancji. Jednak w Javie nie stanowi to problemu...
Oto interesująca dyskusja na temat zasady korespondencji Tennenta i krótki opis Neala Gaftera : Zasada dyktuje, że wyrażenie lub oświadczenie, gdy jest zapakowane w zamknięcie, a następnie natychmiast przywołane, powinno mieć takie samo znaczenie, jak przed zapakowaniem w zamknięcie. Każda...
Groovy ma pojęcie, które nazywa „curry”. Oto przykład z ich wiki: def divide = { a, b -> a / b } def halver = divide.rcurry(2) assert halver(8) == 4 Rozumiem, co się tutaj dzieje, że prawy argument dividezwiązany jest z wartością 2. To wydaje się być formą częściowego zastosowania. Termin...
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Jakie są największe...
Czytałem przez Groovy in Action, wydanie drugie i w przypisie znalazłem następujący tekst Java wylewa „ocet składniowy” na taki konstrukt, aby zniechęcić programistów do korzystania z niego. Co syntax vinegaroznacza tutaj ten termin ? Nigdy wcześniej nie słyszałem o tym terminie i szukałem w...
Uczę się groovy i właśnie dowiedziałem się o nowej funkcji dodanej w 2.3, która jest dodatkiem do cech . Teraz wydaje mi się, że cechy pozwalają zrobić w zasadzie wszystko, co może zrobić superklasa i interfejs. Czy dodanie cech do Groovy powoduje, że dziedziczenie i interfejsy stają się...
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 6 lat temu . Jaki jest obecny...
Codziennie czytam artykuły na temat programowania funkcjonalnego i staram się stosować jak najwięcej praktyk. Ale nie rozumiem, co jest wyjątkowego w curry lub częściowym stosowaniu. Weź ten kod Groovy jako przykład: def mul = { a, b -> a * b } def tripler1 = mul.curry(3) def tripler2 = {...