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
informatyk - Jakiś czas temu stanąłem przed koniecznością napisania w Prologu testów ...

źródło: comment_1619516924XWuyJrZiOfjh5N9iKXwJj8.jpg

Pobierz
@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.
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

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #haskell #naukaprogramowania #programowaniefunkcyjne
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 czytać zagnieżdżone list comprehensions

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #python #naukaprogramowania
informatyk - Wiecie jak czytać wielokrotnie zagnieżdżone list comprehensions w Python...

źródło: comment_1617026010Ngbb9RnuXJDaDpFTzYmpEq.jpg

Pobierz
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
@informatyk: lubię Prologa, uważam, że jest niedoceniany, oraz piszę używając potomka Prologa - Erlangu. Nigdy nic większego w nim nie napisałem, ale obecnie w swoim side-projekcie planuję użyć Prologa do definicji ACL, bo IMHO to jest idealne zastosowanie dla niego.
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 #programowaniefunkcyjne
informatyk - Dosłownie przed chwilą ukazała się kolejna wersja alpha Pythona 3.10, wp...

źródło: comment_1614630249AfDCT1hBY1yZWnDsrGyM6z.jpg

Pobierz
@NewEpisode: @ProfesorBigos: @informatyk:

Jak dla mnie, ten język powinien się powstrzymać od tego typu rozwoju. Po co doklejać do niego rzeczy z innych języków? Coraz więcej rzeczy, z których nikt nie korzysta, a które z czasem przysporzą tylko problemów.

Python miał być prosty i czytelny, dla mnie ostatnie zmiany związane z użyciem znaków logicznych do pracy na słownikach czy := to żadne kroki naprzód, a wyłącznie próba ugłaskania wszystkich
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
informatyk - Zgodnie ze swoim postanowieniem staram się publikować regularnie każdego...

źródło: comment_1613991653oPVU0K7vUBf38zDGuyXc5T.jpg

Pobierz
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,
informatyk - Po kilku miesiącach przerwy powracam z nową serią artykułów - tym razem ...

źródło: comment_1612874011J0IZZ5hizuMoVk8rHeWXwh.jpg

Pobierz
@FREEQ: mam już przygotowanych parę kolejnych artykułów o Haskellu - m.in. o klasach typów, funktorach oraz o funktorach aplikatywnych, a i coś o monoidach oraz monadach też się tworzy więc zachęcam do śledzenia. ;)

Wiadomo - tematu bynajmniej nie wyczerpię, a jeśli chodzi o jakość, to można znaleźć w sieci lepsze treści od moich, ale z doświadczenia wiem, że zgłębiając dany temat (zwłaszcza związany z różnymi dzikościami FP) warto jest poznać
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
#programowanie #
informatyk - Wiecie jakie są różnice między DSL(językami dziedzinowymi) a DSML(języka...

źródło: comment_15961960780VlU1Ip44ZybamW3uf1Omd.jpg

Pobierz
@Hauleth: Spotkałem się już z takim podejściem o jakim piszesz, tzn. że bycie DSLem zależy od kontekstu, jednak osobiście skłaniałbym się do nazywania w ten sposób tylko tych języków, których jedyny kontekst to jakaś konkretna dziedzina. Jeżeli zastosowania danego języka poszerzają się, to przestaje on być DSLem.
@Saly: Masz rację, określanie poszczególnych technologii jako DSLe i debatowanie nad tym wprowadza sporo zamieszania, ale rzeczywistość jest taka, że DSL i DSML to pojęcia które można spotkać w rozmaitych miejscach w odniesieniach do różnych języków.

Dlatego, opierając się na różnych źródłach (linkowanych w artykule), postarałem się zebrać najważniejsze informacje na ten temat, by ktoś, kto pierwszy raz spotyka się z takim okresleniem, rozumiał mniej więcej o co chodzi. Nie wgłębiałem
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
informatyk - Wystartowałem niedawno z nowym projektem - agregator.dev - aby uporządko...

źródło: comment_1595671206tngeVAREXf4FoQ0MiUPE4Z.jpg

Pobierz
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
informatyk - Będzie czytane (ʘ‿ʘ)

Przed chwilą dotarła do mnie papierowa wersja po...

źródło: comment_1595243861GUuStoSKwyPbQjh1poBa4Y.jpg

Pobierz
@TheDraom: niestety tłumaczenia takich książek to zawsze dodatkowe ryzyko błędów i pewnie w tym przypadku również ich nie uniknięto. Przy niektórych wątpliwych fragmentach trzeba wspierać się oryginałem. Żeby daleko nie sięgać - 5. strona pierwszego rozdziału i ilustracja z błędem
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. jak można zaprosić inne osoby co mają pojęcie w temacie lub takich tematach do dyskusji? mają dane jak wyżej
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 interesują Cię moje wpisy, obserwuj tag #polydev
#rekrutacja #
informatyk - Tym razem artykuł pozbawiony technicznego „mięska”, a skierowany bardzie...

źródło: comment_1594817300FlH5JqTy0zFvk5leNhUPsy.jpg

Pobierz
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
informatyk - Guietta to ciekawy sposób na uproszczenie tworzenia GUI w Pythonie. Czy ...

źródło: comment_1594372906ZDgoE6O4bhUCzM41QSGk6P.jpg

Pobierz
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 #wikidane #wikilambda #abstrakcyjnawikipedia
informatyk - Dwa dni temu Wikimedia Foundation oficjalnie ogłosiła początek dwóch now...

źródło: comment_1593856519od50HjPonbRRO5EDu1DeZt.jpg

Pobierz
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
#programowanie #
informatyk - Kiedy półtora roku dołączałem do nowego zespołu programistycznego zupełn...

źródło: comment_1584263674V43rrJYeD0aUccUeIUVvfN.jpg

Pobierz
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
#
informatyk - Dlaczego Smalltalk jest wyjątkowym językiem programowania? Na czym poleg...

źródło: comment_7dPY2kLMtp15ZBPgHvjszGg0Dli4u77p.jpg

Pobierz

Czy kiedykolwiek programowałeś w Smalltalku?

  • Tak, smalltalkuję nałogowo! 3.5% (2)
  • Tak, ale niewiele razy 7.0% (4)
  • Nie i nie zamierzam 70.2% (40)
  • Nie, ale kiedyś spróbuję! 19.3% (11)

Oddanych głosów: 57

@LazyInitializationException: rynek zweryfikował też COBOLA i JavaScript, czyniąc z nich bardzo popularne technologie, co nie oznacza, że zarazem najlepsze. Co więcej, nie każdy język aspiruje do bycia uniwersalnym, a już na pewno nie języki jednoparadygmatowe (podobnie jak np. czysto funkcyjny Haskell, który jest świetny, ale przecież nie do wszystkiego, więc nie spodziewałbym się, że nagle wpadnie do TOP5).