Library

Alternatywy dla Prelude w Haskellu

7 minut(y)

Haskell jest pięknym językiem programowania, ale nie jest doskonały. Haskell posiada wiele błędów projektowych. Biblioteka standardowa Haskella też nie jest idealna. Prelude jest zbiorem domyślnie importowanych modułów w Haskellu z biblioteki standardowej. Niestety prelude importuje wiele niebezpiecznych oraz powolnych funkcji. Jednocześnie nie importuje wielu użytecznych funkcji.

Haskell i monady - czy monady są jeszcze egzotyczne?

13 minut(y)

Język programowania Haskell to ma straszną opinię. Że trzeba rozumieć co to teoria kategorii albo monady. Tylko że teoria kategorii odnosi się do wszystkich języków programowania. A monady są podobno możliwe nawet w Bashu. Gdy tak mówię lub piszę, ludzie mi nie wierzą. Ostatnio z tego powodu dostałem kod w Haskellu, który wyglądał mniej więcej tak:

Biblioteki do logowania dla języka Java i platformy JVM

6 minut(y)

W artykule Konfiguracja fabryki loggerów z biblioteki Slogging w Scali autorytarnie stwierdziłem, że Logback dla JVM jest najlepszym silnikiem do logowania. Czytając artykuł Programowanie w Rust: The Good, The Bad and The Ugly zszokowała mnie informacja, że programista nie wie która biblioteka logowania dla Javy jest najlepsza. Prawdziwa klęska urodzaju. I programista nie wie co wybrać

Scala - No Universal Equality

6 minut(y)

Ostatnim błędem zgłaszanym w kodzie projektu resentiment przez scalafix jest “No Universal Equality” wynikający z użycia operatora ==.

Biblioteki do logowania dla języka Scala

9 minut(y)

Chcąc dowiedzieć się co dzieje się wewnątrz naszej aplikacji mamy dwie drogi. Pierwszym sposobem jest debugowanie. Jednak im więcej wątków w aplikacji i im bardziej komunikują się one w sposób asynchroniczny tym trudniej jest debugować. Drugim sposobem jest logowanie informacji. Najprostszym sposobem logowania informacji w Javie jest System.out.println, a w Scali upraszcza się to do println. Ale jest to złe z dwóch powodów: Po pierwsze, jeśli piszemy aplikację “konsolową” (ang. command line interface, CLI) to użytkownik będzie niepotrzebnie widział nieinteresujące go informacje z wewnętrznego procesu przetwarzania. Tak wypisanych informacji nie można zapisać w bazie danych ani wysłać do innego systemu.

Wróć do góry ↑