

Lisp Is Not An Acceptable Java - jast
http://matthias.benkard.de/journal/110

======
jmah
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.

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

<http://matthias.benkard.de/>

~~~
rhizome31
Naughty april fool that comes up on HN 2 weeks late ;)

------
MichaelSalib
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
This faux seriousness is a fine example of German humour:

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

Check the date of the article :-)

------
6ren
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
> 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.

