Live data from Hacker News

Why Lisp is Awesome

atomized.org

31–40 of 62 posts

Re: Why Lisp is Awesome

#31
I wasn't aware you could use const char pointers in switch statements.

switch (var) {

    case "foo":
        printf("foo block.");
        break;

    case "bar":
        printf("bar block.");
        break;

    default:
        printf("Default case")
}

Re: Why Lisp is Awesome

#32
post #29
post #12

Earlier quoted context omitted.

Because awesome is usually used in a relative sense -- something is awesome compared to other stuff . The implicit other stuff is "everything else."

You are making that up. Awesome is a description like 'green'. Yesterday we saw an awesome game. The sound of the new stereo is awesome. The view from that skyscraper is awesome. If I compare something I'd say: Yesterday I saw the most awesome game. etc.

Not really. Inspiring awe is a property based on when you see it. If you could demo an iphone to someone in 1970 it would be awesome; if you demo it to someone in 2015 it would be an old iphone.

Green is forever.

Re: Why Lisp is Awesome

#33
post #29
post #12

Earlier quoted context omitted.

Because awesome is usually used in a relative sense -- something is awesome compared to other stuff . The implicit other stuff is "everything else."

You are making that up. Awesome is a description like 'green'. Yesterday we saw an awesome game. The sound of the new stereo is awesome. The view from that skyscraper is awesome. If I compare something I'd say: Yesterday I saw the most awesome game. etc.

First time I went to New Mexico I saw some Kachini dolls. They looked, well, awesome.

After a few days or so, I saw many, many more Kachina dolls, such that I could start seeing differences in quality. Those first ones I saw? They really weren't all that awesome. They were actually sort of crappy, once I saw some truly awesome handiwork.

Whether or not something inspires awe really does depend on previous experience.

Re: Why Lisp is Awesome

#34
post #29

Earlier quoted context omitted.

You are making that up. Awesome is a description like 'green'. Yesterday we saw an awesome game. The sound of the new stereo is awesome. The view from that skyscraper is awesome. If I compare something I'd say: Yesterday I saw the most awesome game. etc.

Not really. Inspiring awe is a property based on when you see it. If you could demo an iphone to someone in 1970 it would be awesome; if you demo it to someone in 2015 it would be an old iphone. Green is forever.

a Porsche from 1970 is still awesome. There are many things that have timeless qualities. Every time I hear 'The Man Machine' from Kraftwerk I think how awesome it is.

'The Grand Canyon is awesome' - how does that depend on WHEN I see it. As long as there is a Grand Canyon, it is awesome. It is of no concern if there are things less or more awesome. The Grand Canyon is just 'awesome'.

Lisp has for some people also timeless qualities. One of these people is Alan Kay (of Smalltalk, Dynabook, etc.) fame. Check some day what Alan thinks about Lisp: http://bc.tech.coop/blog/060224.html

"Most people who graduate with CS degrees don't understand the significance of Lisp. Lisp is the most important idea in computer science."

Re: Why Lisp is Awesome

#35
post #29

Earlier quoted context omitted.

You are making that up. Awesome is a description like 'green'. Yesterday we saw an awesome game. The sound of the new stereo is awesome. The view from that skyscraper is awesome. If I compare something I'd say: Yesterday I saw the most awesome game. etc.

First time I went to New Mexico I saw some Kachini dolls. They looked, well, awesome. After a few days or so, I saw many, many more Kachina dolls, such that I could start seeing differences in quality. Those first ones I saw? They really weren't all that awesome. They were actually sort of crappy, once I saw some truly awesome handiwork. Whether or not something inspires awe really does depend on previous experience.

how are the Niagara falls less awesome on the 8.Jan 2010 compared to 7.Jan.2010?

Re: Why Lisp is Awesome

#36
post #30

Earlier quoted context omitted.

I believe that appreciating Lisp's minimalistic, tree-like syntax requires a very mathematical way of thinking. Many (perhaps most) developers have a different way of thinking. There's nothing wrong with that, diversity is a good thing but because of that, I don't think that the S-Expression syntax will ever become "mainstream".

It is already. XML is full of prefix, nested syntax.

Yes, but nobody would seriously write a programming language that used XML for its syntax.

Re: Why Lisp is Awesome

#37
post #28
post #27

Risking being downmodded, I'd say Lisp is too "low level" for many common problems, which is great if your domain is parser/compiler construction/transformation/combination. I have no problem with lisp syntax (I can even tolerate C++ templates :), but it (and most general purpose languages) feels less natural for many domain specific problems than languages catering to the domains. A DSL family based on a flexible co…

That's why Lisp was called 'AI assembler'. Literally hundreds of higher-level languages have been implemented on top of Lisp. One of those has been integrated into Common Lisp: CLOS, a high-level object-oriented language for programming dynamic systems, with meta-programming capabilities.

Most of these "high-level" languages are more of "extensions" (CLOS certainly feels like an extension) or alternative lispish languages than bona fide DSLs with DS constraints (that can be used for DS optimizations). The S-expression syntax feels foreign/messy in many domains.

Re: Why Lisp is Awesome

#38
post #30

Earlier quoted context omitted.

It is already. XML is full of prefix, nested syntax.

Yes, but nobody would seriously write a programming language that used XML for its syntax.

So you say existing XML-based programming languages were 'written' by non-serious people?

'Water':

     
      source..   
                 .
               else “OK”
          
    
       >
      .
     
   
See also XSLT, XL, RuleML, ...

Re: Why Lisp is Awesome

#40

I wasn't aware you could use const char pointers in switch statements. switch (var) { case "foo": printf("foo block."); break; case "bar": printf("bar block."); break; default: printf("Default case") }

You can't:

$ cat foo.c

    #include 
    main() {
        const char *foo = "bar";
        switch (foo) {
            case "foo":
                printf("foo\n");
        }
    }
$ gcc -pedantic -std=c99 foo.c -o foo

    foo.c: In function ‘main’:
    foo.c:4: error: switch quantity not an integer
    foo.c:5: error: case label does not reduce to an integer constant
Post reply on HN