2010-02-10 9 views
16

Come molte altre persone interessate a imparare il Lisp, sento che le risorse disponibili non sono le migliori per i principianti e alla fine impediscono a molte nuove persone di impararlo. Pensi che potrebbe essere creata una sorta di community, con un sito web, un forum o qualcosa del genere, che fornisce risorse/esercitazioni valide (come in termini di qualità) per gli utenti Lisp, eventualmente tradotte in vari idiomi? In questo modo i principianti che non hanno le competenze necessarie per scrivere tutorial potrebbero aiutarli a tradurli. È una cattiva idea o è qualcosa che potrebbe essere realizzato? Dammi un feedback o fiammami: DLisp Community - Tutorial/risorse di qualità

+3

Ci sono diversi ottimi (anche liberamente disponibili) libri per l'apprendimento Lisp. –

risposta

6

Lisp è in giro da molto tempo, ci sono molte comunità (frammentate). Non c'è davvero alcun modo di "creare" una comunità comune, specialmente dall'esterno.

Paul Graham sarebbe una persona probabile (IMNO, N = ingenua) potenzialmente in grado di unire una grande comunità lisp, data la sua popolarità tra i giovani programmatori, così come il suo background in lisp (scrivendo On Lisp). Tuttavia, ha scelto di creare un altro dialetto di lisp, Arc.

Molte persone hanno scritto sulla frammentazione della comunità Lisp o sull'incapacità di Lisp di "prendere piede". Alcuni esempi: here, here, here e here. Quindi, mentre la tua idea è buona, probabilmente è infruttuosa.

Detto questo, non lasciare che ti impedisca di innalzarti e di essere una figura così unitaria nella comunità Lisp.

Per quanto riguarda le esercitazioni esistenti, il Wiki di Emacs è un buon punto di partenza per l'apprendimento Emacs Lisp. E per un'introduzione a Scheme - oltre a una buona introduzione alla programmazione in generale, c'è il classico Structure and Interpretation of Computer Programs.

Trovo che queste due risorse siano buoni punti di partenza per l'apprendimento di Emacs Lisp e Scheme. Non ho giocato con Arc, ma presumibilmente ci sarebbero alcuni buoni tutorial sull'apprendimento di Arc - perché è stato progettato in parte per essere una buona lingua per creating basic web apps.

5

Ecco un forum: Lisp Forum, ed ecco una comunità: Planet Lisp

Ecco un post abbastanza decente si potrebbe trovare utile, How to Learn Lisp.

Uno dei punti di forza di Lisp è che essendo un linguaggio maturo ci sono una serie di libri davvero grandi sull'argomento.

19

Esistono due dialetti popolari di Lisp - Common Lisp e Scheme. Entrambi hanno libri/tutorial e implementazioni eccellenti disponibili online gratuitamente. I principianti possono iniziare con Scheme che è più semplice. Alcune risorse per l'apprendimento Scheme:

Libri gratis:

  1. Teach Yourself Scheme in Fixnum days. (pdf)
  2. The Scheme Programming Language.
  3. Structure and Interpretation of Computer Programs.
  4. How To Design Programs

Comunità Online/risorse:

  1. The latest Scheme standard.
  2. Scheme Cookbook.
  3. Scheme Requests for Implementation
  4. Scheme Related Research
  5. http://www.schemers.org/
  6. http://groups.csail.mit.edu/mac/projects/scheme/

realizzazione un programma adeguato per i principianti è PLT Scheme.

Libri liberi di imparare Common Lisp:

  1. Practical Common Lisp
  2. On Lisp
  3. Common Lisp HyperSpec (Riferimento)
  4. Common Lisp: A Gentle Introduction to Symbolic Computation

Le comunità online/risorse per Common Lisp:

  1. http://common-lisp.net/
  2. CLiki
  3. The Common Lisp Directory

Popolare Common Lisp implementazioni: SBCL, CLISP, Clozure CL, Allegro CL

5

In realtà, ci sono un bel paio di libri CL libero disponibile on-line:

"Common Lisp: A Gentle Introduction to Symbolic Computation" copre le basi, ma potrebbe essere troppo delicato, a seconda del tuo livello.

"Successful Lisp" è abbastanza completo e IMHO è la migliore risorsa online per l'apprendimento di CL, se hai già programmato un po 'in un'altra lingua.

"Practical Common Lisp" mira a raggiungere programmatori esperti e sicuramente è uno dei migliori libri Lisp disponibili - uno dei pochi che cercano esplicitamente di spiegare "l'uso del mondo reale".

"On Lisp" è una lettura interessante per i programmatori CL avanzati, per lo più che copre i macro.

Oltre a quelli, c'è l'indispensabile Hyperspec, una versione HTML della norma, e CLtL2, che è stato il-ANSI pre standard de facto (ancora prezioso, dal momento che molte persone trovano più accessibile rispetto alla Hyperspec. Almeno a volte mostra le cose da un'altra prospettiva).

Infine, vi è il Lisp Forum e c.l.lisp. Anche se c'è molto rumore su c.l.l., puoi ottenere risposte molto perspicaci e imparare dai maestri. Come novizio, si dovrebbe provare a postare domande ponderate su c.l.l. e avere una pelle spessa.

0

I miei pensieri, come nuovo comunicatore di lisp, sarebbe di raccomandare Clojure (negli ultimi sei mesi ho giocato con Scheme ed Emacs Lisp). Ho giocato solo con Clojure negli ultimi due giorni.

In esecuzione sulla JVM, significa che molte persone hanno già la maggior parte dell'ambiente Clojure, hanno solo bisogno di file .jar e un plugin per il loro editor o IDE (quelli Java comunque) di scelta. Quindi, ottenere l'esecuzione è più semplice di Scheme o CL in termini di scelta.

La maggior parte dei nuovi programmatori sono per lo meno familiari con Java, che Clojure utilizza naturalmente piuttosto bene, il che significa che mentre stanno imparando possono concentrarsi su lisp e un po 'meno sulle librerie. Ci sono molti concetti su cui è molto meglio concentrarsi.

Sul lato negativo, Java ha molto stigma contro di esso. Ma Clojure ha molto da offrire, e credo che il futuro sia buono, e il Programming Clojure è imho, molto accessibile, ed entrambi Joy of Clojure e Clojure in Action stanno arrivando presto.

0

Un altro ottimo libro per imparare lo schema e lo stile di programmazione, ancora di più quando sei venuto da OO world è meglio partire da zero.

How to design programs