Skocz do zawartości
Komentator

uLisp – interpretowany język programowania dla Arduino

Pomocna odpowiedź

uLisp – interpretowany język programowania dla Arduino

Czy możliwe jest przekształcenie mikrokontrolera AVR w prosty komputer? Tak! Wystarczy wgrać na Arduino interpreter języka uLisp. Lisp Badge jest komputerem pozwalającym na pisanie i uruchamianie niezależnych programów w odmianie języka Lisp.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Udostępnij ten post


Link to post
Share on other sites

Cześć,

Lisp to świetny język programowania, którego druga młodość znów nadeszła. Wykorzystywałem w swojej pracy zawodowej odmianę Lisp'u (Scheme) w OS Unix(Solaris). Bardzo też mi się podoba odmiana Lisp'u (trochę unowocześniona) o nazwie "Clojure", którą można "odpalić" korzystając z  maszyny virtualnej Javy (i łączyć z programami w Javie). Od dłuższego czasu elementy programowania funkcyjnego są dostępne w językach takich jak "C#" czy "Java" , "Python"(który od samych początków umożliwia programowanie funkcyjne) i stanowią potężne narzędzie programistyczne. Cieszę się, że powstają projekty takie jak ten opisany w tym artykule.

Pozdrawiam

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@FlyingDutch, a możesz podać jakieś praktyczne zalety tego języka dla osób, które nigdy nie miały z nim styczności?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Cześć,

podstawowa zaleta jest taka, że funkcje są "czyste" - tzn. nie mają efektów ubocznych, które modyfikują dane. Same dane są "niezmienne", aby je zmodyfikować należy użyć innych mechanizmów języka (znamy to np. z Pythona w którym możemy także programować czysto funkcyjnie). Bardzo duży stopień abstrakcji języka i łatwość implementowania języków w języku. Wszystko przy małym zapotrzebowaniu zasobów komputera. O zaletach można naprawdę napisać obszerny artykuł, niestety chwilowo jestem w pracy i nie mogę się rozpisywać.

Dużo łatwiej dowieś poprawności działania konkretnego algorytmu zaimplementowanego w Lispie niż w językach niefunkcyjnych (poprawność w sensie logicznym i matematycznym). Dużo łatwiej oprogramować zadania wykonywane współbieżnie ze względu na brak efektów ubocznych w funkcjach.

Postaram się opisać to bardziej szczegółowo gdy będę miał chwilę czasu.

Na szybko można zapoznać się z tymi krótkimi wprowadzeniami do programowania funkcyjnego:

Pozdrawiam

Edytowano przez FlyingDutch
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
15 minut temu, FlyingDutch napisał:

Postaram się opisać to bardziej szczegółowo gdy będę miał chwilę czasu

Dla mnie super!. Niejako z konieczności muszę wejść w świat Arduino - będę się czuł bardziej "wśród swoich" :). 

Udostępnij ten post


Link to post
Share on other sites

sto dwadzieścia pięć... sto dwadzieścia siedem... sto dwa... o cholewa!

raz, dwa, trzy...

(ze starego kawału o programistach różnych języków)

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×