informatyk
Jakiś czas temu stanąłem przed koniecznością napisania w Prologu testów jednostkowych. I to nie tylko w popularnym SWI-Prologu, ale również w nieco bardziej oldschoolowej implementacji GNU Prolog. W najnowszym wpisie na blogu postanowiłem zebrać zdobyte przeze mnie informacje:

LINK: Testy jednostkowe w Prologu

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #naukaprogramowania #prolog #programowanielogiczne #programowaniedeklaratywne
2
  • Najlepsze
  • Wszystkie komentarze
Hauleth
@informatyk: spodziewałem się, że w Prologu będzie więcej podejścia z testowaniem właściwości (jak QuikCheck) zamiast "klasycznych" jednostkowych. Trochę szkoda, bo wydaje mi się, że Prolog ładnie mógłby opisywać takie testy.
1
Hauleth
@informatyk: "oryginalna Haskellowa wersja" została przepisana na Erlanga tak BTW (http://www.quviq.com). Możesz też zobaczyć całkowicie otwartą implementację w Erlangu - PropEr. Bardzo przyjemnie się tego używa, np. przy testowaniu serializacji, w której bardzo łatwo zdefiniować właściwości (w tym przypadku ser(de(X)) =:= X).
1
informatyk
Po wpisach o funktorach oraz monoidach (w Haskellu), dziś przyszedł czas na funktory aplikatywne. Zapraszam do lektury. ( ͡° ͜ʖ ͡°)

LINK:Funktory aplikatywne

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #haskell #naukaprogramowania #programowaniefunkcyjne
1
informatyk
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
2
informatyk
Wiecie jak czytać wielokrotnie zagnieżdżone list comprehensions w Pythonie? Na przykład:

data = [j for i in accounts for v in i.values() for j in v]
Jeśli nie, to w najnowszym wpisie na blogu pokazuję jeden prosty trick, jak ogarnąć taki zapis. ( ͡° ͜ʖ ͡°)

LINK: Jak
5
  • Najlepsze
  • Wszystkie komentarze
Hauleth
@informatyk: Dlatego zawsze wolałem podejście jak w Rubym (wywołanie metod) lub Elixirze/Scali (wpierw masz generatory, a dopiero na końcu same obliczenia).
2
Rare_Soul
@informatyk: I jak zwykle pojawia się pytanko czytelność vs. wygoda zapisu :)
1
informatyk
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
0
  • Najlepsze
  • Wszystkie komentarze
lolhehe
lolhehe
@informatyk: Co mozna programowac w Haskellu?

W sensie kiedys chcialem sie go nauczyc, nawet zaczalem, ale zupelnie nie wiedzialem co z ta wiedza zrobic.
1
informatyk
@lolhehe: akurat na 4programmers trwa właśnie dyskusja (polecam post kolegi @Hauleth) nt. zastosowań Haskella i innych języków funkcyjnych.

Ucząc się Haskella, uczysz się też paradygmatu funkcyjnego jako takiego (o ile wcześniej nie miałeś z nim do czynienia), więc po ogarnięciu tych wszystkich monadycznych zawiłości, przeskoczenie do jakiegoś innego języka FP będzie równie proste, jak uczenie się kolejnych języków imperatywnych.
0
informatyk
Dziś krótki wpis o dość niszowym zagadnieniu, jakim jest modularyzacja w języku Prolog. Z racji, że jest to dość wiekowa technologia, to nawet nie wszystkie implementacje posiadają jakiegokolwiek sensowne wsparcie dla modułów. Zagadnienie to omawiam na przykładzie 3 różnych implementacji.

LINK: Modularyzacja w Prologu

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #prolog #programowanielogiczne #programowaniedeklaratywne #naukaprogramowania
2
  • Najlepsze
  • Wszystkie komentarze
informatyk
Dosłownie przed chwilą ukazała się kolejna wersja alpha Pythona 3.10, wprowadzając do tego języka bardzo ciekawą funkcjonalność - pattern matching.

Jeśli chcecie poczytać wprowadzenie do tego tematu, to tak się składa, że akurat takie przygotowałem ( ͡° ͜ʖ ͡°) ->
LINK: Pattern matching w Pythonie

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #naukaprogramowania #python #programista15k
15
  • Najlepsze
  • Wszystkie komentarze
informatyk
Zgodnie ze swoim postanowieniem staram się publikować regularnie każdego tygodnia. Z tej okazji dziś dość krótki wpis, będący wstępem do tematu klas typów w Haskellu. Zapraszam! :)

LINK DO WPISU: Klasy typów z Haskellu

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #naukaprogramowania #haskell #programowaniefunkcyjne
5
informatyk
Na PolyDev.PL właśnie wleciał nowy wpis - tym razem przede wszystkim dla zainteresowanych Prologiem (tak, wiem że to nie jest liczne grono ;D).
LINK: Dynamiczne modyfikowanie prologowej bazy wiedzy

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #naukaprogramowania #prolog #programowanielogiczne
1
  • Najlepsze
  • Wszystkie komentarze
informatyk
Po kilku miesiącach przerwy powracam z nową serią artykułów - tym razem na tapet weźmiemy przede wszystkim dwa języki - Haskell oraz Prolog. Oba deklaratywne, oba dosyć niszowe i - co najważniejsze - oba są niezwykle ciekawe!

Nie będzie to tutorial od podstaw, bowiem w tym zakresie nie brakuje dobrych materiałów (jak coś, to mogę zarzucić odpowiednimi linkami ( ͡° ͜ʖ ͡°)). Można za to spodziewać się wpisów, poruszających wybrane zagadnienia i
4
  • Najlepsze
  • Wszystkie komentarze
informatyk
Wiecie jakie są różnice między DSL(językami dziedzinowymi) a DSML(językami modelowania dziedzinowego)? Ja jeszcze niedawno nie miałem pojęcia, dlatego sprawdziłem co i jak, a teraz przybywam z nowym artykułem -> DSL vs DSML: czym są języki dziedzinowe i języki modelowania dziedzinowego?

Jeżeli macie jakieś doświadczenia związane z tymi tematami, to zachęcam do podzielenia się tu lub w komentarzach pod postem. :)

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
0
  • Najlepsze
  • Wszystkie komentarze
informatyk
Wystartowałem niedawno z nowym projektem - agregator.dev - aby uporządkować znajdowane przeze mnie ciekawe treści programistyczne i przy okazji dzielić się nimi z innymi programistami. Co tydzień w sobotę znajdziecie tam zbiór wyselekcjonowanych przeze mnie linków. Zapraszam więc wszystkich Mirków do śledzenia i przesyłania propozycji z linkami! ( ͡° ͜ʖ ͡°)

Parę słów o projekcie skrobnąłem też na bloga - https://polydev.pl/2020/07/agregator-dev-czyli-zobacz-moje-zakladki/

Jeśli interesują Cię moje wpisy, obserwuj tag
5
  • Najlepsze
  • Wszystkie komentarze
informatyk
Będzie czytane (ʘ‿ʘ)

Przed chwilą dotarła do mnie papierowa wersja polskojęzycznego drugiego wydania tej kultowej pozycji.

W przeszłości zdarzyła mi się już lektura niektórych rozdziałów ebooka Dragon Book, ale sporo wiedzy czeka jeszcze na przyswojenie. Liczę na to, że spoglądający z regału biały smok będzie bardziej motywował do działania. :D

#polydev #ksiazki #programowanie #kompilatory #dragonbook #naukaprogramowania
10
  • Najlepsze
  • Wszystkie komentarze
nutka-instrumentalnews
Mirki pomomóżta z takim tematem na #wikipedia

mam przykładowo stronę znanego urzytkownika który pomaga w edycji artykułów np. gdzie są problemy jezykowe np. rosyjski cyrilica etc, pytanie: jak się z nim skomunikować dla pewności..

coś jak mail czy wiadomość w dyskusji czy coś aby się wyświetliło mu w pilnych sprawach w powiadomieniach?

ps.
0
  • Najlepsze
  • Wszystkie komentarze
informatyk
Tym razem artykuł pozbawiony technicznego „mięska”, a skierowany bardziej do rekruterów IT, managerów i wszystkich tych, którzy uczestniczą w procesie pozyskiwania nowych programistów do swoich firm. Przedstawiam w nim platformę Geektastic, w której działam jako code reviewer

--> https://polydev.pl/2020/07/rekrutacja-programistow-przy-pomocy-geektastic/

Gdyby ktoś był ciekawy jak dokładnie wygląda praca na takim stanowisku, to prawdopodobnie w przyszłości też ukaże się wpis na ten temat. :)

Jeśli
0
informatyk
Guietta to ciekawy sposób na uproszczenie tworzenia GUI w Pythonie. Czy rzeczywiście jest szybki i elegancki, podobnie jak pojazd, od którego projekt czerpie swą nazwę? Zachęcam do zerknięcia na najnowszy artykuł, który opublikowałem na swoim blogu -> Guietta - sposób na proste GUI w Pythonie

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #naukaprogramowania #guietta #python #gui #qt
3
informatyk
Dwa dni temu Wikimedia Foundation oficjalnie ogłosiła początek dwóch nowych, niezwykle interesujących projektów - Wikilambda oraz Abstrakcyjna Wikipedia. Intrygują mnie one nie tylko jako programistę, ale również jako niegdyś aktywnego Wikipedystę, dlatego postanowiłem sprawdzić szczegóły i przedstawić je w najnowszym wpisie na swoim blogu -> Wikilambda i Abstrakcyjna Wikipedia – nowe projekty Wikimedii

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #wikipedia #wikimedia
3
informatyk
Kiedy półtora roku dołączałem do nowego zespołu programistycznego zupełnie nie spodziewałem się, że dane mi będzie… programować graficznie. W Apache NiFi. I na dodatek zostać swego rodzaju zespołowym ekspertem w tej technologii. Posłuchajcie mojej historii pełnej przygód i wyzwań, jak również irytacji, zniecierpliwienia i wreszcie zadowolenia z dobrze wykonanej pracy i rozwiązanych problemów.

LINK: O tym, jak zupełnie przypadkiem zostałem NiFi-owym ekspertem

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
8
  • Najlepsze
  • Wszystkie komentarze
informatyk
Dlaczego Smalltalk jest wyjątkowym językiem programowania? Na czym polega jego czysta obiektowość? Czy tworzenie klasy może być realizowane przez wysyłanie wiadomości? Co sprawia, że praca w smalltalkowym IDE wydaje się wielu osobom dziwna? Na te i inne pytania odpowiadam w opublikowanym dziś artykule, który jest pierwszym z serii wpisów poświęconych temu fascynującemu językowi.

LINK: Smalltalk – najczystszy z obiektowych języków programowania


Jeśli interesują Cię moje wpisy, obserwuj tag #polydev

Czy kiedykolwiek programowałeś w Smalltalku?

  • Tak, smalltalkuję nałogowo! 3.4% (2)
  • Tak, ale niewiele razy 6.9% (4)
  • Nie i nie zamierzam 69.0% (40)
  • Nie, ale kiedyś spróbuję! 20.7% (12)

58 głosów

4
  • Najlepsze
  • Wszystkie komentarze