Style Police (a rant)

L

Lew

Eric said:
This is important. If you advocate code re-use, it follows that
you advocate spending more time maintaining and less originating. If
your preferences run the other way, you are not re-using enough code.

When I was young (shovelling coal into the furnaces of the early
steam-powered computers, and leering lasciviously at Lovelace), memory
was short and CPU cycles long: Both were scarce and hence expensive.
Programmer labor (sometimes called human labor, but that's debatable)
was cheap in comparison. The product of that labor was therefore also
cheap, easy to discard and re-write. "Re-doing it better" was laudable.

But memories have grown and CPU cycles have shrunk. I recall a
machine whose time was billed at $100/hour, during which time it could
perform maybe 0.3 billion instructions (if it never had to wait for
I/O and there wasn't too much floating-point in the mix). Today's
machines can get through 0.3 billion instructions in a second or two:
That's more than three decimal orders of magnitude faster. That same
machine deployed 1/8 MB of memory; nowadays even a bare-bones El Cheapo
laptop has 2 GB, four decimal orders of magnitude more. And the old
machine cost maybe $500,000 instead of $700 (which is about $125 in
1970 dollars), for another three-plus decimal orders of magnitude
improvement.

Meanwhile, the appetite for code -- the demand for programmer
output -- has risen, and although the supply of programmer labor has
increased and the tools of programmer productivity have improved, they
have not kept pace with demand. The balance is reversed: Programmer
time is scarce and expensive, CPU time and memory are plentiful and
cheap.

So if you want to produce software cost-effectively, it follows
that you *must* re-use existing code. And if you must re-use code,
it follows that you must maintain it -- and the really cost-effective
programmer, the one who will get to market first and with lower
overheads than the competition, will be the one who writes *no*
original code at all. It's too slow and expensive, and too last
millennium.

Ponder this, while thinking about the average Computer Science
curriculum. "Students, today you will implement an AVL tree." Bah!

"Thou shalt re-use code!" is a dogma that doesn't always apply.

"Thou shalt conserve programming time and effort whilst reducing error!" does.

Sometimes copy-and-modify is cheaper in both time and error-proneness than re-use. I would say quite often it is.
 
A

Arved Sandstrom

The distinction between "new code" and "maintenance" doesn't quite cut it.

Well, it cuts it for me, although maybe it's more accurate to say "new
development" and "maintenance development", since maintenance usually
involves new code.

I don't have a problem personally distinguishing between new development
and maintenance development, since I do both all the time: maintenance
this spring, new at the moment, and maintenance work starting in
November. If I'm fixing or improving an existing production codebase,
that's maintenance; if I'm writing functionality that is not yet
released that is new.
A more interesting percentage might be: maintaining one's own code versus
maintaining someone else's code.

It's very heavily weighted towards the latter for me, since I have been
doing consulting for a decade. Having read Eric's reply, I have to say
that a majority of my maintenance time on other people's code is
straight defect fixing, not enhancements. Unless the codebase is truly
atrocious it's still better that I fix rather than write large-scale
replacement code from scratch (usually), but a vastly preferable form of
maintenance would be improvements and enhancements, not repair.
(And for "someone else's very ugly code" one could further distinguish for
whether running it through a (standard or specific) beautifier is an option.)
Not sure why you quoted the above, since I don't think anyone said
anything about ugly code. For my part I can live with ugly if it's
comprehensible and correct. And more often than I'd like I've had to
take elegant, beautiful code written for way-above-average coders by
some guy who wasn't thinking about the team, and rewrite it to be
somewhat uglier just so more people could understand it and maintain it.

AHS
 
A

Arne Vajhøj

The distinction between "new code" and "maintenance" doesn't quite cut it.

I think it was what Arved was talking about.
A more interesting percentage might be: maintaining one's own code versus
maintaining someone else's code.

Maintaining one's own code is easier.

But give how much software developers move around in companies,
departments and roles then the percentage is not so high.

Arne
 
A

Andreas Leitgeb

Eric Sosman said:
So if you want to produce software cost-effectively, it follows
that you *must* re-use existing code.

Yeah, every single character of my sources has surely been used somewhere
else, already.

PS: And once I no longer find a job in software development, I'll try to
get the job shovelling coal into furnaces of machines that produce the
hot air which is then going to be (re)used by others' talking.
 
A

Andreas Leitgeb

Arved Sandstrom said:
For my part I can live with ugly if it's
comprehensible and correct.

You can safely assume, that any definition of "ugly" would boil
down to severely impact comprehensibility for anyone but the
original author.

Had the original author instead had the freedom and decided to
use ${someOtherLanguage}, then you likely wouldn't be given the
job to maintain/sanitize that code, but maybe instead to rewrite
that code from scratch in Java.
 
C

Cthun

If you need to ask, then you simply do not understand.
If you need to ask, then you simply do not understand.

Perhaps not. Some people dislike all the parentheses, but I confess I
don't really know why.

Not at all. Java finally is adding something called
"try-with-resources". If Java had had macros we wouldn't have needed to
wait. He could have written a try-with-resources macro built around
regular try. Or even if he didn't have the chops for macro writing
himself, as soon as there was much demand for try-with-resources someone
would have made it available as a library in short order. But instead,
the Java community had to wait until Sun/Oracle got their act together
and added it.

Macros mean not having to wait for the implementation vendors for new
language features. It means maybe getting esoteric ones the vendors
don't see enough demand for to write themselves. It also means being
able to easily write mini-compilers to convert a problem-domain
language, such as an expressive math notation, into the underlying
language. So you can do something like (math x^2 + 32) and get back a
Polynomial object or whatever that can be called like a function with
various values of x and also subjected to analytic methods. And yes,
that's infix notation inside the hypothetical math macro.
Macros are macros are macros.

Not all macros are created equal. C's are much less clean because they
do nothing to help avoid symbol capture and they operate on text rather
than the abstract syntax tree.
If I call a variable in a macro "x" and it contains a code fragment
supplied at the invocation site, there could be an "x" at the
invocation site as well, in scope around the invocation, that that
code fragment tries to reference. Replace "x" with any other name and
the same thing remains true. I suppose you could add some klunky
system that allows module-namespacing locals, and then use that in
macros to make collisions less likely, but that's one hell of a
kludge.

Sort of, minus the klunky kludge part. Gensyms and qualified symbols can
be used for this type of thing.
If all language features were *equal* in their proneness to be
misused, why would we find macros to be a particularly frequent
culprit in C codebases, and macros and operator overloading in C++
codebases, as compared to, say, switch statements or for loops or
ordinary function calls?

Because C/C++ preprocessor macros suck? See above.
If you need to ask, then you simply do not understand.

See above.
Most operator precedence rules you'll need will have been ingrained in
grade school math class, and you can always *elect* to parenthesize
when you want to be sure of a particular order of execution and don't
remember the precedence rule (or it goes the wrong way for your needs
in that case).

Why leave any doubt? Besides, fully-parenthesized helps make the source
code be close to a directly readable version of the abstract syntax
tree. And that makes it easier for the macro processor to work, and for
the coder to reason about their macros.
And what is wrong with "syntaxy" language, exactly?

It doesn't play nice with macros.
Without syntax, you don't even have a language, just a formless soup.

Classic unsubstantiated and erroneous claim.
Merely being unLispy would be a good thing.

Classic unsubstantiated and erroneous claim.
The problem is that it's COBOLy, BASICy, and borderline INTERCALy.

This much is true.
 
C

Cthun

Perhaps not. Some people dislike all the parentheses, but I confess I

Your behavior, Paul, is beyond ludicrous in the mind of the informed
observer. What it is in your head which directs your thinking
of the World out there owing you a stage littered with fools for you
to toy with at will is a total mystery, one I would wager even your shrink
struggles with.
It is not the responsibility of anyone using Usenet to provide you with a
free psycho analysis, hand feeding you a "cure". This as not only is it
that the lies you publish would cloud such a diagnosis but the worth of
professional assessment in a text only environment is as of much value
(real worth) as the opinions of one of your holed socks!
http://i51.tinypic.com/28us11y.jpg

It is very clear you have not grown beyond knowing your activity is
archived, is traceable, and is yours.
"Retahiv Oopsiscame" <[email protected]>
is the name you used to argue with "(e-mail address removed)"
[http://al.howardknight.net/msgid.cgi?ID=131612707500]
all the while leaping the thread with;
"Jerry Gerrone" [http://al.howardknight.net/msgid.cgi?ID=131613873900]
"Lies, damned lies, and statistics" is most appropriate for you to
have some fun with.

Article = http://al.howardknight.net/[email protected]>
Google Archive = http://groups.google.com/group/alt.off-topic/msg/58b746e6ae52c1ff?dmode=source
Parent Thread = http://groups.google.com/group/alt..../58b746e6ae52c1ff?q=author:[email protected]


Today you believe it is "safe" to pop the name again, sad mad prat.
Whois "Retahiv Oopsiscame ' --->http://preview.tinyurl.com/Derbysh-reTrolls

I gather even you are capable of joining the dots, Derbyshire?

IP address: 76.64.158.18
Reverse DNS: bas13-kitchener06-1279303186.dsl.bell.ca.
City: Toronto, Ontario

From: Retahiv Oopsiscame <[email protected]>
Newsgroups: comp.lang.java.programmer
Subject: Re: Style Police (a rant)
Date: Tue, 13 Sep 2011 09:48:40 -0700 (PDT)
Message-ID: <19a1f215-7fa0-434e-a517-c260f600b495@l10g2000yqe.googlegroups.com>
NNTP-Posting-Host: 70.54.8.115

IP address: 70.54.8.115
Reverse DNS: bas1-ottawa10-1177946227.dsl.bell.ca.
City : Montreal, Quebec
Country : CA [Canada]

Give this your best shot at maths, Paul, you're the expert;
http://66.39.71.195/Derbyshire/hypergal.html
Do build the audience a picture from how it is 32 months after
"Retahiv Oopsiscame" posts from your neighbourhood
in "chat" with your "Jerry Gerrone" sock, the identical ID is used to
again "chat" with you mimicking the performance you put out now as
"Cthun" - not at all dismissing you are using a SMTP DNS you are
not permitted to use - what is the logical possibility of such an
event being sheer coincidence, Paul?
Two entirely disconnected identities being addressed by the same
persona who, using the same argumentative approach
and the same "bait/switch" presentation fills the group with
rants of self-proclamation rants (airs and graces).
Give up the numbers, Paul.
Crunch them down.
You got all night.. and no neighbors!
http://i51.tinypic.com/28us11y.jpo

"Retahiv Oopsiscame" goes on the list.

--- . ... ..- ... <[email protected]>
00101010 <[email protected]>
3k7e4intna <[email protected]>
3x7r4vagan <[email protected]>
3x+r4v4g4n <[email protected]>
Alice <[email protected]>
Arne Këndoj <[email protected]>
Boojum <[email protected]>
B1ll Gat3s <[email protected]>
A Canuck <[email protected]>
Canuck <[email protected]>
ClassCastException <[email protected]>
Cthun <[email protected]>
Chad Carmichael <[email protected]>
dA.b0mB <[email protected]>
dark-zark-fark <[email protected]>
Deep Green <[email protected]> (forgery)
Deeyana <[email protected]>
De Lurker <[email protected]>
Derek Yancey <[email protected]>
Extravagan <[email protected]>
Ferdinand the -14th <[email protected]>
Fuschia, President-Elect of the Bright Purplish-Green Council <[email protected]>
George Arctos <[email protected]>
Greg Kelly <[email protected]>
Greg Sandoval <[email protected]>
Gheerax IV <[email protected]>
Handkea fumosa <[email protected]>
Hieronymus S. Freely <[email protected]>
Hydrocon <[email protected]>
Henry Harrison <[email protected]>
Henderson <[email protected]>
Heike Svensson <[email protected]>
Harry Greer <[email protected]>
Janie Zanie <[email protected]>
Jerry Gerrone <[email protected]>
John Kirkpatrick XVII <[email protected]>
Katie Gerrolds <[email protected]>
Kevin Hadron <[email protected]>
kensi <[email protected]>
KitKat <[email protected]>
Meerkats <[email protected]> (forgery)
Mister Scott <[email protected]>
Mrs. Danforth <[email protected]>
Mike Faramis <[email protected]>
Mamac <[email protected]>
Nancy 3 <[email protected]>
Nancy 4 <[email protected]> (forgery)
Nebulous <[email protected]>
Nightcrawler <[email protected]>
Nougat Surprise <[email protected]>
Orange Green <[email protected]>
Paul Derbysh!re <[email protected]>
Purpleswandir <[email protected]>
Retahiv Oopsiscame <[email protected]>
RichB <[email protected]>
(e-mail address removed)
SFTV_troll <[email protected]>
Sulfide Eater <[email protected]>
<supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com>
Spock <[email protected]>
Series Expansion <[email protected]>
Seamus MacRae <[email protected]>
Snicker-snack! <[email protected]>
Tim <[email protected]>
Thursday's Leftovers <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
<[email protected]>
Willy Wonka <[email protected]>
 
T

thoolen

On 15/09/2011 10:58 PM, murphy wrote:
NaN> Newsgroups: comp.lang.java.programmer,rec.arts.tv,news.software.readers

NaN> Paul Derbysh!e

Who is "Paul Derbysh!e", murphy? There is nobody in this newsgroup using
that alias.

NaN> Your behavior, Paul, is beyond ludicrous in the mind of the informed
NaN> observer.

Who is "Paul", murphy? There is nobody in this newsgroup using that alias.

NaN> What it is in your head which directs your thinking of the
NaN> World out there owing you a stage littered with fools for you to toy
NaN> with at will is a total mystery, one I would wager even your shrink
NaN> struggles with.

What does your ironic remark have to do with Java, television, or
newsreaders, murphy?

NaN> It is not the responsibility of anyone using Usenet to provide you
with
NaN> a free psycho analysis, hand feeding you a "cure".

What does your unsubstantiated allegation of mental illness on "Paul"'s
part have to do with Java, television, or newsreaders, murphy?

NaN> This as not only is it that the lies you publish would cloud such a
NaN> diagnosis but the worth of professional assessment in a text only
NaN> environment is as of much value (real worth) as the opinions of
NaN> one of your holed socks!

What does your unsubstantiated allegation of mental illness on "Paul"'s
part have to do with Java, television, or newsreaders, murphy? And what
do your ironic remarks about the futility of diagnosing mental illness
over usenet have to do with Java, television, or newsreaders, murphy?
That futility evidently hasn't stopped you from trying, murphy. Still
tilting at windmills, murphy?

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> It is very clear you have not grown beyond knowing your activity is
NaN> archived, is traceable, and is yours.

What does your unsubstantiated claim have to do with Java, television,
or newsreaders, murphy? And isn't it abundantly clear to you now,
murphy, that no matter what you think you've found that you keep ranting
about, *nobody cares*? Nobody is listening to you, murphy. They don't
even disbelieve you, for the most part -- they simply *do not care*,
murphy. You are tilting at windmills, murphy, and you don't even have an
audience for these "heroics". It would be funny if it weren't so sad,
murphy.

NaN> "Retahiv Oopsiscame" <[email protected]>
NaN> is the name you used to argue with "(e-mail address removed)"

What does your claim that Oopsiscame and "(e-mail address removed)" argued
have to do with Java, television, or newsreaders, murphy? And who is
"(e-mail address removed)", murphy? There is nobody in this newsgroup using
that address.

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> all the while leaping the thread with; "Jerry Gerrone"

Who is "Jerry Gerrone", murphy? There is nobody in this newsgroup using
that alias.

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> "Lies, damned lies, and statistics" is most appropriate for you to
have
NaN> some fun with.

What does your unsubstantiated claim have to do with Java, television,
or newsreaders, murphy?

What do your URLs have to do with Java, television, or newsreaders, murphy?

NaN> Today you believe it is "safe" to pop the name again, sad mad prat.

Who is "sad mad prat", murphy? There is nobody in this newsgroup using
that alias.

NaN> Whois "Retahiv Oopsiscame '

Who are you asking, murphy, and why do you care? Who Oopsiscame is is
his own business and none of yours, murphy.

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> I gather even you are capable of joining the dots, Derbyshire?

Who is "Derbyshire", murphy? There is nobody in this newsgroup using
that alias.

NaN> IP address: 76.64.158.18
NaN> Reverse DNS: bas13-kitchener06-1279303186.dsl.bell.ca.
NaN> City: Toronto, Ontario

What does that have to do with Java, television, or newsreaders, murphy?

NaN> From: Retahiv Oopsiscame <[email protected]>
NaN> Newsgroups: comp.lang.java.programmer
NaN> Subject: Re: Style Police (a rant)
NaN> Date: Tue, 13 Sep 2011 09:48:40 -0700 (PDT)
NaN> Message-ID:
NaN> <19a1f215-7fa0-434e-a517-c260f600b495@l10g2000yqe.googlegroups.com>
NaN> NNTP-Posting-Host: 70.54.8.115
NaN>
NaN> IP address: 70.54.8.115
NaN> Reverse DNS: bas1-ottawa10-1177946227.dsl.bell.ca.
NaN> City : Montreal, Quebec
NaN> Country : CA [Canada]

What does any of that have to do with Java, television, or newsreaders,
murphy? So Oopsiscame is from Montreal. So what, murphy? And someone he
argued with is from Toronto. Do you have some peculiar objection to
Canadians arguing with other Canadians, murphy?

NaN> Give this your best shot at maths, Paul, you're the expert;

Who is "Paul", murphy? There is nobody in this newsgroup using that alias.

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> Do build the audience a picture from how it is 32 months after
"Retahiv
NaN> Oopsiscame" posts from your neighbourhood
NaN> in "chat" with your "Jerry Gerrone" sock, the identical ID is used to
NaN> again "chat" with you mimicking the performance you put out now as
NaN> "Cthun" - not at all dismissing you are using a SMTP DNS you are not
NaN> permitted to use - what is the logical possibility of such an event
NaN> being sheer coincidence, Paul?

Who are "Jerry Gerrone" and "Paul", murphy, and what do your elaborate
paranoid fantasies have to do with Java, television, or newsreaders? Not
to mention your megalomaniacal delusion that you get to decide who can
get accounts at what email hosts, murphy.

NaN> Two entirely disconnected identities being addressed by the same
persona
NaN> who, using the same argumentative approach and the same "bait/switch"
NaN> presentation fills the group with rants of self-proclamation rants
(airs
NaN> and graces).

What do your multiple personalities and your bait-and-switch behavior
with off-topic news posts and paranoid rants with deceptive subject
headers have to do with Java, television, or newsreaders, murphy?

NaN> Give up the numbers, Paul. Crunch them down.
NaN> You got all night.. and no neighbors!

Who is "Paul", murphy? There is nobody in this newsgroup using that alias.

What does your URL have to do with Java, television, or newsreaders, murphy?

NaN> "Retahiv Oopsiscame" goes on the list.

What does your list have to do with Java, television, or newsreaders,
murphy?

[snip]

If that's a list of your enemies, it seems you've pissed off quite a lot
of people, murphy. I counted over fifty. Perhaps you've bitten off more
than you can chew, murphy?

"I had 'volunteered (years back) to support those who do endeavor
to provide free Free Usenet access, support those who offered
subscription based Free Usenet access, nothing more than
cooperation expected in return for what has been many
thousands of hours of work. I note most of those I joined with
are either deceased, severely disabled, or plain ole' MIA..
now it is my Time. ...

You just read my last. ...

For those who think they see me in future times I can only wish
you severe Tinnitus in your dreams. For those who know me
well (eMail, whatever) and see me, know I will be smiling also.
It is to you I say "adieu mein frenz and adios .. grazie' [hugs]
for all the Good Times! May you and yours always bear well
with all Life brings you".

/0ut"
--murphy

And people wonder why I call them Famous Last Words.
 
R

Retahiv Oopsiscame

Perhaps not. Some people dislike all the parentheses, but I confess I
don't really know why.

How odd.

Eww! No thanks.
Poppycock.

[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.
Java finally is adding something called "try-with-resources". If
Java had had macros we wouldn't have needed to wait. He could have
written a try-with-resources macro built around regular try. Or even
if he didn't have the chops for macro writing himself, as soon as
there was much demand for try-with-resources someone would have made
it available as a library in short order. But instead, the Java
community had to wait until Sun/Oracle got their act together and
added it.

And it works, instead of being buggy as hell and prone to name capture
issues, and Java codebases aren't chock full of idiosyncratic macro
invocations but are instead pretty standardized, so any skilled Java
professional can easily read any of that code and maintain it.
Macros mean not having to wait for the implementation vendors for new
language features. It means maybe getting esoteric ones the vendors
don't see enough demand for to write themselves. It also means being
able to easily write mini-compilers to convert a problem-domain
language, such as an expressive math notation, into the underlying
language. So you can do something like (math x^2 + 32) and get back a
Polynomial object or whatever that can be called like a function with
various values of x and also subjected to analytic methods. And yes,
that's infix notation inside the hypothetical math macro.

Sounds like Lisp easily turns into a Tower of Babel where no-one can
understand anyone else's code.
Not all macros are created equal.
Oh?

C's are much less clean because they do nothing to help avoid symbol
capture and they operate on text rather than the abstract syntax tree.

Something familiar in how you write. You remind me of someone I had a
very long argument with here, long ago. Appropriately, his name was
"Bent".
Sort of, minus the klunky kludge part. Gensyms and qualified symbols can
be used for this type of thing.

"Klunky kludge" is obviously in the eye of the beholder, if you think
those don't qualify.
Because C/C++ preprocessor macros suck? See above.

See above indeed.
Why leave any doubt?

There *is* no doubt, in most cases, for anyone who's graduated from
kindergarten.
Besides, fully-parenthesized helps make the source code be close to a
directly readable version of the abstract syntax tree.

"Readable" is obviously also in the eye of the beholder. :p
And that makes it easier for the macro processor to work, and for
the coder to reason about their macros.

And now we're back to this. To satisfy your macro yen, you make the
whole rest of the language suck.
It doesn't play nice with macros.

Like I care.
Without syntax, you don't even have a language, just a formless soup.

[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.
Merely being unLispy would be a good thing.

[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.
This much is true.

A single point we agree on! Wow. :p
 
U

un-Bent

derbyshire ran the said:
Something familiar in how you write. You remind me of someone I had a
very long argument with here, long ago. Appropriately, his name was
"Bent".
hardly an "argument", more like snot trying to find a
home on polished diamond - could not "get a grip".
yet you blow in again, "projectile non gratis".
you really should bring back Seamus MacRae more
often, square brackets are great for playing virtual
croquet with.
[calls me a liar]
indeed. figured why that is?

Think why it is Google posters are universally loathed, dipshit.
"debate" that Usenet fact.

here is what BD had to say about you right before you earned your
k00k award as "Clueless Newbie of the Month", to then get a citation
with the Tin Foil Sombrero for stupidity beyond the pale.

as BD says... "Some might think this is fatalism. I think it's just Usenet"
Usenet built to sort out fucktards fucking with newsgroups, as you do.
<Q>
_______________I do not know of his skills in these technologies
_______________specifically, but it
_______________appears to me that in those disciplines that Twisted
_______________(et.al) actually
_______________cares to stay updated in, his understanding seems quite
_______________good.  I base
_______________this on the observation that any new alias of his usually
_______________participates
_______________fruitfully in cljp discussions up until a point where he
_______________gets mired
_______________down in an entrenched position that other regulars disagree
_______________with. This
_______________will tend to expose him as Twisted and another alias soon
_______________appears.
[..]
_______________I suspect the final conclusion to this is that Twisted is
_______________eventually
_______________going to become a recognized feature of whatever groups he
_______________frequents. He will remain unidentified for so long as he
_______________remains
_______________useful and interesting and once some thread devolves into a
_______________typical
_______________Twisted-style flame fest the regulars will recognize him
_______________for who he is
_______________and tune out that particular alias. The very long flame
_______________fests only
_______________come about when he is introduced into a group where his
_______________behaviour has
_______________not already been established, as with the recent lisp
_______________debacle.
_______________
_______________Some might think this is fatalism. I think it's just Usenet

... and of course your list:

..--- . ... ..- ... <[email protected]>
00101010 <[email protected]>
3k7e4intna <[email protected]>
3x7r4vagan <[email protected]>
3x+r4v4g4n <[email protected]>
Alice <[email protected]>
Arne Këndoj <[email protected]>
Boojum <[email protected]>
B1ll Gat3s <[email protected]>
A Canuck <[email protected]>
Canuck <[email protected]>
ClassCastException <[email protected]>
Cthun <[email protected]>
Chad Carmichael <[email protected]>
dA.b0mB <[email protected]>
dark-zark-fark <[email protected]>
Deep Green <[email protected]> (forgery)
Deeyana <[email protected]>
De Lurker <[email protected]>
Derek Yancey <[email protected]>
Extravagan <[email protected]>
Ferdinand the -14th <[email protected]>
Fuschia, President-Elect of the Bright Purplish-Green Council <[email protected]>
George Arctos <[email protected]>
Greg Kelly <[email protected]>
Greg Sandoval <[email protected]>
Gheerax IV <[email protected]>
Handkea fumosa <[email protected]>
Hieronymus S. Freely <[email protected]>
Hydrocon <[email protected]>
Henry Harrison <[email protected]>
Henderson <[email protected]>
Heike Svensson <[email protected]>
Harry Greer <[email protected]>
Janie Zanie <[email protected]>
Jerry Gerrone <[email protected]>
John Kirkpatrick XVII <[email protected]>
Katie Gerrolds <[email protected]>
Kevin Hadron <[email protected]>
kensi <[email protected]>
KitKat <[email protected]>
Meerkats <[email protected]> (forgery)
Mister Scott <[email protected]>
Mrs. Danforth <[email protected]>
Mike Faramis <[email protected]>
Mamac <[email protected]>
Nancy 3 <[email protected]>
Nancy 4 <[email protected]> (forgery)
Nebulous <[email protected]>
Nightcrawler <[email protected]>
Nougat Surprise <[email protected]>
Orange Green <[email protected]>
Paul Derbysh!re <[email protected]>
Purpleswandir <[email protected]>
Retahiv Oopsiscame <[email protected]>
RichB <[email protected]>
(e-mail address removed)
SFTV_troll <[email protected]>
Sulfide Eater <[email protected]>
<supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com>
Spock <[email protected]>
Series Expansion <[email protected]>
Seamus MacRae <[email protected]>
Snicker-snack! <[email protected]>
Tim <[email protected]>
Thursday's Leftovers <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
<[email protected]>
Willy Wonka <[email protected]>
 
T

thoolen

On 16/09/2011 9:02 AM, "un-Bent", an obvious murphy sock, wrote:
NaN> Newsgroups: comp.lang.java.programmer

NaN> derbyshire ran the <Retahiv Oopsiscame> sock on stage with:

Who is "derbyshire", murphy? There is nobody in this newsgroup using
that alias.

NaN> hardly an "argument", more like snot trying to find a
NaN> home on polished diamond - could not "get a grip".

What does your opinion have to do with Java, murphy?

NaN> yet you blow in again, "projectile non gratis".

What does your non sequitur have to do with Java, murphy?

NaN> you really should bring back Seamus MacRae more
NaN> often,

Who is "Seamus MacRae", murphy? There is nobody in this newsgroup using
that alias.

NaN> square brackets are great for playing virtual
NaN> croquet with.

What does your non sequitur have to do with Java, murphy?

NaN> indeed.

What does your unsubstantiated allegation regarding Oopsiscame have to
do with Java, murphy?

NaN> figured why that is?

What does your question of Oopsiscame have to do with Java, murphy?

NaN> Think why it is Google posters are universally loathed, dipshit.

Who is "dipshit", murphy? There is nobody in this newsgroup using that
alias.

NaN> "debate" that Usenet fact.

What does your classic erroneous presupposition have to do with Java,
murphy?

NaN> here is what BD had to say about you right before you earned your
NaN> k00k award as "Clueless Newbie of the Month", to then get a citation
NaN> with the Tin Foil Sombrero for stupidity beyond the pale.

What does your unsubstantiated allegation regarding Oopsiscame have to
do with Java, murphy? And who is "BD", murphy? There is nobody in this
newsgroup using that alias.

NaN> as BD says... "Some might think this is fatalism. I think it's just
NaN> Usenet"

Who is "BD", murphy? There is nobody in this newsgroup using that alias.

NaN> Usenet built to sort out fucktards fucking with newsgroups,

What does your foul language have to do with Java, murphy?

NaN> as you do.

Another unsubstantiated allegation regarding Oopsiscame.

NaN> <Q>

What is "<Q>", murphy, and what does it have to do with Java?

NaN> _______________I do not know of his skills in these technologies
NaN> _______________specifically, but it
NaN> _______________appears to me that in those disciplines that Twisted
NaN> _______________(et.al) actually
NaN> _______________cares to stay updated in, his understanding seems quite
NaN> _______________good. I base
NaN> _______________this on the observation that any new alias of his
usually
NaN> _______________participates
NaN> _______________fruitfully in cljp discussions up until a point where he
NaN> _______________gets mired
NaN> _______________down in an entrenched position that other regulars
disagree
NaN> _______________with. This
NaN> _______________will tend to expose him as Twisted and another alias
soon
NaN> _______________appears.

What does any of that have to do with Java, murphy? And who is
"Twisted", murphy? There is nobody in this newsgroup using that alias.

NaN> [..]

What does your robot-head emoticon have to do with Java, murphy?

NaN> _______________I suspect the final conclusion to this is that
Twisted is
NaN> _______________eventually
NaN> _______________going to become a recognized feature of whatever
groups he
NaN> _______________frequents. He will remain unidentified for so long as he
NaN> _______________remains
NaN> _______________useful and interesting and once some thread devolves
into a
NaN> _______________typical
NaN> _______________Twisted-style flame fest the regulars will recognize him
NaN> _______________for who he is
NaN> _______________and tune out that particular alias. The very long flame
NaN> _______________fests only
NaN> _______________come about when he is introduced into a group where his
NaN> _______________behaviour has
NaN> _______________not already been established, as with the recent lisp
NaN> _______________debacle.
NaN> _______________
NaN> _______________Some might think this is fatalism. I think it's just
Usenet

What does any of that have to do with Java, murphy? And who is
"Twisted", murphy? There is nobody in this newsgroup using that alias.

NaN> > /Q>

Oopsiscame didn't write that, murphy, yet you attributed it to him
anyway. Classic dishonesty on your part, murphy.

NaN> .. and of course your list:

What does your classic erroneous presupposition have to do with Java,
murphy? The list in question is yours, murphy, not Oopsiscame's; it is a
manifestation of your paranoia.

What, no more laughable attempts at Google Street View stalking of your
probably-nonexistent nemesis, murphy?

"I had 'volunteered (years back) to support those who do endeavor
to provide free Free Usenet access, support those who offered
subscription based Free Usenet access, nothing more than
cooperation expected in return for what has been many
thousands of hours of work. I note most of those I joined with
are either deceased, severely disabled, or plain ole' MIA..
now it is my Time. ...

You just read my last. ...

For those who think they see me in future times I can only wish
you severe Tinnitus in your dreams. For those who know me
well (eMail, whatever) and see me, know I will be smiling also.
It is to you I say "adieu mein frenz and adios .. grazie' [hugs]
for all the Good Times! May you and yours always bear well
with all Life brings you".

/0ut"
--murphy

And people wonder why I call them Famous Last Words.
 
A

Andreas Leitgeb

Wanja Gayk said:
(e-mail address removed) says...
final x = new Vector<String>();
Enumeration e = x.elements();
[ later someone changes it to ]
final x = new LinkedList<String>();
Enumeration e = x.elements(); <<- and breaks this and [...]

I think it's even a bonus that this would no longer compile.
On the other hand:

final List<String> l = new Vector<String>();
[...]
// I know, I initialized l with a Vector just before:
Vector<String> vec=(Vector<String>)l; // compiler cannot check
Enumeration e = vec.elements();

wouldn't crash until Runtime, if l's initializer were changed to
LinkedList lateron...
Abstraction is the whole point of declaring interfaces, you don't want
your code to be brittle.

But inconsequent abstraction is even much worse than just
forgetting about it altogether.

PS: Obviously, one cannot just idly change the initializer of a variable
and expect it all to work. Not even without the currently discussed
feature.
 
C

Cthun

Eww! No thanks.

*shrug* Suit yourself. But don't knock it until you've tried it.
[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.

What?? Where did I call you a liar?
And it works, instead of being buggy as hell and prone to name capture
issues, and Java codebases aren't chock full of idiosyncratic macro
invocations but are instead pretty standardized, so any skilled Java
professional can easily read any of that code and maintain it.

Lisps tend to accrue fairly standard libraries of third-party macros
everyone learns to recognize. And of course you usually have access to
the macro's source.
Sounds like Lisp easily turns into a Tower of Babel where no-one can
understand anyone else's code.

The ability to define functions or classes already suffices to allow
programmers to turn a language into a Tower of Babel, yet nearly all
languages allow user-defined functions and/or classes in some form or
another, and ones that allow neither are considered archaic and crippled.
Something familiar in how you write. You remind me of someone I had a
very long argument with here, long ago. Appropriately, his name was
"Bent".

Ad hominem noted. Get back to me when you have a real argument to make.
"Klunky kludge" is obviously in the eye of the beholder, if you think
those don't qualify.
Perhaps.


There *is* no doubt, in most cases, for anyone who's graduated from
kindergarten.

Quick quiz: without referring to the JLS, other Sun/Oracle docs,
Wikipedia, or Google, which has precedence: the cast operator or the dot
(method invocation) operator?
"Readable" is obviously also in the eye of the beholder. :p

Perhaps. Verbose, on the other hand, isn't, and Java is quite verbose at
any given level of expressiveness compared to, especially, Lisps.
And now we're back to this. To satisfy your macro yen, you make the
whole rest of the language suck.

I don't think so.
Without syntax, you don't even have a language, just a formless soup.

[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.
Whaaaaa?????
Merely being unLispy would be a good thing.

[calls me a liar]

No! None of the nasty things that you have said or implied about me
are at all true.
WTF?!?!?!
This much is true.

A single point we agree on! Wow. :p

No need for sarcasm. It means you're beginning to learn.
 
C

Cthun

On 11/09/2011 3:20 PM, Wanja Gayk wrote:
$ public<T> List<T> withoutDupes(final List<T> xs) {
$ return new Object() {
$ <T> List<T> withoutDupes(final List<T> head, final List<T> tail) {
$ if(tail.isEmpty()){return head;}
$ if (head.contains(tail.get(0))) {
$ return withoutDupes(head, tail.subList(1, tail.size()));
$ }
$ return withoutDupes(
$ new ArrayList<T>(head){{add(tail.get(0));}}
$ , tail.subList(1, tail.size())
$ );
$ }


There's a way around that, and it's called Clojure. It compiles to JVM
bytecode and has both lazy lists and a special operator for doing tail
recursion (the compiler turns it into an iteration).

typo!
Closure.
My own iteration.
 
C

Cthun

Parentheses everywhere. Prefix instead of infix math. Auto-uppercasing
variable names. And of course the big thing the Lispers always keep
hyping are the macros. Anyone who's had to maintain a large C codebase
inherited from someone else learns to dread macros. Besides the
problems with name capture and shadowing there's their use to create
silly and lawyer-requiring new syntax to parse. Both C and Lisp macros
look like function calls, deceptively, but have different rules of
evaluation that can trip you up. And don't get me started on Common
Lisp's boondoggle known as the LOOP macro ...

As you were it was doubtful you owned a full basket of fruit.
You now tell us it is all nuts.

I see you are quite correct.
Winter at hand I will be sure to send all my squirrels off
to Montreal and google for nuts.
 
K

kaffel'latte

Derbyshire having a wee chat to hisselv did post in
No need for sarcasm. It means you're beginning to learn.

training gerbils?

you left off your list;

--- . ... ..- ... <[email protected]>
00101010 <[email protected]>
3k7e4intna <[email protected]>
3x7r4vagan <[email protected]>
3x+r4v4g4n <[email protected]>
Alice <[email protected]>
Arne Këndoj <[email protected]>
Boojum <[email protected]>
B1ll Gat3s <[email protected]>
A Canuck <[email protected]>
Canuck <[email protected]>
ClassCastException <[email protected]>
Cthun <[email protected]>
Chad Carmichael <[email protected]>
dA.b0mB <[email protected]>
dark-zark-fark <[email protected]>
Deep Green <[email protected]> (forgery)
Deeyana <[email protected]>
De Lurker <[email protected]>
Derek Yancey <[email protected]>
Extravagan <[email protected]>
Ferdinand the -14th <[email protected]>
Fuschia, President-Elect of the Bright Purplish-Green Council <[email protected]>
George Arctos <[email protected]>
Greg Kelly <[email protected]>
Greg Sandoval <[email protected]>
Gheerax IV <[email protected]>
Handkea fumosa <[email protected]>
Hieronymus S. Freely <[email protected]>
Hydrocon <[email protected]>
Henry Harrison <[email protected]>
Henderson <[email protected]>
Heike Svensson <[email protected]>
Harry Greer <[email protected]>
Janie Zanie <[email protected]>
Jerry Gerrone <[email protected]>
John Kirkpatrick XVII <[email protected]>
Katie Gerrolds <[email protected]>
Kevin Hadron <[email protected]>
kensi <[email protected]>
KitKat <[email protected]>
Meerkats <[email protected]> (forgery)
Mister Scott <[email protected]>
Mrs. Danforth <[email protected]>
Mike Faramis <[email protected]>
Mamac <[email protected]>
Nancy 3 <[email protected]>
Nancy 4 <[email protected]> (forgery)
Nebulous <[email protected]>
Nightcrawler <[email protected]>
Nougat Surprise <[email protected]>
Orange Green <[email protected]>
Purpleswandir <[email protected]>
Retahiv Oopsiscame <[email protected]>
RichB <[email protected]>
(e-mail address removed)
SFTV_troll <[email protected]>
Sulfide Eater <[email protected]>
<supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com>
Spock <[email protected]>
Series Expansion <[email protected]>
Seamus MacRae <[email protected]>
Snicker-snack! <[email protected]>
Tim <[email protected]>
Thursday's Leftovers <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
thoolen <[email protected]>
<[email protected]>
Willy Wonka <[email protected]>
Zapotec <[email protected]>

and that work on your trailer park.

http://i51.tinypic.com/28us11y.jpg
 
T

thoolen

On 19/09/2011 8:58 AM, "kaffel'latte", an obvious murphy sock, wrote:
NaN> Derbyshire having a wee chat to hisselv did post in

Who is "Derbyshire", murphy? There is nobody in this newsgroup using
that alias. And what is "hisselv", murphy, and what does it have to do
with Java?

What does your URL have to do with Java, murphy?

NaN> training gerbils?

What does your training have to do with Java, murphy? Have you mastered
making the little wheel in your terrarium spin yet, murphy?

NaN> you left off your list;

What does your classic erroneous presupposition have to do with Java,
murphy? That list is yours, murphy, not Cthun's; it is a monument to
your vast and unfathomable paranoia.

NaN> and that work on your trailer park.

What does your unsubstantiated claim regarding Cthun have to do with
Java, murphy?

What does your URL have to do with Java, murphy?

"I had 'volunteered (years back) to support those who do endeavor
to provide free Free Usenet access, support those who offered
subscription based Free Usenet access, nothing more than
cooperation expected in return for what has been many
thousands of hours of work. I note most of those I joined with
are either deceased, severely disabled, or plain ole' MIA..
now it is my Time. ...

You just read my last. ...

For those who think they see me in future times I can only wish
you severe Tinnitus in your dreams. For those who know me
well (eMail, whatever) and see me, know I will be smiling also.
It is to you I say "adieu mein frenz and adios .. grazie' [hugs]
for all the Good Times! May you and yours always bear well
with all Life brings you".

/0ut"
--murphy

And people wonder why I call them Famous Last Words.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top