Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Overcoming addiction to Lisp

by Zaxo (Archbishop)
on Jun 14, 2005 at 18:16 UTC ( [id://466663]=note: print w/replies, xml ) Need Help??


in reply to Overcoming addiction to Lisp

Perl will permit you to use as many parentheses as you need, but to taper off to quite a low dosage as you prepare to re-enter society. Here at perlmonks, we have experimented with bareblock braces as a maintainance substitute for severe parenthesis addiction, but many feel that that is just replacing one problem with another.

After Compline,
Zaxo

Replies are listed 'Best First'.
Re^2: Overcoming addiction to Lisp
by spurperl (Priest) on Jun 14, 2005 at 18:29 UTC
    I don't intend to be offensive, but your reply is a good demonstration of the main problem that occur in language wars. The problem is - take a small but visual feature of the language, and bash it to death, without knowing the language enough. It's what makes people barf at Lisp's parens, which after some experience actually prove to be quite natural and harmless.

    It's also what makes people laugh at Perl - mainly the syntax, the punctuation and all our beloved $_, $', $$ variables.

    You should just take a look what comp.lang.lisp mostly thinks about Perl. Gosh... such a load of crap, it aches my eyes to read some of those posts. And what do they focus on ? Mostly "ugly syntax", and mostly on Perl as a "imperfect glue". Looks like the people are still in the early 90-s, when Perl wasn't yet used for full-blown applications "on their own".

    So, don't be quick to judge a language by its appearance. I assure you, the parens no more make Lisp bad than Perl's syntax makes Perl bad.

      Oh, but I disagree. Kind of. I see no problem in judging a piece of art by its appearance. And that's pretty much what this aspect of the language wars is focusing on: aesthetics. What looks good, feels right. Even in perl, some people have balked at $', $$, and other such "non-sensical" variable names. Which is why we have the English module. To give these variables actual names.

      "I may be fat, but you're ugly - and I can lose weight!" At least Perl's "ugliness" can be overcome. ;-)

      And some of it is - in perl 6, $_ becomes even more optional than in perl 5. The English module will likely live on. Parens become more optional - but nothing says they can't still be used.

      There are different ways of thinking, and different ways of expressing oneself. And different languages are different ways of expressing oneself - you need to find the language(s) that allow you to express yourself in the most reliable, maintainable, and flexible (to changing requirements) fashion. Sometimes that will be perl. Sometimes that may be lisp. Other times C, C++, C#, .Net, Java, shell scripting, or whatever. Probably not ForTran or COBOL, though.

      Bottom line is that you need to be productive. That is, you need to produce something. To me, it's just like the editor wars. Most of my team has switched to FTE, partly because I'm a member of that project. But I stressed to each person that, at the end of the day, your choice of editor is immaterial, as long as you are productive in it. If you find vi is the most productive editor for you, use it! If it's emacs, fte, nedit, or "cat > foo.C", it doesn't bother me. However, we don't write editors in our group, so don't write your own. Just find one and use it. However, if it's not the same as me, there is some razzing to be taken. :-)

        The difference between lisp and perl is much more than just syntax or aesthetics. Is a bicycle more beautiful than a motorbike? That's depends on your taste. That's aesthetics. Is a bicycle faster than a motorbike, no, except maybe on a very short course or if the motorbike driver is very very bad and the cyclist if very very good.

        Lisp's macros put it in a different league to Perl (5), Python, C, Java, C# and shell. Real macros mean that if you don't like something in the language or you think something's missing you can fix/add it yourself.

        Macros are the ultimate in productivity, they are code that writes code and in fact you can even write macros that write other macros. For a lisp programmer, giving up macros would be a bit like any other programmer giving up subroutines (funnily enough if you only had macros and gotos you could add build your own subroutines through macros).

Re^2: Overcoming addiction to Lisp
by fergal (Chaplain) on Jun 14, 2005 at 21:40 UTC

    That's a bit like saying "X assembly language lets you use curly braces as much as you like so you'll have no trouble if you switch from C". It ignores the meaning of the curly braces and the extra levels of abstraction and power that comes with their meaning.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://466663]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2024-03-28 21:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found