Skip to main content

do there exist communities against latest java changes?

5 replies [Last post]
saintjohn
Offline
Joined: 2004-10-25

i believe there a lot of people who "loathe and despise" current SUN's politics towards java language.

does anybody try to stop java from becoming as trash can of horrible features from other languages?

I won't be surprised if SUN introduce operator overloading, multi-inheritance and other stuff. :(

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
kcpeppe
Offline
Joined: 2003-06-15

> i believe there a lot of people who "loathe and
> despise" current SUN's politics towards java
> language.

I don't know how much influence this forum may or may not have on Sun's engineers but I do know that the Java Community Process does have influence. I'd recommend that you go through the registration process and speak out for maintaining simplicity.

dgreenbean
Offline
Joined: 2003-12-08

-1

First, it is important to define what you are talking about. The language is made up of its grammar (syntax and semantics), its common terms (standard library), and its vocabulary (everyone else's libraries).

I have seen very little dispute over whether the standard library should evolve (at least in small ways). It seems that people are generally accepting of it as long as legacy code will work.

> I won't surprise if SUN introduce operator
> overloading, multi-inheritance and other stuff. :(

It seems to me, by this statement, that you are primarily referring to grammar changes in the language. It is true that grammar changes should be restricted to only those that are "necessary" because they are shared among everyone who uses the language.

Many people reading this list probably remember when a list of three terms had a comma before the last term preceding an "and" or an "or" (chocolate, vanilla, and strawberry). The English language grammar has since evolved to omit this comma (some standards still reflect the old rule). This caused major confusion on those in my generation who went through school during this change, as teachers would forever be changing their minds about it. This is the type of change that should be avoided in programming languages.

When changing the grammar of the language, a significant need should be expressed:
Will this change help more than it hurts?

How can a change help? Here are some ways:
-Allowing an idea to be expressed that could not be expressed identically before.
-Making it easier to express an idea.
-Making it faster to express an idea.
-Removing ambiguity from a previously ambiguous expression.

How can a change hurt? Here are some ways:
-Making the language more complicated to use.
-Making it difficult to learn the language.
-Hiding details from the user of the language (making the language less clear)
-Making the language too verbose.

These are just some of the ways a change to the grammar can help/hurt a language. Now the trick is to figure out when it is "necessary" to add the feature.
"Necessity is the mother of all invention."

Java "needs" parametric polymorphism. That is in the fundamental core of what Java is. Without it, Java would be something else entirely. Conversely, there is no inherent "need" for a >= b, but there is a great "want" for it. The operator could just as easily have been left out, but programmers would be screaming about having to say a == b || a > b every time they wanted a >= b. This meant that the operator was added to the language even without an explicit "need" for it.

The problem is we still have no general way of saying when a feature should be added to the language and when it should not. That is probably because there can be no general solution. Instead, each feature must be taken separately, its potential benefits and drawbacks analyzed, and a decision made. Much of this decision is determined by general consensus. This is not a democracy, but there is a guiding principle:
The language is used by people. If people stop using it, it ceases to exist.

It is very likely that operator overloading and multiple inheritance would be beneficial contributions to the language. It is equally likely that they will add too much complexity to the language. Before dismissing any feature, it is important to show how the complexity will damage the language and how the feature will help the language. Only then can an informed opinion be formed. Simply referencing another similar language says nothing for whether Java should include it.

-David

monika_krug
Offline
Joined: 2004-10-14

Well written, David!

> Many people reading this list probably remember when
> a list of three terms had a comma before the last
> term preceding an "and" or an "or" (chocolate,
> vanilla, and strawberry). The English language
> grammar has since evolved to omit this comma (some
> standards still reflect the old rule).

This changed? So why do they still teach us the old rule?!

It is much nicer without the comma before the "and" or "or", because that is like the German rule :-) . And as English is an old German dialect, that is the way it should have been in the first place ;-) .

And while I am at it: "rhyme" should be spelled "rime".

Monika.

kcpeppe
Offline
Joined: 2003-06-15

> And as English is an old German dialect, that is the
> way it should have been in the first place ;-) .
>

Actually... English is an old Norman dilect, or is that French, bit of Welsh in there, Norse... German or is that Saxon. At any rate... the idea of "Standard English" is a myth that was devised and perpetuated by those in radio (specifically, the BBC) according to "The History of English".

Anyway, the only flaw is that Humans are much more adaptive when it comes to parsing a langauge. They are not as bothered as much by errors in syntax or small deltas in change. We humans can even cope with large changes, (remember reading Chaucer, Shakespeare etc...).

The poor little computer in it's current state of evolution can't cope with even the missing ','.

That said, there is a higher abstraction in language development that we can learn from. Complexity in langauge, society and inter-mixing (or lack there-of). The coorolation that I like is that intermixing of different languge groups forces a reduction in complexity. Those languages that are "pure" tend to retain their complexities and becomes difficult for those outside of the language group to learn. Sometimes, these interactions spawn a new langauge but it is only after that language is established that it starts to pick up it's own complexities.

Sounds a bit like Java doesn't it?

> And while I am at it: "rhyme" should be spelled
> "rime".

lol, yes indeed.. but you can make the change yourself... the airlines did it.. they gave us lighted to replace the irregular lite.

jwenting
Offline
Joined: 2003-12-02

I'm with you.
The language should be left alone.

Seeing the masses of idiotic "proposals" for all kinds of new keywords and language constructs makes me shudder and seriously consider going back to Cobol. At least that language doesn't change for trivial reasons, because someone thinks it would be a nice idea...