Settings

Theme

Lisp Is Not An Acceptable Java

matthias.benkard.de

14 points by jast 15 years ago · 10 comments

Reader

jmah 15 years ago

I'm not sure if this is sarcastic or not.

  (with-open-file (file "test.txt" :direction :output)
    (print "hello" file))
> This might open a file called “test.txt” and write “hello” into it—or it might reformat your hard drive! How are you to know?

Isn't that true when you call any user-defined function in any language? (Well, actually in Haskell I suppose you can tell if it has side-effects, but with "print" you'd expect it to anyway.)

> Also, you can't use Lisp in an interactive application, since garbage collection can kick in at any time and stop your program for a couple of seconds at a time.

Yeah, garbage collection sucks! Use Java! Or C#! Apparently.

> In contrast, Java and C# programs are compiled into efficient bytecode

In contrast to what? Compiling Lisp down to machine code?

Argh. You'd've thought I'd've learnt not to feed the troll. Sorry.

  • rednum 15 years ago

    The article is sarcastic, though it may not seem to. Take a while and look at the 'about me' page of author - you can read there that his favourite languages (Lieblingsprogrammiersprache) are Clojure, Common Lisp and Haskell. He also has some projects in lisp on his page.

    However, haven't I read his page, I wouldn't understand it either. It seems like I'm not the only one who don't get it - it would be nice to hear from the author what was his point.

  • jmah 15 years ago

    Right. So it is sarcastic. I guess I should have checked first.

    http://matthias.benkard.de/

MichaelSalib 15 years ago

The sarcasm was delicious. I have to comment about this though:

Except... you can't store the code in files that way. Lispers tend to learn their lesson the hard way, as all code is lost when you need to reboot your computer.

I once interviewed for an embedded systems C/C++ compiler company and they told me this hilarious story. One of their big clients made semi-custom hardware to support their lab operations. This client took advantage of a special feature of their compiler/development-environment whereby you could patch code running on a live system without having to recompile just by setting a breakpoint. It turns out that there was a hard limit on the number of breakpoints you could have running at once though: 65536. This client had exceeded that number and then came begging for them to raise it because they had been making changes to their system in-situ for years and all those changes were gone. The changes only existed in the patched binary; the source for all 65K changes had been lost.

So yes, you do need to be careful about interactive systems, but I've only ever heard of it biting C/C++ users this badly.

arctangent 15 years ago

This faux seriousness is a fine example of German humour:

http://en.wikipedia.org/wiki/German_humour

Check the date of the article :-)

6ren 15 years ago

What a bizarre article. Lisp can't represent XML? Garbage collection is obsolete?

> type stuff into the REPL... can't store the code in files that way.

What's the standard solution to this? Serialize everything, and then hand-edit to just keep the things you want? Cut-n-paste the history into a file?

  • phaylon 15 years ago

    > What a bizarre article. Lisp can't represent XML?

    This was the point where I thought "This can't be serious." I always found SXML a perfect example of where data and code meet.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection