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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...