Wpis z mikrobloga

@trustME: Kiedyś na studiach na 3 roku IT zaskoczyło mnie że kolega obok nie kumał co to referencja :) i dziwił sie że jak w modyfikuje obrazek pod jedna zmienna to w innych też sie zmienia:P
@trustME: Dosyć dużo czasu zajęło zrozumienie czym tak naprawdę jest programowanie funkcyjne, jeżeli wcześniej pisało się tylko obiektowo. Czyli zagadnienia takie jak referential transparency, side effects, monady, itp. Tym bardziej że niektóre community (np. Javowe) do tej pory wprowadzają w błąd mówiąc na przykład że wystarczy używać wyrażeń lambda żeby już pisać funkcyjnie.
@Flypho

Community javowe mówi, że programowanie funkcyjne to podanie anonimowej funkcji? Proszę o źródło xD.

Popytaj programistów Javy o to czym jest programowanie funkcyjne. Raczej nie spodziewaj się porywających odpowiedzi ¯_(ツ)_/¯

Community javowe ma swój własny język funkcyjny - Scala.

Tak bardzo Scala należy do community Javowego, że jedni z drugimi nie chcą mieć nic wspólnego xd
@tylko_zerknalem
Trochę trudno pisać w Scali, jak całe repo jest w Javie xD. Co to znaczy piszą? Każdy dev którego znam poradziłby sobie lepiej lub gorzej z każdym językiem jvma. Wymyśliłeś sobie jakiś mit nienawiści javowcow do scali xD. My nienawidzimy tylko Javascriptu a to też nie wszyscy.
@Flypho: Nie pisałem nic o nienawiści, tylko o tym że to są całkowicie autonomiczne communities, które mają ze sobą stosunkowo małe przecięcie. Zupełnie inna historia niż np. z Javą i Kotlinem. Widać to chociażby po stylu pisania aplikacji, gdzie Scala mocno odcina się od Javaismów i całego #!$%@? około-Springowego. Scala nie jest żadnym produktem community Javowego, jest tylko czymś co współdzieli z nim środowisko uruchomieniowe. Tylko tyle i aż tyle.
gdzie Scala mocno odcina się od Javaismów i całego #!$%@? około-Springowego


Przecież Scala ma (miała?) swojego własnego potworka, chyba nawet jeszcze gorszego od Springa xD - Play. Jakie inne javaismy masz na myśli? Scala jest tak samo formalna względem składni co Java - ba, powiedziałbym, że jest pod tym względem nawet bardziej formalna, bo pozbywa się prymitywów xD.

Scala nie jest żadnym produktem community Javowego, jest tylko czymś co współdzieli z nim
@Flypho: Play jest już na wymarciu i zdecydowanie nie jest ani nigdy nie był żadnym standardem w aplikacjach Scalowych (w przeciwieństwie do Springa w Javie). Jeżeli chodzi o Javaismy których ze świecą można szukać w aplikacjach Scalowych:
* wszechobecna mutowalność
* niekontrolowane side-effecty
* flow aplikacji sterowany przez rzucanie wyjątków
* duży coupling pomiędzy encjami a zachowaniem które ich dotyczy
* runtime dependency injection
* runtime annotations
* dynamic proxies
*
@tylko_zerknalem:

wszechobecna mutowalność


To wynika wprost z podejścia obiektowego vs funkcyjnego.

* niekontrolowane side-effecty


Jakie konkretnie?

* flow aplikacji sterowany przez rzucanie wyjątków


Jest w Scali.

* duży coupling pomiędzy encjami a zachowaniem które ich dotyczy


Programowanie funkcyjne vs obiektowe.

* runtime dependency injection


Jest i w Scali.

* runtime annotations


Jest i w Scali.

* dynamic proxies


Jaki to javaism? xD Technika obecna w wielu językach.

* refleksja


Jest i