Re: 7.0 wishlist?



Joshua Cranmer wrote:
Harold Yarmouth wrote:
Is this the general treatment people can expect here if they suggest
that something about Java be changed? To have their fairly long and
detailed suggestions rejected summarily with a brusque "that's
awful" type of reply, one that doesn't even hint that the replyer
even bothered to read or think about the proposal in detail before
making his judgment, and one that implies that his judgment carries
some kind of official stamp of finality -- that his opinions on the
matter are as good as facts?

Note that this newsgroup is *not* the place to go to suggest that Java
be changed.

Actually, this is the right newsgroup -- none of the other comp.lang.java.* newsgroups is as good a fit as this one is. My reasoning being as follows: clj.announce is right out as it's not for discussions at all, but for announcements; this stuff would be off-topic in clj.3d, beans, corba, databases, gui, help (I think), machine (that's VM implementation right?), or security; that leaves clj.programmer and softwaretools. I felt the former was a better fit, since language design/change is an issue of interest to the programmers that use the language, and language changes are really specification changes that require tools like the compiler to be updated as side-effects.

Perhaps you think of language changes as merely compiler changes, and thus think clj.softwaretools would have been a better fit.

Perhaps reasonable men can disagree about that.

Clearly, however, discussing language changes from the perspective of programming in that language falls within the topic bounds of this newsgroup, so you are out of line in insinuating that my post was off-topic. It was considerably more on-topic than some of yours have been (notably the ones that are 80% personal attacks by dry weight and only 20% Java programming related -- and high in saturated fat too no doubt!).

If your suggestions are as well-thought as you imply, then
the better route would be to go through the actual mechanisms to propose
new additions to Java.

Perhaps you've mistaken me for someone with access to people on the inside track at Sun? I don't have the connections to put this sort of thing before the people that sit on the relevant committees. Heck, I don't even know what the relevant committees are, or very much else about Sun's internal organization or any clubs, groups, or similar liaisons it has with the wider developer community. I'm pretty much just your run-of-the-mill lone-wolf, hired-gun Java programmer.

As for my opinions being "as good as facts," that is a poor
qualification.

It is what the evidence (your posts to this thread) suggests your attitude to be. If it is not your actual attitude, then your posts to this thread either are an unrepresentative sample or communicate your true feelings poorly for whatever reason.

I have provided (albeit, to be honest, not in my first
posting) a citation of the people whose views /are/ as good as facts

Nobody's views are "as good as facts" except for mathematicians and eyewitnesses, and even these only when they're right. :-)

Otherwise there is always some room for error.

Scientific opinions backed by experimental data are next best. By the time we get down into plain-jane opinions, or (especially) media poll results, we're in guesswork territory. Aside from exit polls at elections; those have a funny tendency to actually be fairly accurate.

and one can in general extrapolate from Java's history, most notably an
extreme frugality in core language additions.

Some of those proposals at that web site bug me (and not just that they're in the form of evil PDF and some of the pages are actually cut off in midsentence).

Particularly @Immutable and @ReadOnly -- right near a table that reminds me that "const" is a currently-unused reserved word.

And @NonNull being "not too verbose" because it will occur "only every 75 lines" probably came from the same source as most statistics: directly out of somebody's butt. I have declarations of type parameters and references that are intended to be never-null at a rate of about ONE PER LINE OF CODE, nearly two whole orders of magnitude more frequent than that statistic suggests, in the codebases I work with. Many lines have no declarations but the lines full of repeated type names, method declarations with many arguments, and other sources of multiple @NonNull candidate locations on a single line more than make up for these.

I'd expect at least ONE order of magnitude more frequency than they suggested. One every seven or eight lines on average, not seventy or eighty. Especially if you prefer many short methods and little utility classes to a few big monolithic god-objects and prime-mover methods.

What you originally presented was a list of "here's some features." In
general, the burden of proof is on you to show why one should integrate
the feature, which you didn't provide. I was no less terse in my riposte
than you were in your original posting.

Why did you feel that my original posting needed a "riposte"? That word choice suggests that you felt that my original posting constituted some sort of an attack. Perhaps you're emotionally attached to "how Java works now". That means your opinions expressed here may be biased and not wholly based on pragmatism. (And you could always just stick with Java 6 from now on if it really matters to you. In this newsgroup we regularly hear from people that still use Java 1.3!)

And I did provide justifications for my proposed features, at least to the extent that I didn't think each's usefulness should be 100% self-evident to any experienced Java programmer.

And is disagreeing with such a person some kind of taboo here? The over-the-top reaction to my standing up to what looked more like bullying than reasoned criticism certainly seems to suggest so.

No, but preceding to insult someone is.

You were the first to insult someone in this thread, and I was your target.

The best way for me to
characterize my initial riposte is that I was blunt, which I do not see
as insulting, nor (it seems) does it seem insulting to many people.

Surprise! I'm not "many people". I'm me.

I'm not sure if that's just because we've built up extremely thick
skins

It probably is. If your behavior is representative of how people generally treat one another around here, every non-newbie here probably has built up an extremely thick skin. Thus perpetuating the problem.

Your response to that riposte was far more insulting

It didn't even sink to the level of responding in kind.

I wrote:

: How so?
: Not if the class is not under your control for whatever reason.

and similar things that seem innocuous, and

: Not true.
: Awkward and clunky.

and such, which are no worse than your bluntness in the previous message, and

: No, it is not, and I will thank you to stop gratuitously insulting me.
: If you have nothing pleasant or constructive to say, might I suggest
: that you keep your mouth shut in the future?
: You aren't posting to discuss this, are you? You're just posting to
: shit all over it
: Now you've gone from "nonconstructive" to "just plain bloody-minded".

which are mostly phrased quite politely considering the extreme provocation, which was, if you'll recall a direct accusation of poor intelligence or competence. My response: to call you on your bad manners and suggest that you not bother to post posts that consist purely of negativity and hostility with no constructive content whatsoever.

Or perhaps it's the one use of a swear word that you find objectionable, more objectionable than you seemed to think your own calling me an idiot to be?

If so, I guess we again disagree. You must consider scatological language use to be a much worse offense than I do, or perhaps namecalling a milder one.

Cultural differences, perhaps.

Clearly, for whatever reason, we've got off on the wrong foot.

Sure I have. Did you even bother to read my entire post before
clicking "Take A Crap All Over It And Send" in your news reader?

This seems to be more a case of "do as I say, not as I do"--to my knowledge, I did not perform any "name-calling or other nastiness" besides being terse and blunt

You more or less called me an idiot in public. I consider that to easily qualify as "name-calling or other nastiness". And my rather witty riposte (to something that DID deserve a riposte!) was pointing out that you not only had nothing but negativity to post (and not even with all of the steps of your reasoning, assuming there had even been any, spelled out -- my math teacher gave students poor grades if the answers were wrong, but the Fs were reserved for the ones that also didn't show their work) but apparently hadn't even bothered to read the entirety of the post before making up your mind that it deserved only a terse, blunt form reply basically saying "No, no, no, no, no, no, and no, and btw you're an idiot for even suggesting half this stuff."

Did you really expect me to respond in a nicer way? Some people I know would have brushed your post off with a one-line, top-posted, no-trimming "Fuck you, Mr. Negative, did I even ask for your opinion jerkwad?" (only with extra bonus spelling errors and awful grammar, free while supplies last!) or even just "fuck you".

Oh, and pardon me for using the F word, albeit only as illustration.

you were quite terse in your original posting as well

The difference being, *I* wasn't being negative or taking potshots at someone in *my* posting.
.



Relevant Pages

  • Re: a new language
    ... there is not that much reason to use it for much...). ... then I tried ripping off ideas from java (making a mostly statically typed ... language, and a vm resembling the jvm). ... my design included 'structs', where structs differed primarily from classes ...
    (comp.lang.misc)
  • Re: changing a symbol name
    ... Christophe Turle wrote: ... Else we were all speaking the same language. ... or you can find another mechanism for your Java names. ... reason for wanting to do what you say you want to do. ...
    (comp.lang.lisp)
  • Re: switch using strings
    ... to avoid the use of language features when those language features offer ... Java does not allow that. ... I prefer to only ever synchronize on an instance of java.lang.Object that was created for the express purpose of synchronization. ... I feel it makes my own concurrent code easier to reason about if I know that when I'm taking a lock, my code is the only code that can be doing so. ...
    (comp.lang.java.programmer)
  • Re: Can Ruby stay ahead ?
    ... what reason? ... Java is number 1 due to corporate support, a huge critical mass of active projects using it, academic support, and "enterprise support". ... PhP is 4 because - until Rails - it was the default choice for RAD website development. ... And the Duck Typing languages - Perl, Python, Ruby - are on the list due to the LAMP website architecture, where P stands for any interPreted language. ...
    (comp.lang.ruby)
  • comp.lang.java.{help,programmer} - what theyre for (mini-FAQ 2004-10-08)
    ... Before posting read Jon Skeet's "How to get answers on the comp.lang.java.* ... Java FAQs and advice: ... comp.lang.java.programmer Programming in the Java language. ...
    (comp.lang.java.programmer)