Modularity Finally Approved For Java 9 (infoworld.com)
An anonymous reader quotes InfoWorld:With a new round of voting completed this week, the Java Community Process Executive Committee passed by a 24-0 vote the Java Platform Module System public review ballot, the subject of Java Specification Request 376. In May, the same group, citing concerns over the plan being disruptive and lacking consensus, voted the measure down, 13 to 10... Red Hat, which voted no on the previous ballot but abstained from the latest one, said there were still several items in the current proposal that it wanted further work on. "However, we do not want to delay the Java 9 release," Red Hat said. Getting "real world" feedback on the modularity system will be key to determine where further changes need to occur, Red Hat said. The Eclipse Foundation, Hazelcast, and Twitter, all of which voted no previously and yes this time around, cited sufficient progress with modularity.
Java 9 is still slated for release on September 21st.
Java 9 is still slated for release on September 21st.
or is that spelt differently?
Go and learn C/C++ or C# if you wanna live. Java is dead.
Definitely proves that Java is "design by committee" considering there were 24 votes. No wonder it is such a disaster.
I am a professional programmer but I don't work with java, so I was confused about what, exactly, "modularity" means in this context. I clicked through a few links and found the info and figured I'd share here for anyone else in my position.
Java, as it stands, has no real mechanism for managing program dependencies (think, dynamic link libraries). Either a JAR file embeds all of the classes it uses or it loads external classes using something called the "class path system", where there is a programmatically accessible path where java code can look for class files to link in at runtime. This system is very simple, and lacks built-in versioning or encapsulation features. It's up to developers to build in their own versioning into the file structure. As you could guess, it's generally very brittle.
The new system replaces that with a concept of "modules". These are collections of classes with strong names, cryptographic signatures, version numbers, and members that are either public and advertised to code the imports the module, or private and for internal module use only. This is a huge step up from the idea of just going and loading class files out of some path. I'm actually astonished Java made it this far without such a feature!
You can find more info about the new module system here: http://openjdk.java.net/projec...
Casey Neistat has a video that defined success as people wanting to be like you. I'm not surprise that someone keeps posting as me on Slashdot. It's not like they have anything better to do with their life.
https://www.youtube.com/watch?v=3iQ8BGw13So
That's my biggest concern with java.
Problem: you think people mocking you makes them want to *be* like you.
Do you think Alec Baldwin wants to be Donald Trump?
NO ONE wants to be like you.
We haven't written anything new in Java in several years, and if it weren't for legacy products that need ongoing support, we would abandon it altogether.
Could they be talking about something like COM and ActiveX? COM and ActiveX modules are nothing more than DLLs, but they are registered into the Registry and have versioning and All That Jazz. There is something called the Global Assembly Cache (GAC -- is this a Klingon delicacy?) in the .NET universe doing the same thing?
By that reasoning and way of bending the English language to their will, LD_LIBRARY_PATH is not a "modularity system" for loading a DLL whereas finding a COM or ActiveX module through its GUID is such a thing?
For all the shade thrown on Microsoft and Windows and especially the Registry, there is a certain brittleness to requiring PATH be set to find your DLL module and a certain robustness to doing regsvr32 MyModule.ocx and then being able to load MyModule by supplying its global identifier? Whether or not people believe the COM/ActiveX way is better; I am trying to say it is different from simply having MyModule.dll on the PATH, and I am asking this is the correct interpretation of what Java 9 is trying to do?
And if COM/ActiveX registration is what Java 9 is trying to do, then there are indeed other systems on the planet with this feature, namely Windows API/Visual C++ / Windows .NET/C#? Not that there is anything wrong with that!
https://youtu.be/waboaNriaVQ?t...
Do you think Alec Baldwin wants to be Donald Trump?
Alec Baldwin is doing a job. My adoring fans have nothing better to do with their life. :/
Oracle will sue you.
Trust me, the 5 minutes a day I spend tracking your nonsense pays back with amusement, bemusement, and basic happiness that I'm not you!
Trust me, the 5 minutes a day I spend tracking your nonsense pays back with amusement, bemusement, and basic happiness that I'm not you!
You spend five minutes. I'm not sure about the others.
Apparently that has been done a bit, but I personally would love to see full support, proper support, for unsigned values in data types if it hasn't been done already.
If you believe in privacy, and believe you have "nothing to hide" at the same time, you're a goddammed idiot
How I spend my time is my own personal concern.
How you spend your time is your free-will choice.
Whether comments are meritorious is the domain of Moderation.
Yes, I do not know what "we are actually talking about." That is why I am offering analogies posed as questions. It seems that very few people commenting here "get" what the Java Module System does. How does this make you feel?
It's about time Java was subsumed into System D where it belongs.
It sounds like it's something along the lines of nodejs and npm. But frankly, the wording on anything about leaves the reader wondering, "Doesn't this already exist?"
"Consensus" in science is _always_ a political construct.
You mean unassigned? I so read up on autoboxing.
Autoboxing is the automatic conversion that the Java compiler makes between the primitive types and their corresponding object wrapper classes. For example, converting an int to an Integer, a double to a Double, and so on. If the conversion goes the other way, this is called unboxing.
If you use Integer classes instead of int primitives, you can assign null. But mathematical operations on those classes are still written like primitives.
I mean unsigned - as in, a value that can only be positive, versuses a signed value, which can be positive or negative. For example, an unsigned byte can have values from 0 to 255, whereas a signed byte value goes from -128 to +127
If you believe in privacy, and believe you have "nothing to hide" at the same time, you're a goddammed idiot
char is unsigned, works for me.
Java Language Specification
I guess that is what I was thinking of when I talked about limited unsigned support in Java - it would be nice though if we could have unsigned bytes too, though.
If you believe in privacy, and believe you have "nothing to hide" at the same time, you're a goddammed idiot