Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Lisp was my favorite language when I studied (hrm, long ago).

IMHO, there is quite a lot of support for the argument that modern day scripting languages are getting closer and closer to becoming lisps, except for syntax and the macro system. (Maybe Perl 6 will have meta-language power enough to equal the macro system? I should start learning it.)

I've never really understood why there are no successful projects to transfer code between the S-EXPR parenthesis-based syntax and some Algol-like notation; if that managed to also copy comments between the formats and auto formatted well, it would be an easy introduction for new lispers.



Maybe Perl 6 will have meta-language power enough to equal the macro system?

Not only does it have full-on raging macros, you can redefine the languages own syntax inline. Check out one of Larry's recent talks about STD.pm (here's a Google Tech Talk from last year, which is nowhere near as funny as Larry usually is, but is still quite informative: http://www.youtube.com/watch?v=JzIWdJVP-wo )for a real "when you see it, you'll shit bricks" moment. Perl 6 is far more intimidating than I ever realized. They seem to have looked at everything good about Perl (and a handful of other languages) and said, "Let's do a lot more of that." It's somewhat scary how much more of "that" they've done. So, there's macros from Lisp, lazy evaluation from Haskell, redefine-able grammar and syntax from I dunno where, a new regex language, etc. It takes TMTOWTDI to obscene new heights (kinda like Lisp). If power is the sole determining factor in what language you choose, there's a strong case to be made that Perl 6 is the one you want. I don't know that I entirely buy that (if I did, I guess I'd be using Lisp), but I'm hopeful that the real result of Perl 6 will be a language as capable as Lisp with a community and library culture as strong as Perl 5.


What I meant was, will it be as easy to use as lisp macros?

To take most everything good existing and sum it, is how you make Perls. :-) I'm not arguing here, I do Perl today.

You should have put the content of the last sentence first; too few will read it.


You should really look into Nu, the language I mentioned in my parent post. It is a "glue" language for Objective-C and allows you to write code using typical lisp prefix-notation (+ 1 2) or infix (1 + 2). Reason being ObjC is mostly object oriented with infix & named parameters, so it fits in both worlds.

For example, if you're typically a lisp guy, you would probably write code like this: (init (alloc ApplicationDelegate))

But if you're an ObjC person, you'd do this: ((ApplicationDelegate alloc) init))

And strangely, if you replaced the parentheses with normal square brackets, you'd be looking at syntactically correct ObjC code! In Nu you can mix and match your sexprs and algol-like notations as long as you know what you're doing. The finished code would be something a lisp developer and ObjC developer could both understand without knowing too much of the underlying details.


Nu looked cool. (I thought from browsing that it should be some Lisp-like macro lib; a guy I knew used something like that for assembler, started early 80s. PDP-10. :-) )

Interesting idea to level a scripting language on using the message passing mechanism of Obj-C -- and so integrate the resulting code with the compiled Obj-C!

Thanks for making me look!


> IMHO, there is quite a lot of support for the argument that modern day scripting languages are getting closer and closer to becoming lisps...

Yes, but, I'm sorry, not every computer science advance came from Lisp. (Not singling you out in particular, berntb.) Insisting otherwise makes one sound condescending, fanatic, and/or naive. There are good ideas in Lisp, yes, but there are also good ideas in ML, Lua, Awk, SQL, Smalltalk, Prolog, Haskell, SNOBOL, etc.

Lisp is cool as a clean embodiment of the Lambda calculus and all, but if people stopped treating it like it were a divine revelation, other people would perhaps stop getting the impression that Lisp users are [insert torrent of unflattering adjectives].

(The Scheme community is generally much better about this than the Common Lisp community, but the Scheme community at large also seems to spend more time trying to actually move the language forward rather than insisting that some old standard has everything people will ever need.)


Your point say something about the scars you got from your educational environment? :-)

AFAIK, not even the lisp snobs would argue that everything worthwhile happened in lisp; they argue that most of the lisp characteristics was copied by everyone. For some values of "most", it seems like a very good argument.


Dude, I was a history student. :) (I taught myself to program with library books and a C-64, starting when I was five or so.)

Just, it boggles my mind how many ideas from barely ten years ago seem completely unfamiliar to most programmers. As Steve Yegge put it, "Oh, right, I keep forgetting: you were born in nineteen-ninety something, and you're nineteen, and I'm ninety-something."

I'm only 27, but I'm starting to feel like I'm at least one programmer-generation back (and, occasionally, the cranky old man yelling, "get off my lawn!"). I find a lot of inspiration in the 70s-80s Unix-era books, for example. While some of the surface details have changed, those guys wrote lucidly about ways to design useful systems without them growing into impossibly tangled monstrosities (even before C++...). A lot of issues programmers struggle with today have been mulled over for decades, and there's a lot of good advice if you look. The field hasn't changed that much.

I see ideas that keep getting rediscovered, and sometimes it's really sad how few stick. Lisp had a lot of great ideas in it, yes, but it's not the only old language that did, and the way it gets exalted that way touches a nerve of mine sometimes. (FWIW, the second paragraph in my response above was saved right as the edit window closed. I was still rewriting it, and it sounds harsher than I would have kept.)


Yeah, the standards seem to be lower in general. Probably because the barriers to entry are lower. (-: As an oldie, I try to be humble by remembering the Flynn effect. :-)

And then...

Be happy kid, it gets worse. :-)

Exercise, take vacations and make certain you relax enough (a meditation-course is good; there are non-religious ones). Also, be careful with your teeth; an infection I had no other effects of, made me chronically tired for a long time and really destroyed my life (I thought I had burned out).

And work with stuff you care about, otherwise you'll probably hate yourself and everyone else.

Most other stuff you seem to know.

Sorry for that, but a 20-something trying to sound world weary needs a pat on the head. :-)


Isn't Dylan a sort of lisp-without-parens?


Except for the lisp macros, I think it lacks the eval-print-loop? (Quite logical, since it was done for Newton from the beginning and not comiled in the native environment, I think.) That loop is part of what makes scripting languages and lisp so productive.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: