Wpis z mikrobloga

#lisp #commonlisp #programowanie #livecoding #tworczoscwlasna #naukaprogramowania
Mireczki i Mirkówny, zapraszam na ciąg drobnych sesji livecodingu prezentujących i uczących Common Lispa! Niniejszym zaklepuję na moją serię tag #kraklisp od nazwy grupy lisperskiej, którą reprezentuję.

Załączam pierwszy film, prezentujący w dwadzieścia minut prototypowanie małego silnika rąbania potworów przez bohaterów oraz opisujący działanie i zastosowanie do niego funkcji reduce - wszystko interaktywnie i na żywo w REPLu Common Lispa.

  • 31
@informatyk15000k: podstawowa różnica to jego wieloparadygmatowość i możliwość swobodnego łączenia imperatywów, funkcyjności, obiektów i wszelkiego rodzaju innych rzeczy; oraz makra, w tym makra czytnika, które rozszerzają kompilator i w sumie sam język do obsługi wszystkiego, co programista uważa za słuszne - w tym nowych paradygmatów.
ELisp jest całkiem podobny do CLa, Clojure się świadomie wyłamał z części lispowych tradycji; uważam, że warto, bo czemu i nie. :D może i ja nauczę
@informatyk15000k: to wideo dość fajnie pokazuje stronę funkcyjną, ale zamiast ("Srogi Barbarzyńca" 1) może być tam dowolny obiekt, a CLOS jest akurat naprawdę *przepięknym* systemem obiektowym - chociażby metody nie należą do klas, tylko się na nich specjalizują, a to pozwala Ci dowolnie je kombinować ze sobą.

i imperatywów też nie ma się co bać, szczególnie przy konstrukcji języka programowania, który, jakby nie patrzeć, operuje na implementacji maszyny von Neumanna. Szczególnie
@informatyk15000k: pewnie, że są.

różnica jest taka, że w Clojure to język decyduje, czy wolno Ci mutować listę, czy nie; w CLu decyduje o tym programista, a wszystkie funkcje standardowe mówią Ci wprost, czy funkcja ma skutki uboczne i ewentualnie jakie.
jeśli chcesz mutować dane, to bez problemu napiszesz program w tym stylu. jeżeli nie chcesz ich zmutować, to bez problemu napiszesz program bez ani jednej mutacji. Common Lisp nie narzuca
a wszystkie funkcje standardowe mówią Ci wprost, czy funkcja ma skutki uboczne i ewentualnie jakie.


@phoe: Piękna sprawa - przypomina mi trochę Haskella. To jeszcze się zastanowię, bo z drugiej strony inwestycja w elispa może być bardziej praktyczna.