Live data from Hacker News

The Land of Lisp

landoflisp.com

101–110 of 146 posts

Re: The Land of Lisp

#101

Earlier quoted context omitted.

A common complaint about Lisp code in general is that programmers tend to write code that is idiosyncratic [ED: I previously used the word "idiomatic" here in reply to the OP but was conflating terms, making this post rather irrelevant but at least it provoked a discussion] (i.e. rather than looking like templated design patterns with standard names, the program is heirarchically built of modules in a domain-specific…

> rather than looking like templated design patterns Speaking about another lisp, Clojure, it is a goal that each program finds its own design pattern. That's kinda the whole idea. Design patterns can really get in the way, unless your language requires them, which some languages do (i.e. Java where everything must be an object, so OO it is, or Apple's platforms where the MVC pattern is deeply interwoven into all the…

> By contrast, design patterns are about forcing a common solution onto a range of different problems.

I always viewed design patterns as providing a shared name for common solutions to common problems. And that forcing a common solution to a range of different problems was a misuse of them.

But maybe I'm wrong.

Re: The Land of Lisp

#102
post #101

Earlier quoted context omitted.

> rather than looking like templated design patterns Speaking about another lisp, Clojure, it is a goal that each program finds its own design pattern. That's kinda the whole idea. Design patterns can really get in the way, unless your language requires them, which some languages do (i.e. Java where everything must be an object, so OO it is, or Apple's platforms where the MVC pattern is deeply interwoven into all the…

> By contrast, design patterns are about forcing a common solution onto a range of different problems. I always viewed design patterns as providing a shared name for common solutions to common problems. And that forcing a common solution to a range of different problems was a misuse of them. But maybe I'm wrong.

I like to think of design patterns as "TV Tropes for programming". The GoF probably intended their book to be taken in that spirot. But then design patterns became something that computer science students and job candidates got quizzed on...

Re: The Land of Lisp

#103

Nicely explained. On a side note, I noticed with deep satisfaction that “git” is used as some kind of curse in the land of Lisp.

"Git" in British slang roughly means "jerk". See also Linus's joke about naming software after himself, mentioned elsewhere in thread.

The Monkees had a song called "Randy Scouse Git" (after a catchphrase from the britcom 'Til Death Do Us Part) the title of which was considered so vulgar in the UK that they had to release the song there under an alternative title (I think they actually used "Alternative Title").

Re: The Land of Lisp

#104
post #97

When I discovered lisp several years ago, it was indeed the textbook moment of enlightenment that you've heard about. This book was a part of that introduction for me (along with Practical Common Lisp). After working in C-like languages, I had no idea that programming could work this way as in lisp, the idea of code and data being inseparable, I even had dreams at night about run-time data structures getting expresse…

I question the downsides you suggest. There was a study done where they had two groups of people implement the same thing, one with a dynamic language, the other with its equivalent static variant. What they found was that the people who used the dynamic language took 33% less time to complete the task. But what's interesting is students who were given the static typed variant all said they felt the type system helpe…

> two groups of people implement the same thing

The obvious problem with that is that dynamically typed languages are great for prototyping things ... and implementing something quickly for a study sounds like prototyping.

But statically typed languages really shine for maintenance and refactoring.

Re: The Land of Lisp

#105
post #101

Earlier quoted context omitted.

> rather than looking like templated design patterns Speaking about another lisp, Clojure, it is a goal that each program finds its own design pattern. That's kinda the whole idea. Design patterns can really get in the way, unless your language requires them, which some languages do (i.e. Java where everything must be an object, so OO it is, or Apple's platforms where the MVC pattern is deeply interwoven into all the…

> By contrast, design patterns are about forcing a common solution onto a range of different problems. I always viewed design patterns as providing a shared name for common solutions to common problems. And that forcing a common solution to a range of different problems was a misuse of them. But maybe I'm wrong.

> I always viewed design patterns as providing a shared name for common solutions to common problems. And that forcing a common solution to a range of different problems was a misuse of them.

Exactly, a design pattern is just that: a pattern of design, that shows up organically after you have enough systems designed in the same language. Many of the design patterns that occur in languages like C++ and Java don't show up in Lisp because Lisp is a rather different language, but then we have our own design patterns as well, things like with- macros.

Re: The Land of Lisp

#106

I'll get hammered for this, but there are better books. I still haven't figured out if this book is a vanity project written by a bored Doctor, or a sincere attempt to convey information. I do like the Period Table though. And maybe it's just me? I have the book on my shelf, and it's dusty. I do feel using a comic book format to convey technical information is the way to go. It should be used more often.

Can you suggest some of these "better books" ?

Re: The Land of Lisp

#107

Earlier quoted context omitted.

A common complaint about Lisp code in general is that programmers tend to write code that is idiosyncratic [ED: I previously used the word "idiomatic" here in reply to the OP but was conflating terms, making this post rather irrelevant but at least it provoked a discussion] (i.e. rather than looking like templated design patterns with standard names, the program is heirarchically built of modules in a domain-specific…

I know what you are saying, but that is not what is meant by idiomatic Lisp. Not by Lispers at least. Non-idiomatic Lisp is typically written by beginners whose code looks more like the language they are accustomed to using previously. For instance, leaning heavily on a procedural style. And not just beginners, but also seasoned programmers that write object oriented Lisp more akin to static OOP. In other words, desi…

God, that link and the comic strip for the Land of Lisp are both so great! I might have to try Lisp again.

>Writing in C is like building a mosaic out of lentils using a tweezer and glue.

I cannot describe the memories and associated feelings this evokes....

Re: The Land of Lisp

#108

This book comes up in #lisp on freenode every so often, and the channel is generally split on whether or not to recommend it. I generally do. It's fun and lighthearted. Using games as a medium to teach the language is something some people enjoy, and is a lot less dry than most programming books. It avoids taking sides on the editor war, by just ignoring it altogether and teaching Lisp . This is refreshing compared t…

> The main issue people have with the book is that it uses CLISP-specific code in a few places. This makes sense for a tutorial book, since CLISP is easy to install, very small to download (compared to SBCL), and is a fully featured (ANSI compliant) implementation. So i don't think it was a mistake to choose CLISP. The recommendation in #lisp for SBCL over CLISP might be because SBCL is nicer to the programmer, offer…

It is also because CLISP is unmaintaned. But the only implementation dependant code I remember is the socket code.

But CLISP wasn't unmaintaned when the book was written más its default REPL is much better than other implementations. It was a good choice at the time.

Re: The Land of Lisp

#109
post #5

I've read this book, and what I love about it is that it really brings to mind the programming books of my youth, when nobody would argue that programming should be fun. It's goofy, has bad jokes, and you learn something. Having said that, the code style seemed quite idiomatic compared to some of the other Lisp I've seen (although I'm no expert), so I wasn't sure how valuable the lessons were.

I really liked going through Realm of Racket with my 11 year old daughter. It pretty much is the same format. It made me miss the days of typing code from a book and hit run. (Well run never really worked then it was hours of debugging but that taught me so much)

Remember COMPUTE!?

https://en.wikipedia.org/wiki/Compute%21

Post reply on HN