Programuję w Pythonie, PHP, Javie i C od kilku lub lat i właśnie skończyłem czytać Hackers and Painters, więc chciałbym wypróbować LISP!
Rozumiem, że jest to zupełnie inne niż to, co wiem i że nie będzie to łatwe. Myślę też (proszę, popraw mnie, jeśli się mylę) jest znacznie mniej społeczności i rozwoju wokół LISP-a. Więc moje pytanie brzmi: jaki jest najlepszy sposób na naukę LISP-a?
Nie miałbym nic przeciwko kupowaniu książek lub inwestowaniu czasu. Po prostu nie chcę, żeby się zmarnowało.
„Ostatnim” pomysłem byłoby użycie LISP-a do tworzenia stron internetowych. Wiem, że nie jest to tak powszechne, więc ... Wiem, że dobrze jest zaplanować naukę przed wybraniem pierwszej książki lub samouczka i spędzeniem dużo czasu nad czymś, co może nie bądź najlepszy sposób!
Dziękuję wszystkim za odpowiedzi!
edycja: Przeczytałem Practical Common Lisp i było: ... długie, trudne, interesujące i zdecydowanie sprawiło, że toczyłem się w Lisp, potem przeczytałem małego schematu i było to krótkie, zabawne i bardzo dobre dla mojego ogólnego programowania. Więc radziłbym najpierw przeczytać małego intryganta, a potem (to kilka godzin i warto), jeśli zdecydujesz, że seplenienie (lub schemat lub jakikolwiek inny dialekt) nie jest tym, czego szukasz, nadal będziesz się bardzo dobrze bawić nowy sposób myślenia o rekursji!
źródło
Odpowiedzi:
Spróbuj przeczytać Practical Common Lisp autorstwa Petera Seibela.
źródło
Moim ulubionym jest Abelson & Sussman Structure and Interpretation of Computer Programs . Używa Scheme, który jest ładnym i czystym dialektem Lispa.
Jeśli podoba ci się bardziej praktyczne podejście, może powinieneś wybrać jakiś framework Lispa do projektowania stron internetowych (nie mam pojęcia, czy taka bestia istnieje) i wskoczyć od razu.
źródło
Możesz zacząć od The Little Schemer jako rozgrzewki. Nie jest to praktyczna książka o pisaniu programów produkcyjnych w Lispie, ale jest to świetna książka do nauki myślenia w Lispie.
źródło
MIT udostępnił cały kurs LISP w formacie DIVX i MPEG. Gorąco polecam.
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
źródło
Jest teraz książka zatytułowana „Land of LISP”, która uczy programowania LISP poprzez pisanie gier tekstowych w stylu lat 80-tych. Czytam go teraz i jest bardzo dobrze napisany i nie traktuje siebie zbyt poważnie, co mi się podoba.
źródło
Istnieje kilka opcji. Po pierwsze, Scheme i Common Lisp są dość różne w dość głębokich aspektach (np. Scoping); powinieneś wybrać jeden na początek i trzymać się go przez chwilę . Jestem fanem Common Lisp, ale to może być jedno z pytań religijnych vi-vs-EMACS.
W przypadku Scheme przejdź do Scheme Programming Language Kent Dybvig , a następnie SICP.
W przypadku Common Lisp, jak również Practical Common Lisp, poleciłbym Successful Lisp Davida Lamkinsa . Udany Lisp jest również dostępny online za darmo .
Następnie spójrz na Lispa w Small Pieces autorstwa Queinnec i Lisp Norviga w książce AI .
Marty Hall ma niezłą listę w Johns Hopkins.
Aktualizacja : Nie mam na myśli trzymania się tego wiecznie, po prostu próba nauczenia się obu naraz byłaby myląca.
źródło
Pick up The Land of Lisp Conrada Barskiego. Jest to zabawne wprowadzenie do programowania w Lispie przy użyciu kreskówek i gier.
źródło
Poleciłbym Project Euler jako doskonałe źródło drobnych problemów, których możesz użyć do nauczenia się nowego języka programowania.
źródło
Ansi Common Lisp autorstwa Paula Grahama to dobra książka.
Myślę, że może się skończyć, więc najlepiej kup go przez Amazon. Dostałem książkę na zajęcia z „Przetwarzania języka naturalnego”, na drugim roku studiów. Musieliśmy pisać projekty programistyczne w LISP-ie, więc musiałem szybko nauczyć się Lispa.
Książka trochę mi pomogła.
źródło
Kiedyś miałem problem. Nie znałem seplenienia. Postanowiłem więc pobrać LISP-a w pudełku.
Wtedy znalazłem się z instalacją Emacsa bez żadnej pomocy ani dokumentacji.
Wtedy miałem dwa problemy.
źródło
Poważnym uczącym się polecam PAIP firmy Norvig. Jest to doskonałe źródło do nauki zarówno Lispa, jak i AI.
źródło
Berkeley oferuje CS61a w formacie podcastu. To jest wprowadzenie do klasy CS opartej na SICP. Jest to bardziej nowoczesna wersja niż filmy dostępne w MIT z 1982 roku.
źródło
Pracuję teraz nad Lispem i natknąłem się na „książkę”, aby nauczyć się Lispa. Zaproponował to Rainer Joswig
Książka nosi tytuł Common Lisp: A Gentle Introduction to Symbolic Computation i można ją pobrać jako plik PDF. Autor zaczyna od podejścia podobnego do UML do Lispa w pierwszym rozdziale i stopniowo wprowadza coraz więcej składni Lispa.
Przyjrzałem się też praktycznemu seplenieniu i myślę, że autor przemyśla wiele potrzebnych informacji, nawet dla doświadczonego programisty. Wydaje się, że ta książka tego nie robi (nie jestem do końca skończona, ale uznałem ją za przydatną, aby zasugerować).
jeszcze jedno, będziesz potrzebować środowiska do pracy. Odkryłem, że Lisp in a Box działa dobrze. Działa w systemach Windows i Linux i korzysta z komputerów eMac.
źródło
LISP przyciągnął mnie jego dialektem JVM - Clojure. Od tego czasu Clojure to świetny LISP
Innymi słowy, Clojure może być używany w produkcji właśnie tutaj, teraz.
Jeśli chodzi o zasoby, istnieją co najmniej 4 książki i planty zasobów internetowych:
źródło
Z przyjemnością czytałem Practical Common LISP i ANSI Common LISP .
Na LISP-ie wygląda interesująco, ale koszt 190 $ wydaje się trochę drogi jak na książkę.
źródło
W przypadku tworzenia stron internetowych możesz rzucić okiem na hunchentoot , serwer WWW napisany w zwykłym lisp.
źródło
Odkryłem, że praca nad ćwiczeniami z „Małego intryga” naprawdę pomogła udoskonalić rekurencyjną, dopasowującą się do wzorców stronę mojego myślenia i znacznie ułatwiła pracę w XSLT.
źródło
Najpierw polecam Delikatne wprowadzenie do obliczeń symbolicznych lub Practical Common Lisp, w oparciu o twoje doświadczenia programistyczne. Do ćwiczeń używam Allegro CL 8.2 Free Express Edition w systemie Windows. To sprawia, że ćwiczenie staje się świetną zabawą.
źródło
Trudne pytanie… Myślę, że wszystko zależy od Twojego stylu uczenia się.
Uczyłem się LISP-a na moich zajęciach z AI i Expert Systems w college'u, ale tak się uczę ... Nie jestem dobrym uczniem książek, wolę, aby ktoś mi to wyjaśnił na zajęciach.
LISP jest zdecydowanie unikalnym językiem i wymaga nowego myślenia, jeśli jesteś przyzwyczajony do konwencjonalnego programowania w C, Javie, PHP.
Powodzenia !
źródło
Odkryłem, że przeczytanie książki SICP naprawdę pomogło mi się nauczyć. Użyłem Steel Bank Common Lisp (SBCL) i odniosłem z nim dobry sukces.
Powodzenia
źródło
Chwyć wiadro (i) i jedź do miasta.
źródło
Nie wiem, czy jest coś wyjątkowego w Lisp, co odróżnia go od nauki jakiegokolwiek innego języka. Wystarczy zacząć go używać i wypróbować jego funkcje.
Jedną z opcji może być wypróbowanie prostego projektu .
Inną opcją, specyficzną dla Lispa, byłoby napisanie rozszerzenia Emacsa, które pomoże ci w normalnej pracy.
źródło
Przeczytaj te książki w kolejności: Delikatne wprowadzenie do obliczeń symbolicznych, ANSI Common Lisp autorstwa Paula Grahama, a następnie przejdź do Practical Common Lisp. Lub pomiń listę ACL i używaj jej jako odniesienia podczas pracy z językiem PCL.
źródło