why does catching errors that aren't thrown give syntax errors?

A

Arne Vajhøj

Lew said:
Apropos of that, there is the notion of "technical debt" - code that was
written less than optimally but basically works. Fixes to that are
motivated by money concerns - it costs more to maintain than fixed
code. Delays to such fixes also are motivated by money concerns - the
fix can cost a chunk of money (effort) that is more painful in the short
run than the incremental cost of dealing with the suboptimal code.

So there is an effect where the overall cost is higher because projects
don't want to expend short-term resources to bring the cost down in the
longer term.

True.

But the estimate to do the fix now is rather solid while the
estimate of the cost living with the code for 10 or 20 years
is very fuzzy.

Arne
 
L

Larry K. Wollensham

Bent said:
Go to hell, "Bent" or whatever your real name is.

_____________ _____________
`-._ ..::| `-._ ..::| .
`. ..::| `. ..::| /|
| ..::| | ..::| /.|
| ..::| _____ | ..::| / :|
.--------.| ..::|.-' ..::-.---. .-----| ..::| / .:|
| /\ .::. ..:.' ..::`. ' | ..::| / .::| /\
|/ \ .::\../ ..::\ | ..::| / ..::|/ \
.---' '---..::bd _ ..::b.._ | ..::|/ ..---' '---.
`-. .-' .::pI (_) ..::m ) | ..::`-. .-'
/ \ ..:/.q ..::w / .| .:' / \
/_.-``-._\..:' ..\ ..::/ / .:| ''---/_.-``-._\
' | ..:.` | ..:`. ..::,' / .::| ..:. `
| ..:| | ..::|`-.__..::-':| / .::' | ..:::|'. ..:\
| ..:J ,' ..:::. ,' ..::/ ..:' ,' ..::::. ) .::b
| ..:/ /____..::::\ /____...:/ .:' /____..:::::/ ..::p
|.:,' /.:' / ..:::'
|,' /.' / ..:-'
' ' /,-'
'

Right now you appear to be engaged in some bizarre and elaborate form
of self defence that is helpful to no one.

Errors that have entered the public need to be corrected in public

I am not going to let such a serious error stand just because someone
feels the need to save face. This is a technical forum and technical
errors must be expected to come under quite considerable attack.

[other condescending bullshit in a similar vein, deleted]

Uh, I think it's pretty clear that he's killfiled you, Bent.

It really makes you look bad -- petty and mean -- when you keep right on
flaming someone that's made it clear they are not interested in having a
fight with you, or in anything else you might have to say.

So, may I respectfully suggest that you blow it out your I/O port.

Sincerely,
Larry

P.S. I have to say I was leaning towards blue indigo's side here. I
don't think making C comments nest properly would have too painful
consequences, and it would be beneficial in the long run. Much less
doing the same with Java comments now, or C comments way back when C was
young.

And no, I'm not interested in hearing you argue further about it either,
my mind is made up.

And no, I'm especially not interested in becoming the target of your
personal criticisms and insinuations that my education is somehow not to
your satisfaction, either. At the first sign of such, I will plonk you
as firmly, if not quite as flamboyantly, as blue did.

P.P.S. Not all differences in opinion from yours constitute "errors",
Bent. A quick gloss over your posting-history as revealed through Google
Groups indicates that you have a very hard time accepting anyone who
persistently expresses an opinion that does not rapidly come around to
align with yours once you make yours clear. Instead, you begin to regard
such a person as "obviously" deficient in education, mental functioning,
or both, and to be increasingly public about that opinion too.

It seems you got embroiled in at least one ridiculously long flamewar in
this group before due to this tendency of yours, fought against someone
rather less willing to give up and killfile you than blue.

Might I suggest that you consider carefully next time this sort of thing
happens that perhaps it is YOU that is wrong, or perhaps it is a mere
difference of opinion and that reasonable men may, sometimes, actually
disagree? This particular case looks like an instance of the latter, to
me. Would it break thousands of lines of C code in most C projects to
make the change blue suggested? I don't know. I think probably not. Blue
thought probably not. You seem to think probably yes. Fine, opinions
obviously vary. It's not an "error" that this is so. It is normal in a
population not composed entirely of clones (or sockpuppets). The sooner
you realize this, the better you will be able to get along with other
usenetters. Presuming of course that getting along with others is even a
goal of yours, about which I'm sad to say I have my doubts.

Regardless, sayonara. I'm not interested in debating any of this stuff
with you, let alone any unpleasant personal opinions about me that you
might now wish to relate. I won't be responding any further to this, and
if you do flame me, it will be the last post by you that I ever read in
this or any other thread. Just so you know.
 
L

Lew

True.

But the estimate to do the fix now is rather solid while the
estimate of the cost living with the code for 10 or 20 years
is very fuzzy.

Perhaps so, but also when the code has been a certain way for a while, the
cost of leaving it that way can be extrapolated from its history.

Often what happens is a small part of the team raises a concern early in the
accumulation of technical debt, but gets overruled. As time goes on, bugs
creep in, workarounds accrete, new features get harder to implement, good
ideas get more likely to be suppressed because they aren't compatible with
existing code.

On the flip side, it's dangerous to eliminate some apparent "cruft" because
it's actually there for a good reason. Not every suggestion to refactor is
the right one.

Competent project management will be alert to both sides of that balance and
look for ways to minimize the technical debt without causing instability.
Amortization of refactoring effort into other more obviously necessary work is
just one useful tactic.

Refusing to reduce technical debt by claiming that it's too fuzzy to calculate
is probably not the best approach. Better is to find ways to estimate it,
with reality checks to make sure that it is not misdiagnosed. It is this sort
of commitment that led to the development of Agile programming, AIUI. A
subject about which I still do not know much.
 
B

blue indigo

It may be contrived.

But it was not broken by C++'s or C99's // comments. In fact it compiles
great in C++ !

"int a = 2//**/1;" is treated is "int a = 2/ 1;" by pre-C99 C, and as "int
a = 2" by C99, C++, or Java. The most important thing for the question of
whether it *compiles* or not is actually the missing semicolon. Depending
on what follows, this may or may not be legal. It seems likely to me that
in most plausible contexts, it will result in a syntax error, so no, it
will not compile "great" in C++. On the other hand, there may be contexts
in which it will compile, but the meaning may be altered. It is possible
that in a few contexts it will compile without altered meaning as a gets
assigned 2 in both cases.

In the specific case that the line is followed by a lone ; it will compile
in both cases and assign a the value 2 in both cases, though this would be
equally contrived to the original example.
But it would break with your proposal.

There is no /* /* */ sequence in there, so no, it would not.
Neither would I. Among other things because it would not compile
with C++ or a C that has implemented at least that part of C99.

It will under some circumstances, including if the next line starts with a
semicolon. Empty statements are legal in C, so it would still compile
as C89 in that case as well.

More importantly, it will compile in C89 without the next line having to
start with a ; and C89 is still in widespread use.
But it is rather irrelevant.

Since it was not the example I gave.

Yes it was.

Your post said:
I gave a very example of a regular comment just placed at
a special location.

How else was I to interpret it?
You would gain more credibility in your argumentation, if you
read what you are replying to.

I bloody well DID read what I was replying to, you condescending ...
person. And it said
I gave a very example of a regular comment just placed at
a special location.

If that is not what you actually *meant*, then you should have written
something difference.

Sorry for losing patience like that mate, but I get frustrated when people
like you and Bent seem determined to make the worst of something, and
especially when you have the gall to accuse and insult me for what I
can only assume was your own failure to communicate clearly.

The only one losing credibility here is you, both because you are
apparently saying one thing and then claiming you said something else a
few posts later and because you are resorting to personal attacks and
calling others' honesty into question when someone continues to disagree
with you.

Not everyone who disagrees with you is an uneducated moron. Sometimes they
simply don't share your opinion and occasionally they are just plain
right, and you wrong.

It would be nice of you to give others the benefit of the doubt and not
start writing messages whose every pore oozes forth your opinion that
someone is an uneducated moron or, worse, a liar, just because you
disagree with them and they don't promptly change their opinions to match
yours. There ARE other reasons why someone might not do that, you know.
Assuming that we talk about what I wrote - not you invention - then you
never know.

What invention? That line of text is from
I gave a very example of a regular comment just placed at
a special location.

It is an odd number of quote-levels deep, you will notice, while my texts
are an even number of quote-levels deep, since this is one of my posts. So
it's quite clear that I did not invent that at all. And you quite clearly
implied that you did, in the last two lines of that excerpt.

I do hope I will not have to repeat that same excerpt a fourth time. If I
do, I may decide to follow it up with a big fat plonk. Reluctantly, to be
sure, since you unlike Bent have made numerous useful posts to this
newsgroup. But if you are going to act like a spoiled child as soon as
someone says "no" to you and won't change his mind, and worse insinuate
that he is a liar for doing so, then I don't care to read anything else
you might have to say. Sorry, mate, but that's the way it is.
It is often postponed for a long time, but eventually an upgrade often
happen.

Along with any needed code changes. That would not change, of course.
Someone considered it a useful feature.

And comments that nest properly could also be considered a useful feature.
A much more broadly applicable one, too. Instead of only in database
projects it might come in handy in all projects.
And as demonstrated here people are not happy about it breaking existing
builds.

It has not been done yet, and therefore has not broken any existing
builds. All I can see is that *two* people, you and Bent, are not happy
about the *prospect* of it breaking existing builds, which prospect's
allegedly-terrifying nature you have failed to support with much evidence.

The same two people show a tendency towards letting this disagreement
become personal, and a tendency towards insisting upon having the last
word, and several other rather questionable tendencies, though, so I don't
think their disagreement is indication of very much, save possibly that
whatever they are disagreeing with is likely to have some merit.
And this is a case of something that has always been like that. It is
not a new phenomenon.

No, it is not. A quick perusal of your posting histories using Google's
archive shows that both of you have a long and sordid history of getting
into online fisticuffs over similarly minor quibbles with a variety of
people over the past several years. Both of you, particularly, have the
un-admirable trait that when anyone holds an opinion that differs from
yours on any subject, you think them ill-educated and in error, and if,
once you have made some effort to educate them and teach them the error of
their ways, they persist in holding an opinoon that differs from yours,
you think them a fool or worse, and moreover loudly and publicly proclaim
this opinion. It is frankly surprising that you do not get in even more
fights, when that is considered.

Bent's posting history to cljp consists of little else but a series of
such fights, hence the ease with which I decided he wasn't worth my time.
You have had rather more useful posts in your history, but still with a
tendency towards this ... I don't know what to call it. Maybe arrogance or
narcissism. Maybe a simple inability to distinguish between facts, which
may be absolutely wrong or right, and opinions, which may differ from
yours and still not be incorrect. Truth be told, though, I think the both
of you are moderately to severely autistic, though at least in Bent's case
without the usual language deficits. Hypergraphia if anything in his case.
That neatly explains both the geeky areas of interest and the inability to
recognize that others' opinions may be valid even when they are dissimilar
to your own, and it explains other more minor things, quirks and in your
case poor language skills.

Yes, I suppose that constitutes a flame. Well, if you don't like it,
perhaps you should think twice next time before opening your trap and
calling some chap a liar like you did to me when you said my credibility
was damaged by what you alleged to be dishonest debating tactics on my
part, which tactics apparently consisted of my a) reading what the quoted
material said were the previous iterations in this exchange and b)
attributing to you what the quote-nesting levels, combined with your own
words, implied was yours. Shockingly dishonest, that.
Given how development of C and Java are progressing and how they are
used, then I would changes to java.sql way under adding nested comments
to C/C++.

Nonsense. There is enough Java code in production to bury the interior of
Australia miles deep in the stuff, and an awful lot of it deals with
databases. Maybe even "nearly all" of it, for some values of "nearly all".

Whereas there is a lot of C and C++ code with /* */ comments in it but
very little that relies on comments NOT nesting, that is, has /* /* */
somewhere in it.

Furthermore, what C and C++ code does do this could be fixed
literally in minutes with a syntax-highlighting IDE after the hypothetical
transition of a project to a compiler that nests comments, by people with
no knowledge of what the specific code is supposed to do, only that /* and
*/ should come in matched pairs now. A typical project might have five
lines that need changing out of millions.

An automated tool could do it even faster, by locating */s that terminate
comments under the old rules and would no longer do so under the new ones
and doubling them up, tripling them, or more as necessary so that the
comment terminations would remain at the same locations.

Yes, folks, this is such a horrible existing-code-breaking change that it
would take all of TEN MINUTES to update a massive code-base, for anyone
with a little knowledge of C, the C preprocessor's internals, and shell
and/or make. So, basically any C hacker worth his pay. Yes, a whopping TEN
MINUTES! My God, it's the end of the world!

Of course, implementing new methods that were added to an interface, while
adhering to the interface's contract complete with whatever semantics it
requires of those new methods, is much much worse, and certainly not
automatable in any reasonable manner. Auto-generating methods that return
null or throw UnsupportedOperationException is as close as you can get,
but will surely violate the contracts for the new methods, and will blow
up at run-time as soon as the code has to interoperate with code that
actually calls those methods.
// was added to C 10 years ago.

So?

If comment-nesting were adopted tomorrow, then on February 24, 2019 you
could say comment-nesting was added to C 10 years ago.
Software are not developed for fun but for money.

"A stitch in time saves nine" is not, contrary to popular belief,
a reference to saving golf strokes or something like that. It means saving
stitches, and in practise, it tends to mean saving money.

Oh, wait, that isn't popular belief after all. But apparently it is your
belief.
Something that must be fixed cost money.

Hence why updating the toolchain used with a major project is so
infrequent. Comment-nesting or no comment-nesting.
And the chance that it will be used as an opportunity to cleanup the
entire code is pretty small.

Unfortunately.

Fortunately, though, "pretty small" is greater than zero.
 
B

blue indigo

Bent said:
Go to hell, "Bent" or whatever your real name is.

_____________ _____________
`-._ ..::| `-._ ..::| .
`. ..::| `. ..::| /|
| ..::| | ..::| /.|
| ..::| _____ | ..::| / :|
.--------.| ..::|.-' ..::-.---. .-----| ..::| / .:|
| /\ .::. ..:.' ..::`. ' | ..::| / .::| /\
|/ \ .::\../ ..::\ | ..::| / ..::|/ \
.---' '---..::bd _ ..::b.._ | ..::|/ ..---' '---.
`-. .-' .::pI (_) ..::m ) | ..::`-. .-'
/ \ ..:/.q ..::w / .| .:' / \
/_.-``-._\..:' ..\ ..::/ / .:| ''---/_.-``-._\
' | ..:.` | ..:`. ..::,' / .::| ..:. `
| ..:| | ..::|`-.__..::-':| / .::' | ..:::|'. ..:\
| ..:J ,' ..:::. ,' ..::/ ..:' ,' ..::::. ) .::b
| ..:/ /____..::::\ /____...:/ .:' /____..:::::/ ..::p
|.:,' /.:' / ..:::'
|,' /.' / ..:-'
' ' /,-'
'

[other condescending bullshit in a similar vein, deleted]

Uh, I think it's pretty clear that he's killfiled you, Bent.

Uh, I think it's pretty clear that he's a troll, Larry. In case you hadn't
noticed, they breed like wallabys hereabout. I think because people often
feed 'em around here.
[Rest of long and elaborate attempt to teach Bent the error of his ways
deleted.]

I'm pretty sure that fell on deaf ears.

Just plonk him like I did, mate.
 
A

Andreas Leitgeb

Arne Vajhøj said:
It is an upgrade from Java A to Java B that creates
the build errors, because standard interfaces used
has added methods in B.

This osc^H^H^Hpoint goes to ... Arne Vajhøj :)
 
B

Bent C Dalager

P.S. I have to say I was leaning towards blue indigo's side here.

blue indigo
NNTP-Posting-Host: 4wbTGg0MZ1YcMcUA8fzBNg.user.aioe.org

Larry K. Wollensham
NNTP-Posting-Host: 4wbTGg0MZ1YcMcUA8fzBNg.user.aioe.org

Thank you both for your valuable input I suppose.
At the first sign of such, I will plonk you
as firmly, if not quite as flamboyantly, as blue did.

You know you want to.

Cheers,
Bent D
 
A

Arne Vajhøj

Lew said:
Perhaps so, but also when the code has been a certain way for a while,
the cost of leaving it that way can be extrapolated from its history.

You need to have an idea about the lifetime of the code
and how many changes that will be done to it in the future.

Very difficult to estimate.

And historic data is not particular good for that purpose.

Arne
 
A

Arne Vajhøj

Bent said:
blue indigo
NNTP-Posting-Host: 4wbTGg0MZ1YcMcUA8fzBNg.user.aioe.org

Larry K. Wollensham
NNTP-Posting-Host: 4wbTGg0MZ1YcMcUA8fzBNg.user.aioe.org

Hmm. Someone has been talking a lot to himself lately.

Arne
 
B

blue indigo

Hmm. Someone has been talking a lot to himself lately.

Naw, he's my flatmate, mate! That there would be aioe's mangling of our
home network's router's address.
 
A

Arne Vajh¸j

blue said:
"int a = 2//**/1;" is treated is "int a = 2/ 1;" by pre-C99 C,
Yes.

and as "int
a = 2" by C99, C++, or Java. The most important thing for the question of
whether it *compiles* or not is actually the missing semicolon. Depending
on what follows, this may or may not be legal. It seems likely to me that
in most plausible contexts, it will result in a syntax error, so no, it
will not compile "great" in C++.

My example compiles fine on C++.

That you have found some other code that does not is rather
irrelevant.
There is no /* /* */ sequence in there, so no, it would not.

My example would break with nested comments.
Yes it was.

Your post said:


How else was I to interpret it?

Exactly as written.

I gave an example.

The code above is Bents example not mine.
I bloody well DID read what I was replying to, you condescending ...
person.

It seems as you have not read my example.

And it said


If that is not what you actually *meant*, then you should have written
something difference.

You should read who wrote what.

The example you quote is Bent's example not mine.
Sorry for losing patience like that mate, but I get frustrated when people
like you and Bent seem determined to make the worst of something, and
especially when you have the gall to accuse and insult me for what I
can only assume was your own failure to communicate clearly.

If you are not able to get the concept that that the example
quote is not my example from:

#Since it was not the example I gave.

then I will put the reason for the communication failure on you.
The only one losing credibility here is you, both because you are
apparently saying one thing and then claiming you said something else a
few posts later and because you are resorting to personal attacks and
calling others' honesty into question when someone continues to disagree
with you.

I posted an example.

I referred to that.

My statements about its compilability is correct.

You do not seem able to distinguish between my example and
Bent's example.

That is hardly my problem.
Not everyone who disagrees with you is an uneducated moron. Sometimes they
simply don't share your opinion and occasionally they are just plain
right, and you wrong.

That the code compiles with C++ is objectively observable.

It is not a matter of opinion.
It would be nice of you to give others the benefit of the doubt and not
start writing messages whose every pore oozes forth your opinion that
someone is an uneducated moron or, worse, a liar, just because you
disagree with them and they don't promptly change their opinions to match
yours. There ARE other reasons why someone might not do that, you know.

This way of thinking sounds awfully familiar.
What invention? That line of text is from


It is an odd number of quote-levels deep, you will notice, while my texts
are an even number of quote-levels deep, since this is one of my posts. So
it's quite clear that I did not invent that at all. And you quite clearly
implied that you did, in the last two lines of that excerpt.

You invented that it was my example.

It is not.

It was Bent's example.

I do hope I will not have to repeat that same excerpt a fourth time. If I
do, I may decide to follow it up with a big fat plonk.

Feel free.
Along with any needed code changes. That would not change, of course.

Not necessarily.
And comments that nest properly could also be considered a useful feature.
A much more broadly applicable one, too. Instead of only in database
projects it might come in handy in all projects.


It has not been done yet, and therefore has not broken any existing
builds.

The changes to javax.sql.Statement interface has been done and has
broken builds.
All I can see is that *two* people, you and Bent, are not happy
about the *prospect* of it breaking existing builds, which prospect's
allegedly-terrifying nature you have failed to support with much evidence.

Lew did not sound to happy about his little problem.
No, it is not. A quick perusal of your posting histories using Google's
archive shows that both of you have a long and sordid history of ...

My posting history has little relevance to the fact that adding methods
to an interface breaks builds is not a new phenomenon.
Bent's posting history to cljp consists of little else but a series of
such fights, hence the ease with which I decided he wasn't worth my time.
You have had rather more useful posts in your history, but still with a
tendency towards this ... I don't know what to call it. Maybe arrogance or
narcissism. Maybe a simple inability to distinguish between facts, which
may be absolutely wrong or right, and opinions, which may differ from
yours and still not be incorrect. Truth be told, though, I think the both
of you are moderately to severely autistic, though at least in Bent's case
without the usual language deficits. Hypergraphia if anything in his case.
That neatly explains both the geeky areas of interest and the inability to
recognize that others' opinions may be valid even when they are dissimilar
to your own, and it explains other more minor things, quirks and in your
case poor language skills.

Hello twerpie.
Yes, I suppose that constitutes a flame. Well, if you don't like it,
perhaps you should think twice next time before opening your trap and
calling some chap a liar like you did to me when you said my credibility
was damaged by what you alleged to be dishonest debating tactics on my
part, which tactics apparently consisted of my a) reading what the quoted
material said were the previous iterations in this exchange and b)
attributing to you what the quote-nesting levels, combined with your own
words, implied was yours. Shockingly dishonest, that.

Hello twerpie.
Nonsense. There is enough Java code in production to bury the interior of
Australia miles deep in the stuff, and an awful lot of it deals with
databases.

Sure. But that is not particular relevant.

The problem only impacts using building a JDBC driver.
Whereas there is a lot of C and C++ code with /* */ comments in it but
very little that relies on comments NOT nesting, that is, has /* /* */
somewhere in it.

Not a very good argument since other examples has been posted.
Yes, folks, this is such a horrible existing-code-breaking change that it
would take all of TEN MINUTES to update a massive code-base, for anyone
with a little knowledge of C, the C preprocessor's internals, and shell
and/or make. So, basically any C hacker worth his pay. Yes, a whopping TEN
MINUTES! My God, it's the end of the world!

There are no such thing as 10 minute fixes in professional software
development.
Of course, implementing new methods that were added to an interface, while
adhering to the interface's contract complete with whatever semantics it
requires of those new methods, is much much worse, and certainly not
automatable in any reasonable manner. Auto-generating methods that return
null or throw UnsupportedOperationException is as close as you can get,
but will surely violate the contracts for the new methods, and will blow
up at run-time as soon as the code has to interoperate with code that
actually calls those methods.

Lew do not need to make any code changes. He need to use a binary (or
build that part with the correct Java version).

It means that what you wrote:

# I'd say that bar was quite a lot higher
# than in the case of either introducing // comments to C

is a bit out of date.

Arne
 
A

Arne Vajh¸j

blue said:
Naw, he's my flatmate, mate! That there would be aioe's mangling of our
home network's router's address.

Yeah yeah.

Multiple accounts, worried about liars hurting his reputation - we
got the picture.

Arne
 
B

Bent C Dalager

Multiple accounts, worried about liars hurting his reputation - we
got the picture.

I really don't think there is reason to assume they are the same
person, the other NNTP headers are rather consistent with the notion
that they are pals deciding to gang up on someone. I don't have any
trouble believing that they are flatmates.

In short, a single poster taking the effort to design unique data for
all the other little bits in the header in order to try and look like
two different people probably wouldn't forget to also forge (or just
ensure) a unique NNTP-Posting-Host.

Cheers,
Bent D
 
B

blue indigo

My example compiles fine on C++.

If the next line starts with a semicolon. Otherwise, mostly not.
That you have found some other code that does not is rather
irrelevant.

The code I found is the code you referenced in your earlier post. If you
meant to reference some other code, you should have done so clearly and
distinctly, or better yet simply reposted it.

I cannot of course respond to what you meant, only to what you said.
My example would break with nested comments.

The example indicated in your previous post would not, no.
Exactly as written.

Which I did, mate.
It seems as you have not read my example.

I read:
I gave a very example of a regular comment just placed at
a special location.

It clearly implies that your example is "int a = 2//**/1;". If that was
not your intended meaning, mate, then I'm sorry but you will have to try
to communicate more clearly in the future. I'm not a mind reader.
You should read who wrote what.

I did.
The example you quote is Bent's example not mine.

That's not what your own earlier words imply, mate. "I gave a very example
of a regular comment just placed at a special location" with "int a =
2//**/1;" directly above and at the same parity of quoting level and
matching the description to a T.
If you are not able to get the concept

See, this is exactly the kind of insulting and rude behavior that irks me.
I am trying to have a civilized discussion here, and the moment there is a
miscommunication you begin to suggest that I must be stupid or something.

I do get the concept that you intended to refer to some other code than
you did. You still don't apparently get the concept that you failed to
actually do so. Call it a stale pointer bug in your earlier post. If
you're an actual programmer, you're used to encountering bugs sometimes
and having to fix them, and not taking it personally when they are noticed
by others. I thought you were a programmer. Now I am beginning to have
some doubts. Certainly your present attitude would not serve you well at a
code review.
then I will put the reason for the communication failure on you.

I thought this was a conversation discussing technical subjects for mutual
enlightenment. Apparently it is actually a pointless exercise in
finger-pointing and power politics instead. In which case I am not
very interested in continuing it.
That the code compiles with C++ is objectively observable.

It is not a matter of opinion.

The matter of opinion at issue was whether the comment parsing change
would be really horrible and a bad idea.
You invented that it was my example.

No, I read that from the text of your earlier post.

So if anyone did any inventing, you did.

However I think it was just an honest miscommunication on your part. You
meant to say something a bit different from what actually got said.
Happens all the time, mate. But normally a person would not turn it into a
crown prosecution.

Tell you what, mate. Since you have made many useful contributions to this
newsgroup over the years, and will probably make many more, I'm not gonna
plonk you. But I'm done with this increasingly-pointless thread, and I'm
done arguing with you on pretty much any subject in any thread.

I will respond to a couple of specific points from the rest of your long
and mostly useless post and then that's it.
The changes to javax.sql.Statement interface has been done and has
broken builds.

That didn't prevent the changes being made, though, did it? And I was
clearly referring to comment-nesting, not to javax.sql.Statement, anyway.
Lew did not sound to happy about his little problem.

Lew has not expressed any opinion on the specific subject of making
comments nest, at least that I can recall having read.
Sure. But that is not particular relevant.

Yes it is.
Not a very good argument since other examples has been posted.

Examples of real production code?

I grant that there might be a few places in a large project, say five or
so occurrences every hundred thousand or more lines of code, but I doubt
the rate is much higher than that.

Continuing to argue in a vacuum of actual evidence one way or the other
would obviously be pointless, but as I said before, I don't plan to
continue.
There are no such thing as 10 minute fixes in professional software
development.

Maybe there is, since I just sketched a plausible example of one.

You'd also want to run a test suite to validate everything after, but
you'd be doing so anyway after upgrading parts of your tool set.
Lew do not need to make any code changes. He need to use a binary (or
build that part with the correct Java version).

It will break if it comes into contact with code that uses the new
methods, unless those methods are properly implemented. What he has done
is dodge, for a while, the issue, rather than actually fix it.
It means that what you wrote:

# I'd say that bar was quite a lot higher #
than in the case of either introducing // comments to C

is a bit out of date.

On what actual calendar date it happened is irrelevant to the question of
how high the bar was whenever it did happen.

Anyway, I've had enough of this pissing match, and there's no use in
continuing when there's no hard numbers regarding how common /* /* */
patterns are in actual production code.

Good day, mate.
 
J

Jerry Gerrone

blue indigo wrote:
[snip]

NO FEEDBACK LOOPS!
It would be nice of you to give others the benefit of the doubt and not
start writing messages whose every pore oozes forth your opinion that
someone is an uneducated moron or, worse, a liar, just because you
disagree with them and they don't promptly change their opinions to match
yours. There ARE other reasons why someone might not do that, you know.

[implies something paranoid]
case poor language skills.

[implies something paranoid and insults me].

You really are paranoid, aren't you? In case you hadn't noticed, blue
indigo is almost as big a critic of me as you are. :p

Regardless, none of the nasty things that you have said or implied
about me are at all true.
Yes, I suppose that constitutes a flame. Well, if you don't like it,
perhaps you should think twice next time before opening your trap and
calling some chap a liar like you did to me when you said my credibility
was damaged by what you alleged to be dishonest debating tactics on my
part, which tactics apparently consisted of my a) reading what the quoted
material said were the previous iterations in this exchange and b)
attributing to you what the quote-nesting levels, combined with your own
words, implied was yours. Shockingly dishonest, that.

[implies something paranoid and insults me].

No, you're the twerp.

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

Lew

blue said:
Lew has not expressed any opinion on the specific subject of making
comments nest, at least that I can recall having read.

No, I provided a much more substantive example of how non-backward-
compatible changes cause trouble.

Examples of real production code?

You mean like what I mentioned?
I grant that there might be a few places in a large project, say five or
so occurrences every hundred thousand or more lines of code, but I doubt
the rate is much higher than that.

If those five lines cause the entire application to fail, and incur
great cost in regression testing and adaptation to a new version, they
matter a great deal.
Continuing to argue in a vacuum of actual evidence one way or the other
would obviously be pointless,

You mean like the anecdote I provided?
 
A

Arne Vajh¸j

blue said:
If the next line starts with a semicolon. Otherwise, mostly not.
Wrong.


The code I found is the code you referenced in your earlier post. If you
meant to reference some other code, you should have done so clearly and
distinctly, or better yet simply reposted it.

When I write "My example" I do not find it necessary to write an
entire section explaining that it means an example provided by me
and not an example provided by someone else.
I cannot of course respond to what you meant, only to what you said.

Yes.

"my example" mean an exmaple by me and not Bent's example.
The example indicated in your previous post would not, no.

The only example I have posted in relation to nested comments
would not.
Which I did, mate.


I read:


It clearly implies that your example is "int a = 2//**/1;". If that was
not your intended meaning, mate, then I'm sorry but you will have to try
to communicate more clearly in the future. I'm not a mind reader.

was posted by Bent.

I don't think it requires a mind reader to figure out that
Bent's example is not my example.


So why do you think it was my example ????
That's not what your own earlier words imply, mate. "I gave a very example
of a regular comment just placed at a special location" with "int a =
2//**/1;" directly above and at the same parity of quoting level and
matching the description to a T.

It is not particular surprising that multiple examples in a thread
about nested comments can match that description.

Read who wrote that instead of guessing.
See, this is exactly the kind of insulting and rude behavior that irks me.
I am trying to have a civilized discussion here, and the moment there is a
miscommunication you begin to suggest that I must be stupid or something.

Well.

Anybody could miss that the examples were Bent's in the first
reply.

But continuing believing so after being explicit told that it
was not, then the problem is your reading not my writing.
I do get the concept that you intended to refer to some other code than
you did. You still don't apparently get the concept that you failed to
actually do so.

"My example" means an example I posted.

I posted exactly what I intended to post.

I assumed that the meaning of "My example" is relative
clear.
> Call it a stale pointer bug in your earlier post. If
you're an actual programmer, you're used to encountering bugs sometimes
and having to fix them, and not taking it personally when they are noticed
by others. I thought you were a programmer. Now I am beginning to have
some doubts. Certainly your present attitude would not serve you well at a
code review.

If I were in a code review where the reviewers think that "My example"
could mean someone else example, then I think it would be a waste of
time.
No, I read that from the text of your earlier post.

So if anyone did any inventing, you did.

Sorry, but I can not take responsibility for you thinking
that when I write "My example" I am really talking about Bent's
example.
Tell you what, mate. Since you have made many useful contributions to this
newsgroup over the years, and will probably make many more, I'm not gonna
plonk you. But I'm done with this increasingly-pointless thread, and I'm
done arguing with you on pretty much any subject in any thread.

That is your privilege.

Arne
 
B

Bent C Dalager


Note also that to the extent that C++ compilability is an important
aspect, Bent's Example (in order not to confuse anyone) can easily be
modified to accommodate this:

(Bent's Example, v2)
int a = 4//**/2
+ 4;

would compile with both c89 /and/ c++98. If that was a line from old
code then upgrading from a c89 to a c++98 compiler would presumably
break the application without warning or error from the compiler (not
sure if C++ compilers tend to produce warnings in such situations).

Of course, this may be exactly what Arne's Example was, that I do not
know.

Cheers,
Bent D
 

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

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,682
Members
48,796
Latest member
Greg L.

Latest Threads

Top