Live data from Hacker News

On Lisp

paulgraham.com

21–30 of 107 posts

Re: On Lisp

#21
post #16

Lisp is a dangerous language that shouldn't be taught or used these days. There are plenty of superior programming techniques. Mathematical programming - linear programming, finite domain constraint programming, constraint logic programming, logic programming, relational programming Static functional programming - ml, haskell A good modern introduction to programming is Concepts, Techniques, and Models of Computer Pr…

>"Mathematical programming - linear programming, finite domain constraint programming" Huh? I am not sure if you are trolling or if you copied and pasted that without further investigation, but comparing operation research algorithms (such as linear and finite domain constraint programming) with a programming language is at the very least... disingenuous. > "Lisp is a dangerous language" That's a very strong and weir…

(putting aside the rudenss and cluelessness of your comment ...)

Operations research type algorithms can be thought of as forward chaining compared to prolog's backward chaining. Prolog implementations usually integrate them in because they are more efficient in many cases.

Lisp's dangerousness was why ML was invented by Robin Milner.

Re: On Lisp

#23
post #11

OT how is arc progressing?

The Clojure inventor (Rich Hickey) took most of the good ideas from arc and all the arc enthusiasts have pretty much changed horses long ago to Clojure.

I think arc still has some good points related to code brevity that noone else has fully duplicated yet.

Re: On Lisp

#24
post #21

Earlier quoted context omitted.

>"Mathematical programming - linear programming, finite domain constraint programming" Huh? I am not sure if you are trolling or if you copied and pasted that without further investigation, but comparing operation research algorithms (such as linear and finite domain constraint programming) with a programming language is at the very least... disingenuous. > "Lisp is a dangerous language" That's a very strong and weir…

(putting aside the rudenss and cluelessness of your comment ...) Operations research type algorithms can be thought of as forward chaining compared to prolog's backward chaining. Prolog implementations usually integrate them in because they are more efficient in many cases. Lisp's dangerousness was why ML was invented by Robin Milner.

Sounds like you're an "anything that doesn't have static compile-time typing is dangerous" kind of guy.

Re: On Lisp

#25
post #24
post #21

Earlier quoted context omitted.

(putting aside the rudenss and cluelessness of your comment ...) Operations research type algorithms can be thought of as forward chaining compared to prolog's backward chaining. Prolog implementations usually integrate them in because they are more efficient in many cases. Lisp's dangerousness was why ML was invented by Robin Milner.

Sounds like you're an "anything that doesn't have static compile-time typing is dangerous" kind of guy.

That's basically the consensus among professional academics on the matter. Also among well respected programmers in senior roles like Joshua Bloch and John Carmack.

Re: On Lisp

#26
post #24
post #21

Earlier quoted context omitted.

(putting aside the rudenss and cluelessness of your comment ...) Operations research type algorithms can be thought of as forward chaining compared to prolog's backward chaining. Prolog implementations usually integrate them in because they are more efficient in many cases. Lisp's dangerousness was why ML was invented by Robin Milner.

Sounds like you're an "anything that doesn't have static compile-time typing is dangerous" kind of guy.

Static typing is greatly beneficial, with HM it doesn't require a lot of annotation (people that use it find type annotations to be beneficial anyway). Languages that don't offer strong typing and GADTs are blub languages.

Re: On Lisp

#27
What percentage of the techniques in this book are also applicable to Clojure programming? I don't know a lot about how the two macro systems differ.

Re: On Lisp

#28
post #27

What percentage of the techniques in this book are also applicable to Clojure programming? I don't know a lot about how the two macro systems differ.

A lot of it. Clojure has a Common Lisp like macro system. There are some slight changes where clojure tried to make things a little simple, and the syntax is a lot diffrent.

I think there are people on the internet who have implmented most of the example in clojure.

Re: On Lisp

#29

I've been meaning to read this for quite some time, but I've been told that the idioms and coding style is outdated, or not very good. This isn't going to stop me, but I'd like to know from some experienced lispers what problems I might encounter. Especially as I'm pretty inexperienced myself. I definitely won't know what to look for.

From a clojure perspective it is somewhat true. The clojure community tried to avoid macros as much as possible and doing to much with macros should be avoided.

There are of course still tons of examples in the book that are very useful for clojure as well.

Re: On Lisp

#30
post #16

Lisp is a dangerous language that shouldn't be taught or used these days. There are plenty of superior programming techniques. Mathematical programming - linear programming, finite domain constraint programming, constraint logic programming, logic programming, relational programming Static functional programming - ml, haskell A good modern introduction to programming is Concepts, Techniques, and Models of Computer Pr…

What kind of argument is this.

> constraint logic programming, logic programming

The book you comment on actually implments a logic programming system.

Both common lisp and clojure have implmentations of high performance logic systems.

> Static functional programming

Both Clojure and Common Lisp have type systems that can do most things ml and haskell can do. Its arguable that some of this (in the CL) are even more powerful then what haskell has.

Im not sure on what the other types of programming are but the do not at sound like things that a library can not do. Can you give a example of something that you can not do in clojure or commen lisp that is possible without in these other languages that you have not actually provieded.

> Concepts, Techniques, and Models of Computer Programming

It is a very good book. However 99.99% of programming today are not done with these modern concepts. It are actually langauges like clojure that push some of the technics like constraint logic programming more into the mainstream. Check out core.logic.

Post reply on HN