I've already got Python and C/C++ under my belt and I was considering learning either Lisp or Lua to continue on my journey. Lisp because it's so so so different, but mostly because it can compile to machine code. Lua because it's different from Python and C++, faster than Python, and often used for games.
So:
A. Lisp
B. Lua
(what sadistic fuck would name the condition of having a lisp "Lisp"!?)
Lisp, especially Scheme dialect.
data and program indistinguishable.
Name:
Anonymous2008-03-26 7:47
They are both equally useless, except if you want to write games, in which case you should learn Lua and embed it for scripting instead of hacking up your own language/interpreter. You should then proceed to kill yourself.
>>18
What exactly does Scheme wrong? I think Scheme is much nicer than old and bloated CL.
Name:
Anonymous2008-03-27 18:40
>>21
What you percieve as "old bloat" is actually a little thing I like to call "decades of experience embodied". Scheme is just a wannabe functional language that wouldn't even be well known if all the other Lisps hadn't combined into CL.
>>22
Scheme is great for its simplicity.
CL is indeed quite powerful and easier to write well-structured programs that do something.
Name:
Anonymous2008-03-27 19:40
Go ahead, try out Lisp.
You'll come crying home to Python's standard library soon enough.
Name:
Anonymous2008-03-27 19:59
What about Qi? Anyone familiar with it?
Name:
Anonymous2008-03-27 20:34
>>24
No argument here. Scheme is definitely a great language for some things. I would probably use it if I taught a lot of new programmers. It's just not what I would recommend to a programmer looking for the Lisp experience.
>>26
Yes. It's got some neat bits and it's great that it comes with a PDF of Functional Programming in Qi. I'm working through the book right now. I like that it's not necessary to quote symbols (foo rather than 'foo), and pattern matching is pretty awesome.
I'm still scratching my head a little over working with types... really I think studying the sequent calculus is going to be necessary. For some baffling reason, anonymous functions are all unary. Not sure how that was a good idea. Some of its notations make me uncomfortable. I don't really see why
(define foo
X Y -> X where (= Y X)
_ Y -> Y)
is better than something more list-based.
Name:
Anonymous2008-03-27 21:32
Does the Qi standard mandate capitalization of variables?
Name:
Anonymous2008-03-27 22:00
>>28
I don't believe there is a standard, but yes, it's necessary to capitalize the first letter of a variable. That's how Qi tells them apart from literal symbols.
>>26
Qi is a layer on top of Common Lisp which redefines the reader, bringing types, pattern-matching and some other stuff to CL. You can mix CL and Qi together.
Name:
Anonymous2008-03-28 2:08
>>34
AND THAT'S WHY WE WRITE ALL OUR PROGRAMS IN THE LAMDA CALCULUS
>>38
SPOILER: All functions in Haskell are unary. That's why currying exists.
Name:
Anonymous2008-03-28 7:29
>>1
Lua isn't for writing games, faggot. It's something you stuff into games that you write in real languages for script control because it's lightweight and has easy bidirectional hooks to C.
Name:
Anonymous2008-03-28 8:28
>>40
SPOILER: In Scheme functions can be n-ary or variable, and you can still curry.
Name:
Anonymous2008-03-28 12:14
Lua is only good for WoW-interface modding. Really nothing else. LISP is like magic, you can do everything
Name:
Anonymous2008-03-28 16:08
>>40
SPOILER: Haskell doesn't require programmers to curry functions by hand.
Name:
Anonymous2008-03-28 18:56
>>40-44
SPOILER: THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME THE GAME