Na drodze do Oświecenia: Schemat, Wspólne Lisp, Clojure? [Zamknięte]

26

Wiele osób mądrzejszych ode mnie pisze o tym, kiedy uczysz się Lisp, dzięki czemu jesteś lepszym programistą, ponieważ „rozumiesz”.

Może wszystko, co słyszę o Lisp (ach) zmieniających twoje życie, to tylko praktyczny żart dla początkujących, ale sądzę, że nie ma nic złego w wiedzy o świecie, nawet jeśli dowiem się, że zostałem wysłany po strzale lub czymś takim .

Chciałbym podążać za książką SICP i ANSI Common Lisp, ale jednocześnie studiować dialekt i implementację, których mógłbym używać w osobistych projektach.

SICP koncentruje się na Schemacie, więc to jeden wielki głos. Paul Graham powiedział, że jeśli miałby uczyć początkujących, zrobiłby to w Schemacie, ale brzmiało to tak, jakby Scheme wciąż był gorszy od Common Lisp. Ale jest też Clojure - co, jak mi powiedziano, jest ograniczone pod pewnymi względami, ale bardziej praktyczne w innych (bibliotekach JVM).

Wygląda na to, że mogłem łatwiej przejść przez materiały schematu, osiągnąć „prawdziwe” oświecenie z CL lub zbliżyć się wystarczająco blisko z Clojure i być w stanie zrobić więcej z tym na dłuższą metę.

Ile z tego wszystkiego jest prawdą? Kiedy powinienem przestać myśleć o tym, czego się nauczyć i po prostu iść i dowiedzieć się o tym?

Conrad.Dean
źródło
4
+1, ale bądź ostrożny, tutaj nie wszyscy są mili, zobacz, co się z tym stało: programmers.stackexchange.com/users/39479
Cedric Martin
1
Cześć Conrad, „jakiego języka powinienem się nauczyć?” nie jest tutaj na temat.
@MarkTrapp Moje przeprosiny. Myślałem, że pytanie „Jaki język jest najlepszy dla [x]?” wciąż był na ten temat, ponieważ jest to kwestia wyboru odpowiedniego narzędzia do pracy. Uznałem, że wiele osób chce poznać kompromisy związane z badaniem czegoś o reputacji akademickiej w porównaniu z podobnym narzędziem, które ma dostęp do ustalonej platformy. Czy to wciąż podstawy do zamknięcia?
Conrad.Dean,
2
@MarkTrapp Myślę, że to dobre pytanie. Krajobraz seplenienia może być początkowo mylący, a PO ma określone kryteria, które pomagają ludziom ocenić właściwą odpowiedź. Myślę, że to pytanie nie jest tak niejasne, jak „Jakiego języka powinienem się nauczyć w następnej kolejności?”.
benekastah,

Odpowiedzi:

19

Może wszystko, co słyszę o Lisp (ach) zmieniających twoje życie, to po prostu duży żart dla początkujących

Absolutnie nieprawda, to nie żart.
Z Lisp zbudujesz wszystko, co chcesz, nawet własny język programowania.

Będziesz oświecony bez względu na to, co wybierzesz, bez względu na to, czy jest to CL, Scheme czy Clojure.
Osobiście polecam nauczenie się Clojure, ponieważ jest to aktywny Lisp, praktyczny dialekt, który obsługuje równoczesne programowanie w elegancki sposób i działa na JVM (ogromna zaleta sprzedaży).

ClojureScript wprowadza Lisp do programowania po stronie klienta, co jest naprawdę fajną rzeczą.

A tak przy okazji, SICP jest dostępny w Clojure .

Witamy na pokładzie :)

Chiron
źródło
Tłumaczenie SICP przez Clojure jest dla mnie naprawdę ekscytujące. Ostatnio sprawdziłem, czy wciąż jest w toku, ale teraz musi być jeszcze dalej. Czy ktoś może skomentować, w jaki sposób to tłumaczenie nadal chroni nirwanę, którą otrzymujesz po przeczytaniu SICP?
Conrad.Dean,
@ Conrad.Dean: Cóż, nadal ma dość wyraźne ostrzeżenie: „Nie powinieneś tu jeszcze być. W rzeczywistości możesz się rozejrzeć. Unikam stawiania gifów szyszek drogowych i znaków stop , ale ta strona jest w trakcie tworzenia i nie jest jeszcze w żadnym razie przydatna ”.
Jerry Coffin
3
Zamknięcie tłumaczenia SICP jest ŚMIERTELNE od 2009 roku, to smutne, ponieważ rozwiązania istnieją w clojure ...
AndreasScheinert
jeśli naprawdę chcesz zmienić swoje życie, ucz się, planuj, prolog i C w tej kolejności. Python jest również wart powąchania lub dwóch. Następnie, jeśli twoja głowa jeszcze nie eksplodowała, idź i zaprojektuj własne języki programowania lub pomóż udoskonalić inne nowe języki.
Sam Watkins,
7

Wygląda na to, że mogłem łatwiej przejść przez materiały schematu, osiągnąć „prawdziwe” oświecenie z CL lub zbliżyć się wystarczająco blisko z Clojure i być w stanie zrobić więcej z tym na dłuższą metę.

Nie oczekuj cudów. Praca w języku takim jak Scheme poszerzy twoje horyzonty i prawdopodobnie nauczy cię sporo o tym, jak programy są wykonywane, ale nie jest to wyraźny bilet do Sfery Nieskończonej Świadomości.

Kiedy powinienem przestać myśleć o tym, czego się nauczyć i po prostu iść i dowiedzieć się o tym?

Około 7 sekund po zakończeniu czytania tej odpowiedzi.

Caleb
źródło
5

Jeśli chcesz zacząć od SICP, idź zgodnie ze schematem, tylko dlatego, że uczy tego książka. Przejście ze schematu do Clojure będzie dość łatwe.

Zachary K.
źródło
Czy możesz skomentować, czy główne punkty SICP przekładają się na projekt SICP w Clojure , czy też coś zginęło między schematem a clojure?
Conrad.Dean,
1
Szczerze mówiąc Minęło już dużo czasu, odkąd poszedłem rzucić SICP i nie spędziłem dużo czasu z Clojure. Ważną rzeczą w SICP nie jest schemat, lecz zrozumienie modelu obliczeń, nad którym pracują.
Zachary K