Page 1 of 1

What Lisp Dialect for "real world" programming

Posted: Wed Aug 29, 2018 4:27 am
by Syronn
Hey there,

i am kinda new to programming (former system administrator). I am currently learning Elixir, but i want to dive into a second language, too.
I read about Lisp and i like the syntax of it as far i can tell.

My question is, what is the "best" dialect to choose, if i plan to build real world applications like a desktop GUI for Windows environment?

- I read about Clojure having a slow startup speed (True and important?)
- Clisp seems to be good, but the "good" implementations are quite heavy in the price (Allegro and Lispworks)
- Racket and Scheme are mainly used for academic purposes, true?

I appreciate all answers!

P.S. Yes, i looked into C#, but i just can't stand the syntax of it... I don't know why.

Greetings,
Sy

Re: What Lisp Dialect for "real world" programming

Posted: Fri Aug 31, 2018 12:43 pm
by sylwester
Clisp is just like Allegro, a Common Lisp implementation. The language is called Common Lisp or CL for short.
I imagine SBCL, which is free, probably is the fastest general CL implementation since it compiles to machine code and does stuff with the proclaim and declare expressions.

Racket is descendant of Scheme, not the fastest implementation, but it has a reasonably large standard library and can compete with CL, but since it is a one implementation language it is also a lock in.

Clojure is Java with lisp syntax. I've never heard it has slow startup speed, but it does parse and compile before running. Clojure code can be precompiled if that is an issue, but I cannot think of one situation where this is an issue.

So you know a Prolog language. You probably should learn a Lisp language. Just pick one. If you like funcitonal then Scheme/Racket is best. If you want cool OO Common Lisp is definitely it. Clojure is more if you are interested in using java libraries or JavaScript and like lisp syntax. Each flavor relies heavily on the host language and thus Clojure on JVM is not portable on other platformes unless very simple core use.

Even though you didn't like C# an Algol language is perhaps obligartory. It is by far the lasrgest family of real world programming languages. I'd choose JavaScript today for it's OO and FP combination.

You don't know languages before you make some yourself. Might not be for everyone, but it gives some insight you won't get otherwise.