Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Re: Re: OT: JavaJunkies (Javamonks sorta)

by chaoticset (Chaplain)
on Feb 06, 2004 at 03:41 UTC ( #326984=note: print w/replies, xml ) Need Help??

in reply to Re: Re: OT: JavaJunkies (Javamonks sorta)
in thread OT: JavaJunkies (Javamonks sorta)

I sense that you have no intention in being funny, but such "terse things" is exactly what turns off many people to Perl.
I've often wondered about this. What, precisely, "turns off" someone about having shorthand notation for things?

This, to me, is like saying that contractions are more efficient, but that's precisely why people don't like them. Computer languages are always going to be more terse than the exact descriptions of what the code would do. What's wrong with maximising what you can do with X lines of code, if that code's going to require understanding anyway?

I realize you may be talking about this in the hypothetical, that this doesn't turn you off to Perl -- but you say it as though you sympathize. Can you explain this to me?

You are what you think.

  • Comment on Re: Re: Re: OT: JavaJunkies (Javamonks sorta)

Replies are listed 'Best First'.
Re^4: OT: JavaJunkies (Javamonks sorta)
by hardburn (Abbot) on Feb 06, 2004 at 05:00 UTC

    Some poeple don't like contractions, saying they are "unprofessional". I work at a nonprofit that has members that serve a specific scientific discipline, and if we use a contraction anywhere on our website, we get e-mails and phone calls. I slam my head into the keyboard every time I hear it, but I go ahead and remove it all.

    I find this quite odd, as in all of my college-level writing courses, we were encouraged to use contractions. Most of my company's members tend to be relatively old, so this could be a more recent movement in the language.

    I wanted to explore how Perl's closures can be
    manipulated, and ended up creating an object
    system by accident.
    -- Schemer

    : () { :|:& };:

    Note: All code is untested, unless otherwise stated

Re: Re: Re: Re: OT: JavaJunkies (Javamonks sorta)
by Vautrin (Hermit) on Feb 06, 2004 at 17:20 UTC
    I've often wondered about this. What, precisely, "turns off" someone about having shorthand notation for things?

    There are a lot of things businesses and people in general look at when trying to figure out what language to program things in. One of the major concerns is whether or not code can be maintained. Part of this is readability. Readability can go down dramatically if you're trying to understand the code of someone who likes to use "slick tricks"

    A good example of this is "magical" functions and variables, i.e. $_, @_, split, print, tr///, s///, //, etc.... Sometimes it makes a lot of sense to use the shorthand form (i.e. shift; instead of my $foo = shift (@_);) Other times it makes code confusing and errors hard to catch.

    This is not to say that languages that support terseness are bad (it's mostly the way people use "contractions", as you called them). But because with some languages such terseness is not possible, obfusication becomes hard, and the readibility goes up. The silly thing about all of this is if coding standards were implemented so that readable code was created, languages where terseness was possible would be used more (IMHO). But that's some people for you -- instead of allowing coders bend and break the rules when it is good to do so, all rule bending/breaking is verboten. Go figure.

      But because with some languages such terseness is not possible, obfusication becomes hard, and the readibility goes up.
      Yes, but that's really my question -- why are people willing to endure "hardness" in spoken or written English, but not in code?

      No one would seriously suggest that people stop using contractions or acronyms. NASA is easier than National Aeronautics and Space Administration, but nobody begrudges the use of the term. Why is $_ different?

      Which is a misleading question -- it's not different at all in concrete terms so I guess the question should really be why do people think about them differently?

      You are what you think.

        People think about them differently because somebody who doesn't know perl and sees the camel obfu or badly written code and thinks it's insane. It's about perception. People who see java and know another traditional language (like C++) can follow along much easier then hard to read Perl code (although I would argue that good perl code is just as easy to read).

        Want to support the EFF and FSF buy buying cool stuff? Click here.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2016-10-01 17:08 GMT
Find Nodes?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:

    Results (579 votes). Check out past polls.