Live data from Hacker News

Learn Lisp the Hard Way

learnlispthehardway.org

121–130 of 144 posts

Re: Learn Lisp the Hard Way

#121
post #92

Earlier quoted context omitted.

>If the goal here is to evangelize Lisp, radiating this kind of pomposity seems like a questionable move because it reflects badly on the community you are trying to win new members for. Worse, this could be interpreted as willful cluelessness in the face of the rich multi-language ecosystem potential readers are living in. How circular! A Lisper would respond that the very passage you critiqued is the appropriate re…

You could choose to understand it that way, but only if you want to kill the conversation. Which is fine, of course. Judging by the amount of controversy mirrored in the voting of my comment (I suspect moderator intervention was involved as well), a large number of HNers really do believe that all non-Lisp languages are abominations, that there is no appropriate paradigm besides Lisp's, and that Lisp already contains…

Try Lisp. You'll see most modern languages -- Objective C, Ruby, Java, &c -- and not so modern languages as well, don't have much that Lisp doesn't offer. That the pomposity may not be the best way is but a matter of opinion. But features? We can sit down and count those. I encourage you to learn Lisp. It's enlightening.

Re: Learn Lisp the Hard Way

#122
post #51

Earlier quoted context omitted.

I think the whole enlightenment thing w.r.t. lisp is overblown.

From what vantage point?

I worked through SICP years ago and used scheme as my primary language for a couple of years. I write in an ML dialect at my day job.

1. lisp got a lot of stuff wrong; there's really no reason not to use scheme.

2. lisp syntax is more something to overcome than something to become "enlightened" about. Language syntax no longer has to be motivated by ease of parsing.

3. Dynamic typing only gets so enlightening. At the end of the day, type theories are where the rubber hits the road.

4. Macros don't excite me much. I mean, they're cool, sure. Okay.

At the end of the day, there's a lot more exciting stuff out there (e.g. any math class beyond the calculus sequence or so) that people get way less worked up about.

It's possible to understand lisp, think that there are important ideas there, but not go around evangelizing. Most smart people who study something non-trivial don't evangelize.

Re: Learn Lisp the Hard Way

#123

I have nothing against Lisp, but... >Is Lisp as hard as people say it is? >No. Lisp is actually the simplest programming language, and has no syntactic cruft. I always see this used when claiming certain languages are easy to grasp. "It's not complex at all! The syntax is incredibly simple!" x86 assembly also has very simple syntax but it's not too easy for beginners to write in, beyond very simple and small programs…

It really is. That's why they used Scheme for the Structure and Interpretation of Computer Programs (SICP). If you look closely at it, you'll notice that they don't actually spend a lot of time teaching you anything about language itself, just the processes.

Re: Learn Lisp the Hard Way

#124

Regarding the tone I concede it is a little over the top, but considering the author works for D-Wave[1] building the future of (Quantum) Computing I think it is not without merit. It may be better to leave the intro part for the end as it may alienate programmers that have preconceived notions about lisp based on hearsay and not actual experience (i.e. it's enlightening, it's old, full of cruft, hard to read, it's f…

It's worth noting that I don't work for D-Wave. Quantum Computing is an interest of mine, so naturally I signed up for their developer program when they launched it a couple years back (which they shut down entirely earlier this year).

Sorry, my mistake. Don't know where I got the idea that I had seen D-wave on your gh profile.

Re: Learn Lisp the Hard Way

#125

Earlier quoted context omitted.

It's worth noting that I don't work for D-Wave. Quantum Computing is an interest of mine, so naturally I signed up for their developer program when they launched it a couple years back (which they shut down entirely earlier this year).

Sorry, my mistake. Don't know where I got the idea that I had seen D-wave on your gh profile.

Oh, yeah that was just the group for members of their developer program. It's gone now though.

Re: Learn Lisp the Hard Way

#127
post #122

Earlier quoted context omitted.

From what vantage point?

I worked through SICP years ago and used scheme as my primary language for a couple of years. I write in an ML dialect at my day job. 1. lisp got a lot of stuff wrong; there's really no reason not to use scheme. 2. lisp syntax is more something to overcome than something to become "enlightened" about. Language syntax no longer has to be motivated by ease of parsing. 3. Dynamic typing only gets so enlightening. At the…

The Lisp language syntax is not motivated by 'ease of parsing'. It is motivated by the 'code as data' idea, which enables a lot of useful source transformations to be implemented AND used in a relatively easy way. One of the applications of that are macros.

Scheme got a lot wrong from a practical perspective. Use Lisp instead.

Type theories are over-hyped. 99.99% of all software is written in languages without advanced type systems.

Macros are nothing for 'excitement'. They are a tool. They enable the user to write source transformations, which has several applications in Lisp: control structures, compile-time computation, etc etc.

Re: Learn Lisp the Hard Way

#128
post #51

Earlier quoted context omitted.

I believe that Lisp requires years to master. If you're a bright developer, who puts in time eagerly, it will take at least six months before you begin to "get it". At that time you may start itching to evangelize to others, but those who have not put in the time will not get it. It's not realistic to try to make someone see in one or two e-mails or postings what took you a year to see for yourself.

I think the whole enlightenment thing w.r.t. lisp is overblown.

lol @ random downvotes for criticizing lisp. Set and match.

Re: Learn Lisp the Hard Way

#129

Earlier quoted context omitted.

From what vantage point?

I'm not the above poster but I think the power of macros is way overhyped and not nearly as strong as people claim. I see the claim of "you can write a macro to do it" for any imaginable feature all the time , but it is simply not true. A recent example from personal use is continuations. Scheme has them as a first-class object. Common Lisp does not, but a common claim is that you can write macros to provide continua…

> I see the claim of "you can write a macro to do it" for any imaginable feature all the time, but it is simply not true.

Which is not surprising. Actually nobody with a clue makes such a claim.

Still, Lisp macros have a wide variety of very useful applications.

> Yes, your language is extendable, but your extensions are limited to computation and source-to-source transformation at compile time.

Still quite useful. From relatively simple stuff which makes to code more readable to complex macros like ITERATE.

Re: Learn Lisp the Hard Way

#130

Earlier quoted context omitted.

The only thing that makes programs easy to deploy is the popularity of the language/environment they're written for. If the language you're using is popular enough that you can download the implementation using your system's package manager, deployment is easy. If not, it's harder. And for any language that's popular now, there was a time that it wasn't yet popular, and deployment was a pain. So I think you have it b…

This is only telling half the story. It is perfectly true for, say, Python (still a pain to deploy on Windows, or at least it was the last time I tried), but newer languages that are less popular like Go do not have this problem. Even Rust, a language that is only in alpha , does not have this problem! Why is this? It's because they can live in, and interact with, the common linking and loading ecosystem that the res…

If you want to create something that you can link into C program, there are several options:

Lisp systems like LispWorks can generate typical platform shared libraries.

Many can easy embed C-code.

Some compile to C, which than can be embedded. ECL is only one example. Others are mocl or the ECL-related systems.

Post reply on HN