That's the cool thing about Java! You don't have a bloated list of features, that you don't really need.

How about adding automated garbage collection to C++? Another nice thing is the amazing number of libraries (all free and really easy to use) in Java! Cool are the automatic array bounds checks, so you are not stuck with error messages such as "Segmentation Fault" like in C++.

Not allowed as well are assembly istructions in Java such as (whatever that is):

I have yet to understand how adding "sinonyms" to classes would help. If I have a "HashMap<Node, Node>" would it be better to know right away that it's a HashMap than find something like "Arc"? What's "Arc"? Is it a class, I don't find it in any package!? Where is it defined? Oh wait, a very intelligent developer called a HashMap an Arc.

I think this is a bug not a feature. Once I confronted a Python developer about this, Python has something similar, he told me that the "IDE would facilitate things". That's funny.

When it comes to bash Java then IDEs don't count, comparing isolated features is ok. When things get ugly for them then the IDE matters!

I think there are really some c++ features that would be nice to have in java. I am not sure about the typedef, since you are rarely in the need of such complicated generics usages. My wishlist would mainly contain two things:

- operator overloadng (using math libraries without it is really a pain)- real templates (the java generics stuff is really just useful for collections)

Thereare several other things like properties and structs I would also like to have, but the two above are the things I really miss the most.

After working with more than one oo programming language that provide type aliases i miss them in Java in situations like this. It's not a big deal but it makes coding easier just like operator overloading when well used of course.

Quote

- real templates (the java generics stuff is really just useful for collections)

I never understood very well why we can't have primitive values in templates. It would go realy well with primitive classes the whay i described them above. Sometimes i wish i could build my own Java language compiler without all these limitations.

Genetrics are there for compile time type safety. there are not coupled with collections it's just that with collections it's evident why you would want type safety.

use Genetrics where you need type safety.

That's exactly the reason, why I criticized generics in my comments. They are nothing more than a type safety construct, which is a good thing, but mainly only useful for collections, since most other use cases are covered by inheritance in conjunction with interfaces. I was used to treat templates like... eh, well... templates . In c++ templates are more of a compiler macro definition. The restrictions of the java generics implementation does not allow for more advanced usages like for example mixins (Yes, there are some tricky ways to simulate mixin behaviour, but they are messy).

Personally, I loathe Templates with a passion. Code bloat, incomprehensible error messages, slow compilation... no thanks! Not to mention that the STL (as useful as it is!) was designed by a twisted and deranged mind. The fact that there are lots of C++ programmers who think that the STL is an example of good design is a sad commentary on C++ programmers :o).

Anyway, the bottom line is that if you prefer C++, use it! Clearly, everyone here finds Java a better fit for their needs JUST AS IT IS :o) If we all thought Templates were the be all and end all, we'd be using C++, right?

"if change is good why test it?""if change is wrong where would we be today?"etc.

anyways to get right on topic,language changes: "language X has foo, we need foo in language Y too!" now at this point I'm not for change or against it, the only thing I ask is why? and what? Why should it change, and what happence if we don't change it. How is a result of the 2 former conclusions. Now this sounds simple but as with most things that appear simple, it's not as straightforward as you would like it to be.

in this case for example "We need templates" the aswer at this point is no we absolutly do not need them, templates are a means to an end, and we don't know to what end we want to go where. (ClassCastException : problem expected but solution found, for the geeks.) In other words what do we want? "Templates!" uge ugem, In other what do we want to achieve? and why is solution x the way to go? Some might yell that here problem x is selfevident and that it's self evident what the solution would be. Perhaps but it's better to avoid guessing and to reflect. 90% of all conflicts are because of communication errors or rather the lack of communication.

Communication is like (unit) tests it might go fine without them or ....yeah....

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org