-
1. Data: 2012-04-14 23:43:32
Temat: Początki z Lisp
Od: Lukasz <k...@a...pl[usun]>
Dzień dobry,
chciałbym zasięgnąć rady osób, które miały lub mają doświadczenie z
Lisp. Programuję na codzień w C++, kiedyś(na studiach) miałem styczność
z językiem Prolog, a teraz chciałbym spróbować ugryźć Lisp. Przeczytałem
trochę na temat tego języka i póki co wybieram implementację. Clozure CL
jeśli dobrze wyczytałem chyba będzie dobre, ponieważ jest open source i
na licencji LGPL(zależy mi, by była możliwość tworzenia zamkniętych,
komercyjnych programów). Możecie polecić jakieś materiały, które
wprowadzą w język? Spotkaliście jakieś dobre książki? Do jakich zadań
opłaca się wykorzystywać ten język?
Pozdrawiam,
Łukasz
-
2. Data: 2012-04-15 11:30:06
Temat: Re: Początki z Lisp
Od: Piotr Chamera <p...@p...onet.pl>
W dniu 2012-04-14 23:43, Lukasz pisze:
> Dzień dobry,
>
> chciałbym zasięgnąć rady osób, które miały lub mają doświadczenie z
> Lisp. Programuję na codzień w C++, kiedyś(na studiach) miałem styczność
> z językiem Prolog, a teraz chciałbym spróbować ugryźć Lisp. Przeczytałem
> trochę na temat tego języka i póki co wybieram implementację. Clozure CL
> jeśli dobrze wyczytałem chyba będzie dobre, ponieważ jest open source i
> na licencji LGPL(zależy mi, by była możliwość tworzenia zamkniętych,
> komercyjnych programów).
Tu jest zestawienie dostępnych implementacji Common Lispu:
http://common-lisp.net/~dlw/LispSurvey.html
Wybór zależy mocno od konkretnych zastosowań - w przypadku nauki, prawie
każda implementacja będzie dobra. Licencja to tylko jedno z kryteriów,
inne to np:
Ze względu na IDE można wybrać Allegro albo LispWorks - mają dobre IDE,
pozostałe to raczej Emacs + SLIME. Clozure CL ma własne IDE ale tylko na
Mac-u...
Ze względu na szybkość kodu: SBCL...
Ze względu na integrację z C: ECL...
Ze względu na przenośność implementacji na różne systemy: Clisp, ABCL...
Integracja z Java: ABCL...
Integracja z systemem Windows: Corman...
Obliczenia naukowe: Sciener...
itd...
Sam używam (od czasu do czasu) Clozure CL (Linux, Windows), Clisp
(Windows) i SBCL (Windows), jako IDE - Emacs + SLIME.
Do instalacji bibliotek polecam: http://www.quicklisp.org/beta/
Można też spróbować czegoś innego iż Common Lisp,
np. Racket albo Clojure.
> Możecie polecić jakieś materiały, które
> wprowadzą w język? Spotkaliście jakieś dobre książki?
Dla tych, którzy już pisali w jakimś innym języku
http://www.gigamonkeys.com/book/
http://paulgraham.com/onlisp.html
Nauka programowania w Common Lispie od 0
http://www.cs.cmu.edu/~dst/LispBook/
Bardzo ważny jest też standard języka:
http://www.lispworks.com/documentation/HyperSpec/Fro
nt/index.htm
(trudny do czytania dla początkujących, ale niezbędny w razie
wątpliwości, jak coś powinno działać)
> Do jakich zadań opłaca się wykorzystywać ten język?
Do wszystkich, ale przede wszystkim do eksperymentów :)
-
3. Data: 2012-04-15 23:17:49
Temat: Re: Początki z Lisp
Od: Lukasz <k...@a...pl[usun]>
Dzięki wielkie za odpowiedź. Sporo linków podrzuciłeś. Sprawdzę je,
zainteresuję się też implementacjami komercyjnymi z IDE - niektóre mają
darmową wersją personal. Sprawdzę co jest warte ichniejsze IDE.
Poczytam podstawy i zacznę eksperymetny. Zastanawiam się czy warto np.
niektóre rzeczy pisać w CL i z poziomu aplikacji np. C++ wywoływać takie
podprogramy. Kwestia też, jakie rzeczy się nadają do implementacji w CL.
Zbadam temat, to może coś mi przyjdzie do głowy.
-
4. Data: 2012-04-15 23:19:45
Temat: Re: Pocz?tki z Lisp
Od: A.L. <l...@a...com>
On Sat, 14 Apr 2012 23:43:32 +0200, Lukasz <k...@a...pl[usun]>
wrote:
>> Do jakich zadań
>opłaca się wykorzystywać ten język?
Do zabawy w programowanie
A.L.
-
5. Data: 2012-04-15 23:20:53
Temat: Re: Pocz?tki z Lisp
Od: A.L. <l...@a...com>
On Sat, 14 Apr 2012 23:43:32 +0200, Lukasz <k...@a...pl[usun]>
wrote:
>Dzień dobry,
>
>chciałbym zasięgnąć rady osób, które miały lub mają doświadczenie z
>Lisp. Programuję na codzień w C++, kiedyś(na studiach) miałem styczność
>z językiem Prolog, a teraz chciałbym spróbować ugryźć Lisp. Przeczytałem
>trochę na temat tego języka i póki co wybieram implementację. Clozure CL
>jeśli dobrze wyczytałem chyba będzie dobre, ponieważ jest open source i
>na licencji LGPL(zależy mi, by była możliwość tworzenia zamkniętych,
>komercyjnych programów). Możecie polecić jakieś materiały, które
>wprowadzą w język? Spotkaliście jakieś dobre książki? Do jakich zadań
>opłaca się wykorzystywać ten język?
Tak w ogole, proponuje raczej Scheme niz Lisp
A.L.
-
6. Data: 2012-04-16 12:02:15
Temat: Re: Początki z Lisp
Od: Daniel Janus <n...@g...com>
W dniu niedziela, 15 kwietnia 2012 22:17:49 UTC+1 użytkownik Lukasz napisał:
> Dzięki wielkie za odpowiedź. Sporo linków podrzuciłeś. Sprawdzę je,
> zainteresuję się też implementacjami komercyjnymi z IDE - niektóre mają
> darmową wersją personal. Sprawdzę co jest warte ichniejsze IDE.
Gdy pięć lat temu używałem Allegro CL, to ich IDE na Linuksie działało kiepsko --
tzn. uruchamiało się i trochę działało, ale jak kliknąłem Help->About, to dostałem w
twarz komunikatem wyjątku.
LispWorks nie używałem. Moje spostrzeżenia odnośnie Allegro:
- ACL przychodzi z bardzo wieloma bibliotekami do wszystkiego, ale jest sporo
droższe; LW to właściwie tylko kompilator + podstawowe biblioteki (za to ma bardzo
dobrą opinię);
- te biblioteki Franza też nie zawsze są niezawodne: sam znalazłem coś pięć bugów w
AllegroCache, a połowa tutoriala acache jest inspirowana moim pytaniem do supportu;
- ów support jest dużą zaletą: reagują szybko, naprawiają błędy, sugerują
rozwiązania;
- ACL, w odróżnieniu od SBCL, nie ma natywnych wątków na Linuksie (ani chyba na
Windowsie).
Jeszcze raz: tak było parę lat temu, od tamtego czasu mogło trochę się pozmieniać.
Gdybym teraz miał wybierać implementację CL, pozostałbym chyba mimo wszystko przy
SBCL albo CCL, tak jak robi to np. ITA Software.
Ale to jest bardzo mało prawdopodobne, bo właściwie przestałem się zajmować CL na
rzecz Clojure, który wciąż jest na wskroś Lispem, ale znacznie czystszym (z mniejszą
liczbą naleciałości), mniejszym, solidniejszym i praktyczniejszym. Bardzo polecam!
--D.
-
7. Data: 2012-04-16 12:58:47
Temat: Re: Początki z Lisp
Od: Adam Przybyla <a...@r...pl>
Lukasz <k...@a...pl[usun]> wrote:
> Dzień dobry,
>
> chciałbym zasięgnąć rady osób, które miały lub mają doświadczenie z
> Lisp. Programuję na codzień w C++, kiedyś(na studiach) miałem styczność
> z językiem Prolog, a teraz chciałbym spróbować ugryźć Lisp. Przeczytałem
> trochę na temat tego języka i póki co wybieram implementację. Clozure CL
> jeśli dobrze wyczytałem chyba będzie dobre, ponieważ jest open source i
> na licencji LGPL(zależy mi, by była możliwość tworzenia zamkniętych,
> komercyjnych programów). Możecie polecić jakieś materiały, które
> wprowadzą w język? Spotkaliście jakieś dobre książki? Do jakich zadań
> opłaca się wykorzystywać ten język?
... z perspektywy tego co chcialem kiedys osiagnac, wiele lat temu
wchodzac w lispa moge powiedziec, ze teraz zapewani mi to w 99%
Python+Django+tysiace bibliotek do pythona. Czesc nalecialosci z Lispa,
np generatory bardzo latwo uzywa sie w Pythonie. BTW, rozszerzone
w swojej funkcjonalnosci w ostatniej wersji 3.0. MIT przeszedl z Lispa na
Pythona. Dlatego nie lisp? Jego glowna zaleta byla deklaratywnosc zamiast
optymalnego algorytmu podanego przez programiste np. w jezykach imperatywnych.
Problem z tym, ze teraz wiekszosc kompilatorow traktuje programy w jezykach
impreratywnych jak deklaratywne - ukladajac sobie wszystko po swojemu.
I przez to cecha nic nie daje. Garbage collector tez wystepuje juz w wielu
jezykach. Z powazaniem
Adam Przybyla
-
8. Data: 2012-04-16 13:03:23
Temat: Re: Początki z Lisp
Od: Adam Przybyla <a...@r...pl>
Adam Przybyla <a...@r...pl> wrote:
> Lukasz <k...@a...pl[usun]> wrote:
>> Dzień dobry,
>>
>> chciałbym zasięgnąć rady osób, które miały lub mają doświadczenie z
>> Lisp. Programuję na codzień w C++, kiedyś(na studiach) miałem styczność
>> z językiem Prolog, a teraz chciałbym spróbować ugryźć Lisp. Przeczytałem
>> trochę na temat tego języka i póki co wybieram implementację. Clozure CL
>> jeśli dobrze wyczytałem chyba będzie dobre, ponieważ jest open source i
>> na licencji LGPL(zależy mi, by była możliwość tworzenia zamkniętych,
>> komercyjnych programów). Możecie polecić jakieś materiały, które
>> wprowadzą w język? Spotkaliście jakieś dobre książki? Do jakich zadań
>> opłaca się wykorzystywać ten język?
> ... z perspektywy tego co chcialem kiedys osiagnac, wiele lat temu
> wchodzac w lispa moge powiedziec, ze teraz zapewani mi to w 99%
> Python+Django+tysiace bibliotek do pythona. Czesc nalecialosci z Lispa,
> np generatory bardzo latwo uzywa sie w Pythonie. BTW, rozszerzone
> w swojej funkcjonalnosci w ostatniej wersji 3.0. MIT przeszedl z Lispa na
> Pythona. Dlatego nie lisp? Jego glowna zaleta byla deklaratywnosc zamiast
> optymalnego algorytmu podanego przez programiste np. w jezykach imperatywnych.
> Problem z tym, ze teraz wiekszosc kompilatorow traktuje programy w jezykach
> impreratywnych jak deklaratywne - ukladajac sobie wszystko po swojemu.
> I przez to cecha nic nie daje. Garbage collector tez wystepuje juz w wielu
> jezykach. Z powazaniem
> Adam Przybyla
... dodatek:
http://www.python.org/dev/peps/pep-0380/
Z powazaniem
Adam Przybyla
-
9. Data: 2012-04-16 15:18:14
Temat: Re: Początki z Lisp
Od: Roman W <b...@g...pl>
On Monday, April 16, 2012 11:58:47 AM UTC+1, Adam Przybyla wrote:
> Problem z tym, ze teraz wiekszosc kompilatorow traktuje programy w jezykach
> impreratywnych jak deklaratywne - ukladajac sobie wszystko po swojemu.
Kompilator to nie wszystkowiedzacy czarodziej, i kodu napisanego w "sposob
imperatywny", z czestym nadpisywaniem zmiennych i czesto zmieniajacym sie, dzielonym
pomiedzy fragmentami programu stanem nie moze zmienic tak swobodnie, jak by mogl
zmienic kod czysto deklaratywny.
RW
-
10. Data: 2012-04-17 15:09:50
Temat: Re: Początki z Lisp
Od: Adam Przybyla <a...@r...pl>
Roman W <b...@g...pl> wrote:
> On Monday, April 16, 2012 11:58:47 AM UTC+1, Adam Przybyla wrote:
>
>> Problem z tym, ze teraz wiekszosc kompilatorow traktuje programy w jezykach
>> impreratywnych jak deklaratywne - ukladajac sobie wszystko po swojemu.
>
> Kompilator to nie wszystkowiedzacy czarodziej, i kodu napisanego w "sposob
imperatywny", z czestym nadpisywaniem zmiennych i czesto zmieniajacym sie, dzielonym
pomiedzy fragmentami programu stanem nie moze zmienic tak swobodnie, jak by mogl
zmienic kod czysto deklaratywny.
... jasne, co nie znaczy, ze nie mozna potraktowac w ten sposob, jak opisalem
kodu i co sie dzieje. Efekt oczywiscie nie jest idealny ale wydaje sie,
ze ... zadawalajacy;-) Z powazaniem
Adam Przybyla