Live data from Hacker News

Java 9 with GPU processing, Java 10 will be all-OOP without primitives

javaworld.com

71–80 of 138 posts

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#72
post #17

Earlier quoted context omitted.

In C# primitives are not objects, but they can be boxed into objects. So if you have a class: public class X { public Int32 i; public Int32 j; public Int32 k; } Then it takes 12 bytes + single object overhead (which in MS .NET I believe is two pointers). But if you assign a primitive (e.g. Int32) to an variable of type 'object' then it will be boxed and then require the object overhead. A neat thing about C#/.NET is…

Well, actually, in C# struct instances ARE objects allocated on the stack, instead of the heap. A parallel can be drawn with C++ in which the user of a class decides on declaration/initialization where to store the object (either on the stack, or on the heap). The difference with C++ is that in C# the author of the class decides where instances of it should be stored, so this decision happens when the class is declar…

> Well, actually, in C# struct instances ARE objects allocated on the stack, instead of the heap.

You have it backwards, they're not value types because they're allocated on the stack, structs are allocated on the stack because they're value types.

See Eric Lippert's article "The Stack is an Implementation Detail": http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-s...

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#73
post #63
post #47

Earlier quoted context omitted.

It pretty much depends on industry. Look at mobile, 2007: J2ME, Symbian, Windows Mobile, BlackBerry -> 2012: iOS, Android, Windows Phone. Now look at the web: it was more of a evolution than revolution. What happened at back-end, like server-side functionality of business apps? They didn't really change and probably won't change for a longer period of time. Even stuff like Hadoop for big data or Groovy for DSLs were…

Even on the "evolutionary" web, I don't think anyone in 2007 would have predicted the rise (and now... fall?) of MVC frameworks or the explosion of jQuery, both of which existed and were relatively popular at the time. Likewise the NoSQL rebellion was a surprise. Five years from now, we'll all be using WebGL-based dyanmic UIs. Or will we? I think the point is more that 5+ year planning in the tech industry is simply…

Yes, it is extremely difficult to predict which technologies will win over a 5-10 year period vs their competitors. Eg, predicting that jQuery would appear vs the evolution of some other system (ExtJS?).

On the other hand, predicting what changes will occur to a legacy enterprise system tend to be much easier.

In the overall scope of things, Java hasn't really changed that much over the past five years. I think that some long-range planning of the kinds of changes they are thinking about actually makes sense. The need for closures, reified generic types, and an improved type system is unlikely to change in the next 5-10 years.

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#74
post #3

Wow, how can you seriously plan releases of a programming language out to 2021? That is an eternity in this industry. Even 2015 for JDK 9 seems mighty far off, especially accounting for the usual slippage of release dates with big software projects.

> Wow, how can you seriously plan releases of a programming language out to 2021?

"A plan is useless, but planning is essential" [1]

More true than ever, if you ask me. Sure, you make plans, why wouldn't you? But you also retain the flexibility to adapt the plan as the environment changes. You don't chisel the damn plan into a stack of stone tablets and render it immutable for all time.

I don't see any conflict whatsoever in planning out through 2021. I would say that in doing so, there's an implicit assumption that the plan - especially the farther reaches of it - are subject to change and are based on current best guesses.

[1]: paraphrase of a quote attributed to Dwight Eisenhower, which was probably in turn a paraphrase of another quote. http://en.wikiquote.org/wiki/Dwight_D._Eisenhower

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#75
post #3

Wow, how can you seriously plan releases of a programming language out to 2021? That is an eternity in this industry. Even 2015 for JDK 9 seems mighty far off, especially accounting for the usual slippage of release dates with big software projects.

Java is already 30 years behind the state of the art, so planning 10 years ahead is very easy. Just do what other languages were doing 20 years ago.

(Fuck boxed primitive types. How about generics that weren't designed by drunk retarded monkeys?)

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#76

Earlier quoted context omitted.

No, a class's methods are not instances of java.lang.reflect.Method. The latter is simply a 'reflection', per the package name, of first class JVM construct e.g. a reflection on a method.

would you care to explain why this is not enough? You can pass them around, invoke them, get their properties. The interface may be bad but I'm not sure what is missing.

In the original comment, I was merely addressing the misunderstanding of the GP regarding the reflection packages constructs.

The interface is your basic (irreducible) disconnected/unbound procedure invocation API, with all the positive/warts associated. I agree that in principle, we have enough information in the reflection data structure to allow a (specific) JVM implementation to provide a non-standard 'method object' feature. Consensus, possibly? (Good question, really. C. Nutter is one to hit with that one.)

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#77
post #51
post #45

Earlier quoted context omitted.

I don't think so, Although I agree with you that COBOL is still alive and kicking. That is totally different that being used for awesome projects and by start ups. If Oracle's plan is to keep Java alive as a glue for their DB that strategy would work fine. But it would be a long term disaster in terms of overall innovation, and long term viability for choosing everyday projects.

It's never occurred to me to think of Oracle as being a company concerned with any of those things. It seems totally outside their character, everything they do screams "huge, established customers only".

The current crop of smaller companies and bootstrappers will evolve in to the next generation's "established" companies. No one is starting a company today with COBOL. How many are starting today with Java? Not rhetorical - I know some are - just wondering how this will play out over time...

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#78
post #41
post #25

The presentation declares, "Java is not the new Cobol." It shocks me that a major company like Oracle would be so foolish as to make a statement like this. Stating that something is not is one of the most effective ways to imply that it is and the speaker knows it.

Freud somewhere talks about a primitive tribe where the punishment for saying "The king is not an ass" is the same as for saying "The king is an ass". Edit: I remember reading this years ago and have been unable to track it down. Would love it if somebody did.

I haven't read that before, but I am wondering if that is related to that specific phenomenon, or rather if it's disrespectful to refer to the king, and say "ass" in the same sentence. Do you remember?

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#79
post #41

Earlier quoted context omitted.

Freud somewhere talks about a primitive tribe where the punishment for saying "The king is not an ass" is the same as for saying "The king is an ass". Edit: I remember reading this years ago and have been unable to track it down. Would love it if somebody did.

I haven't read that before, but I am wondering if that is related to that specific phenomenon, or rather if it's disrespectful to refer to the king, and say "ass" in the same sentence. Do you remember?

Yes, the example was to illustrate that the unconscious doesn't process negation the way the conscious mind does. The fact that you said the king is not an ass proves that you had the idea that he is. So I think your alternate interpretation of the principle is not so different from the first. The claim is that negation is a logical/abstract construct that exists at a higher cognitive level not recognized by the (allegedly) more primitive unconscious, which deals in concrete language and images.

Another way to put it is that psychologically, a statement and its negation are not opposites but rather go together. The same idea comes up in hypnosis, where it is said that the unconscious mind drops the "not" and simply receives the images that are given. For the same reason, it's better to say "Remember" than "Don't forget", which is a kind of subliminal invitation to forget. And so on.

Re: Java 9 with GPU processing, Java 10 will be all-OOP without primitives

#80
post #25

The presentation declares, "Java is not the new Cobol." It shocks me that a major company like Oracle would be so foolish as to make a statement like this. Stating that something is not is one of the most effective ways to imply that it is and the speaker knows it.

That's like shouting "Punk's not dead!" as you preen your greying mohawk.
Post reply on HN