Live data from Hacker News

Why Racket? Why Lisp? (2014)

practicaltypography.com

121–130 of 168 posts

Re: Why Racket? Why Lisp? (2014)

#121
post #49

Earlier quoted context omitted.

1 - Everything is an expression so it's easier to snap code together. 2 - List based = flexibility, get more done faster because lists are simple and everywhere 3 - Strongly nudges in the direction of functional programming 4 - Rocking documentation, advanced libraries 5 - The Dr Racket GUI IDE 6 - X-expressions (don't know what they are) 7 - Hygienic macros 9 - Easy to write powerful DSLs 10 - Many low hanging fruit…

Dr Racket is a horrible IDE. Routinely uses ungodly amounts of ram, ever try scrolling through your code because it spends 30 seconds in some paren matching loop.

Unfortunately I have to agree here. I abandoned DrRacket for Emacs racket-mode and geiser because waiting for DrRacket to finish whatever it was doing became too much for me. On the other hand, as an Emacs user, I'd probably do this even if DrRacket was much better optimized than it is :)

Re: Why Racket? Why Lisp? (2014)

#122

is there a tl;dr. After about 45 secs of reading author did not answer why racket or why lisp

It's simpler than using the language you're probably using now. I cannot think of a higher praise for any design problem is that it's solved more simply with Y than X.

Forth is even simpler.

Re: Why Racket? Why Lisp? (2014)

#123
post #76

As someone who thinks Lisp is pretty cool and uses Emacs to study it and is about 100 pages into SICP: I still don't get it. Common Lisp macros went entirely over my head too. A programmable programming language? Aren't all languages like that? I've only been programming for a couple years so I'm afraid I might not recognize the value of Lisp until I use more of the "less powerful" alternatives.

> A programmable programming language? Aren't all languages like that?

How would you write a program to write a program? How can you use this generated program in your other code? It's really hard to do with a lot of programming languages, even those that have eval like JavaScript, so it never occurs to people that something like a template system or a code translator/DSL should be trivially easy to write.

Re: Why Racket? Why Lisp? (2014)

#124

I find all his digs at javascript funny since, at least the way I use it, javascript is basically an ugly-looking scheme. Javascript is responsible for my 'lisp enlightenment' with the language using first-class functions and closures, and the wide variety of precompilers. It strikes me as fashionable to hate on javascript. Java on the other hand, now that's a horrible language ;) ;)

Javascript isn't Scheme: http://journal.stuffwithstuff.com/2013/07/18/javascript-isnt...

If Javascript were only an ugly looking scheme...

Re: Why Racket? Why Lisp? (2014)

#125

For more on the per­- ils of tax­ing reader pa­tience, see WHY DOES TY- POGRAPHY MAT- TER This quote, hyphenated as is, provides all sorts of opportunities for snark. Instead I'll just note that it seems Pollen needs work. It's far too eager to hyphenate; doesn't protrude hyphens, commas, etc.; and doesn't use TeX-style paragraph-level optimization. Not being able to identify the bounds of hyperlinks is also a strong…

         For more on the
        perils of taxing
    reader patience, see
                WHY DOES
              TYPOGRAPHY
                 MATTER.
This is what I get on Firefox and Chome

Re: Why Racket? Why Lisp? (2014)

#126
post #48

"Paul Graham’s programming language Arc, a dialect of Lisp, was built on top of Racket." Since that statement occurs in a section about Racket languages, I should probably clarify. Arc isn't technically a Racket language—that is, it doesn't use any of Racket's facilities for defining new languages. It compiles to Racket (and so you're all using it right now), but has its own distinct implementation. Historically, Arc…

This is Matthew Butterick. I wrote “Why Racket? Why Lisp?” As I allude there, Paul Graham’s writings about Lisp (mostly in Hackers & Painters) helped persuade me to explore Lisp languages. (Those writings have also persuaded many others.) In particular, Arc's reliance on Racket persuaded me to take a serious look at Racket. So leaving aside quibbles about what “on top of” means — is Clojure not built “on top of” the…

I'm curious what data supports the idea that Lisps have gotten more popular.

The total number of developers who know a Lisp may have grown, but the total population of developers is also rapidly growing.

Measured as a % of language popularity, I'd expect it is largely flat, despite awesome mass-media efforts like Seibel's Practical Common Lisp http://www.gigamonkeys.com/book/

Re: Why Racket? Why Lisp? (2014)

#127

I find all his digs at javascript funny since, at least the way I use it, javascript is basically an ugly-looking scheme. Javascript is responsible for my 'lisp enlightenment' with the language using first-class functions and closures, and the wide variety of precompilers. It strikes me as fashionable to hate on javascript. Java on the other hand, now that's a horrible language ;) ;)

Javascript isn't Scheme: http://journal.stuffwithstuff.com/2013/07/18/javascript-isnt... If Javascript were only an ugly looking scheme...

Sweet.js brings hygienic macros to JavaScript and follows directly from Scheme R5RS mechanisms AFAICT.

Re: Why Racket? Why Lisp? (2014)

#128

Earlier quoted context omitted.

Tell me you wouldn't want to avoid this boilerplate: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); } } and instead write a nice little main macro, so you may just write: (main (print "Hello, World!")) Do that a few times in an application, and instead of 10 million LoC, you can write it in 100,000 LoC. This becomes much more maintainable! Also, see: Alan Kay "P…

Sure. And then imagine that you have to take over someone else's 100,000 LoC written with their own, unique, macros, some of which may invoke other macros, and interact with them in surprising ways, depending on what's passed into them. Now you have to be able to keep in your head what all those macros do (including to each other) while you're trying to read those 100,000 LoC. At that point, you may not find the macr…

This. I used to do all my programming in clojure. Now I am going back to python -- because I am not able to figure out a month after writing some code, what these deep recursive, reduce, apply things do.. But it is a good exercise writing it.

Re: Why Racket? Why Lisp? (2014)

#129
post #117
post #47

Earlier quoted context omitted.

It's not so sudden. HN itself is written in a LISP [1], and Paul Graham's pre-YC claim to fame was Viaweb, a store platform written in LISP that became Yahoo Stores. This community has been above-average LISP friendly for a long time. LISP's also has a long history of popping up all over the place because they are extremely implementation-friendly (if you want to write a simple language; if you want to make things fa…

It's spelled 'Lisp'. There has been zero overlap between people writing "LISP" and people writing lisp code for about half a century.

That's really overstating it, especially seeing as Lisp has barely existed for half a century, and people like ESR call it "LISP" to this day.

Re: Why Racket? Why Lisp? (2014)

#130
post #117

Earlier quoted context omitted.

It's spelled 'Lisp'. There has been zero overlap between people writing "LISP" and people writing lisp code for about half a century.

That's really overstating it, especially seeing as Lisp has barely existed for half a century, and people like ESR call it "LISP" to this day.

AFAIK the allcaps "LISP" fell out of favour in 1984 when Common Lisp was introduced, and only the original Lisp implementation and Mac Lisp used the allcaps name.

Much like Fortran (no longer FORTRAN), the acronyms became proper names in their own right.

Post reply on HN