Kotlin had a chance to avoid this mistake but didn't take it.


@Krever kotlin jest mocno kompatybilny z javą w obie strony (a nie jak scala, że tylko w jedną) przez co annotowane nulle były logicznym rozwiązaniem. Co do Scali to nie wiem jak się teraz pisze, ale w czasie mojego krótkiego romansu na studiach było tak jak w Javie (tj, mogę sobie zrobić return null), więc Kotlin wypada tutaj
  • Odpowiedz
  • 0
@Saly:

xd. Less cryptic chyba, że nie masz totalnie pojęcia (jak ja) co to robi

Chodziło mi o to, że TODO jest less cryptic od ???.

Co do nulli to w scali 3 weszlo explicit nulls i to powinno dac dosc duzą pewność poprawności. Ale szczerze mowiac w Scali nulli sie praktycznie nie widzi bo wszyscy probuja uzywac natywnych bibliotek (gdzie nikt nulli nie uzywa) albo sie silnie wrapuje
  • Odpowiedz
@Adaslaw: myślę że można w miarę bezpiecznie założyć że w Polsce ten rynek nie istnieje. Generalnie powinno być porównywalne z Haskellem albo Erlangiem - coś się znajdzie ale wybrzydzać raczej nie mozma.
  • Odpowiedz
#anonimowemirkowyznania
Czy tylko ja nienawidzę programowania funkcyjnego?

Nie wiem czy to chwilowa moda czy tak już będzie zawsze, ale nie mogę przejść z OOP na FP.
Od razu podam przykłady o co mi chodzi z OOP i FP.
OOP dla mnie skupia się na obiektach i metodach na tych obiektach, kiedy w FP chodzi głównie o to by funkcje były bezstanowe (stateless), z użyciem higher order functions, monad i rekurencji.
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@AnonimoweMirkoWyznania: Nie tylko Ty. Wszystko jest OK.
Troche sie meczylem koncepcyjnie z tym tematem, to moze podziele sie wnioskami.

FP, jesli chciec pisac tak kod calosciowo, jest przez powaznych ludzi uzywany *tylko* w domenach, gdzie wymagania matematyczne dot. kodu sa takie, ze jest benefitem / jest taka potrzeba, aby sam kod stanowil dowod matematyczny dla zaprogramowanego elementu / algorytmu / etc.
To jest wazne w niektorych dziedzinach nauki. Glownie takich silnie powiazanych z
  • Odpowiedz
fun String.removeChars(chars: String): String {
var str = this
chars.forEach { char -> str = str.replace(char.toString(), "") }
return str
}

czy
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nigdy nie miałem styczności z programowaniem czysto funkcyjnym i jakoś naszło mnie żeby to dziś zmienić. Który język polecacie? Powiedzmy, że wstępnie wybór zawęziłem do tych trzech #programowaniefunkcyjne

który?

  • Haskell 40.0% (6)
  • Elixir 40.0% (6)
  • Clojure 13.3% (2)
  • Nie wiem 6.7% (1)

Oddanych głosów: 15

  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MlodyWilk: rozważales Idris? Idris to taki bardziej zaawansowany Haskell, więc w pewnym sensie trudniejszy, ale z drugiej strony nie jest obrośnięty dekadami eksperymentów z różnymi funkcjami w dziedzinie designu języków programowania. Haskell jest super ciekawy, ale ma też trochę feel C++ przed to że kolejne rozszerzenia są dodawane do języka, bardzo mało jest usuwane.
  • Odpowiedz
Elixir i Clojure sa dynamicznie typowane, co psuje całą zabawę. Zostaje Haskell, co da Ci dobre poczucie "klasycznego podejscia". Ze swojej strony jednak polecam Scalę, bo w niej się da znaleźć prace :D
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Przegladałem sobie jakieś zadania programistyczne i zwróciłem uwage na zadania z przetwarzania "ciagów".

Jeśli mam ciąg znaków i muszę liczyć ilość wystapień dwóch elementów (grup) + wyszukiwania wzorca (jako trzeci element) to jaki jest najoczywistszy najlepszy sposób na rozwiązanie takiego zadania:

Jest coś co bije "ręczne" przechodzenie po 1 i ustawienia sobie "3 akumulatorów" co licza te wybrane parametry? W sensie wiadomo sumy ida do sum ++ pod warunkiem, a do patterna łapanie X
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dżemdobry, nadal szukamy programistów #scala. Przeklejam z Twittera, angielski i tak obowiązkowy :) Można śmiało pisać z pytaniami.

- remote (UE-ish timezone)
- FP scala codebase (and scala only!)
- great team & engineering culture
- competent management
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Solidly: 15-30m rozmowy wstępnej, zadanie do zrobienia w ciagu 2 tygodni (zajmuje ok 5h), rozmowa techniczna i culture fit (1h + 1h), rozmowa z CEO (15-30m). To na developera, na pozostałe pozycje raczej podobnie ale nie znam szczegółów.
  • Odpowiedz
@inny_89: Co pół roku alokowana jest pewna pula CHSB (nasz token) która następnie jest rozdzielana miedzy wszystkich pracowników zależnie od stanowiska i oceny robionej przez przełożonego. Ja na razie załapałem się tylko raz ale dostałem więcej niż jedną pensję, chyba nawet więcej niż 2 (dokładnie nie pamiętam).
  • Odpowiedz
Człowiek niby programuje od lat, a zrobienie jakichś prostych rzeczy w Haskellu to czasami tak, jakby się od nowa wszystkiego uczył.

Po kilku godzinach walki z transformatorami monad i typami w stylu (Service, ReaderT APIKeys Req b) -> IO (Service, Either HttpException b) oraz [(Service, String -> ReaderT APIKeys Req (JsonResponse Object))] kompilator w końcu zaakceptował moją koncepcję. (òóˇ)

Najlepsze, że rozwiązanie udało mi się znaleźć
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@informatyk: Nie potrafię czytać funkcyjnego kodu i się zastanawiam czy to kwestia wyrobienia nawyku czy każdy kod ze zbyt prostą składnią trzeba "rozkodowywać". Jak na to rozwiązanie spojrzysz za dwa miesiące to ile czasu ci zajmie zrozumienie o co w nim chodzi?
  • Odpowiedz
W ostatnim artykule z serii o Haskellu pisałem na temat funktorów. Następny wpis będzie, jak niektórzy mogą się domyślić, poświęcony funktorom aplikatywnym.

Wcześniej jednak zachęcam do zapoznania się z krótkim artykułem dotyczącym monoidów, ponieważ jest to pojęcie, które pojawi się przy rozkminianiu aplikatyw. ;D

LINK: Półgrupy i monoidy w Haskellu
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W ramach nauki Haskella i systematyzacji swojej wiedzy z nim związanej, postanowiłem naskrobać kilka wpisów, poruszających m.in. takie tematy jak funktory, aplikatywy, monoidy czy monady. Dziś zapraszam na pierwszy artykuł z tej serii ->

LINK: Funktory w Haskellu

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #haskell #programowaniefunkcyjne #naukaprogramowania #funktory
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach