Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Java 8 Officially Released

Soulskill posted about 8 months ago | from the gluten-free,-no-trans-fats dept.

Java 302

darthcamaro writes "Oracle today officially released Java 8, nearly two years after Java 7, and after much delay. The new release includes a number of critical new features, including Lambda expressions and the new Nashorn JavaScript engine. Java 8, however, is still missing at least one critical piece that Java developers have been asking for, for years. 'It's a pity that some of the features like Jigsaw were dropped as modularity, runtime dependencies and interoperability are still a huge problem in Java,' James Donelan, vice president of engineering at MuleSoft said. 'In fact this is the one area where I still think Java has a long way to go.'"

Sorry! There are no comments related to the filter you selected.

Does it make Minecraft run faster? (5, Funny)

Anonymous Coward | about 8 months ago | (#46520137)

Probably the most important question in the mind of the general public.

Re:Does it make Minecraft run faster? (0)

Anonymous Coward | about 8 months ago | (#46520377)

No joke. Minecraft is the one and only reason I have Java installed on my PC at all. I find it quite annoying that such a popular and fun game to play is made to run on such a poor platform for gaming. The one thing they need to do is make Java run multi-threaded, so that it can actually take advantage of more than 1/4 or 1/8 the processing power of gaming PCs. Oracle should not ignore it's Minecraft userbase.

Re:Does it make Minecraft run faster? (-1)

Anonymous Coward | about 8 months ago | (#46520539)

Excellent, excellent troll.

Re:Does it make Minecraft run faster? (4, Funny)

viperidaenz (2515578) | about 8 months ago | (#46520809)

java.lang.Thread

Re:Does it make Minecraft run faster? (0)

Anonymous Coward | about 8 months ago | (#46520867)

If you're really not trolling, then quit using the 32 bit version and go get the 64 bit one.
Protip- you'll have to work a little bit because Oracle's site doesn't like to show you the download to the 64bit if you're using a 32bit browser.

Re: Does it make Minecraft run faster? (0)

Anonymous Coward | about 8 months ago | (#46521093)

Java has supported parallel execution threads for ages. If minecraft isn't coded to use them, blame Mojang.

Re:Does it make Minecraft run faster? (2)

iced_773 (857608) | about 8 months ago | (#46520429)

The answer is probably no. Java isn't terribly inefficient itself, it's the people who write things for it. Minecraft mods in particular tend to be fairly heavy on memory leaks.

A Javascript Engine in the JVM!? (4, Funny)

Stormy Dragon (800799) | about 8 months ago | (#46520145)

Crap, I already have a hard enough time getting non-programmers to understand that Java and JavaScript aren't the same thing.

Re:A Javascript Engine in the JVM!? (5, Funny)

Anonymous Coward | about 8 months ago | (#46520207)

Same for me, but it was with programmers.

Re:A Javascript Engine in the JVM!? (0)

DMUTPeregrine (612791) | about 8 months ago | (#46520215)

Java and "Mocha Java" are both coffees, and both use beans from the island of Java, but are very different drinks. Java and Javascript are both programming languages, and both were originally created by Sun Microsystems, but they're very different languages.

Re:A Javascript Engine in the JVM!? (5, Informative)

gutnor (872759) | about 8 months ago | (#46520303)

Javascript was originated at Netscape. Nothing to do with java at all except some desire by Netscape to ride the java wave of that time: http://en.wikipedia.org/wiki/J... [wikipedia.org]

Re:A Javascript Engine in the JVM!? (2)

gnupun (752725) | about 8 months ago | (#46520697)

The Netscape folks did license the use of the "Java" brand name from Sun:

The change of name from LiveScript to JavaScript roughly coincided with Netscape adding support for Java technology in its Netscape Navigator web browser. The final choice of name caused confusion, giving the impression that the language was a spin-off of the Java programming language, and the choice has been characterized by many as a marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new web-programming language.

http://stackoverflow.com/quest... [stackoverflow.com]

Re:A Javascript Engine in the JVM!? (0)

Anonymous Coward | about 8 months ago | (#46520315)

JavaScript was created by Netscape, the initial browser company.

Re:A Javascript Engine in the JVM!? (2)

Wolfgang Groiss (2890235) | about 8 months ago | (#46520339)

Wasn't JavaScript actually created by Netscape and not by Sun?

Re:A Javascript Engine in the JVM!? (1)

ZombieBraintrust (1685608) | about 8 months ago | (#46520295)

Why would you need to do that? What could they possibly do with such trivia?

Re:A Javascript Engine in the JVM!? (1)

Stormy Dragon (800799) | about 8 months ago | (#46521177)

Stop assigning people well versed in one to programming projects written in the other, hopefully.

Re:A Javascript Engine in the JVM!? (1)

ackthpt (218170) | about 8 months ago | (#46520335)

Just refer to it as The Down Side of the Schwartz.

Re:A Javascript Engine in the JVM!? (5, Funny)

fahrbot-bot (874524) | about 8 months ago | (#46520367)

Crap, I already have a hard enough time getting non-programmers to understand that Java and JavaScript aren't the same thing.

Javascript is just Java written in cursive - duh.

Re:A Javascript Engine in the JVM!? (0)

Anonymous Coward | about 8 months ago | (#46520891)

Crap, I already have a hard enough time getting non-programmers to understand that Java and JavaScript aren't the same thing.

  Javascript is just Java written in cursive - duh.

If you'd ever seen source code written by the original Netscape, you'd be cursing too.

Some of the crappiest shiite anyone ever paid billions of dollars for.

Too bad I signed an NDA and can't tell you what code I'm talking about, but it was a turd through and through.

Re:A Javascript Engine in the JVM!? (-1)

Anonymous Coward | about 8 months ago | (#46520445)

Pfffff. Try explaining to someone that uses Java that they are essentially installing spyware for the NSA.

Re:A Javascript Engine in the JVM!? (3, Informative)

pjt33 (739471) | about 8 months ago | (#46520487)

"New" is an important qualifier in the summary, because Java has had a Javascript engine since version 6, which included Rhino.

Re:A Javascript Engine in the JVM!? (0)

Anonymous Coward | about 8 months ago | (#46520727)

You're a bit late to that realization...the JDK has shipped with a modified version of Rhino since 2006. Rhino is the Mozilla JavaScript implementation written in Java. The new JavaScript engine, Nashorn, is just a faster, more compliant implementation that takes advantage of a number of JVM features like INVOKEDYNAMIC.

Having JavaScript in the JDK is nothing new.

Re:A Javascript Engine in the JVM!? (2)

viperidaenz (2515578) | about 8 months ago | (#46520827)

They've had one for nearly a decade. Rhino has just been replaced by a new one that takes advantage of a new JVM instruction.

As a beginning Java programmer... (1)

Anonymous Coward | about 8 months ago | (#46520157)

Is this something everyone should install? How does compatibility work with existing Java 7 projects?

Re:As a beginning Java programmer... (1)

cowwoc2001 (976892) | about 8 months ago | (#46520193)

Yes. I would recommend starting your development with Java 8. Any compatibility problems you run into will likely go away within the month as more libraries add Java 8 support. Most of them already work fine out of the box. Some of them depend on bytecode internals (e.g. the ASM library) so it'll take them a bit longer to run properly under Java 8.

Re:As a beginning Java programmer... (4, Interesting)

Anrego (830717) | about 8 months ago | (#46520415)

Yeah, go for it.

It's rare to see stuff break recently between even major versions of java (with some notable exceptions). Usually when it does, it's the result of people (inevitably the makers of 3rd party libraries you are forced to use) doing stupid shit (often times using stuff that's been deprecated since like java 3).

Re:As a beginning Java programmer... (0)

Anonymous Coward | about 8 months ago | (#46520779)

It's a maintenance fix for the original Java. I'd recommend switching to the Java SE branch when you can.

Damnit (1, Troll)

Stargoat (658863) | about 8 months ago | (#46520165)

Great. A new version of Java. Many of my vendors do not support 7u51. Now we got 8. When I hear someone propose a Java solution, I reach for my firewall.

Re:Damnit (0, Informative)

Anonymous Coward | about 8 months ago | (#46520309)

What the fuck are you going on about? Java 8 supports all the previous versions without a problem. Same for Java 7, and all the others before it. If you write code that breaks because of backwards compatibility issues, you're a retard.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520453)

Try living in the real world for a change.
"Write once, run anywhere" is a complete and utter joke.

For a "Hello World" program it just might and even then I'm not to sure.

For real world software. Not a chance.

Re:Damnit (4, Insightful)

RobertM1968 (951074) | about 8 months ago | (#46520505)

What the fuck are you going on about? Java 8 supports all the previous versions without a problem. Same for Java 7, and all the others before it. If you write code that breaks because of backwards compatibility issues, you're a retard.

No, they most definitely do NOT. We inherited an infrastructure (from a company we bought) that relies heavily on Java 1.4.2 and Java 1.5 (both on the server end and on the client end). Many of the (entirely internal) apps and servlets will not run in Java 6, much less Java 7. Believe me, we've tried. Too much deprecated stuff (not to mention security keys from Sun that haven't been changed in over half a decade).

We've got a two year long project going on to upgrade everything - but because so many libraries are shared (including *SUN* libraries that don't work in Java 6/7) across hundreds of projects, it's going to be an upgrade nightmare. In total, we have GIGABYTES of code, spread across a pretty large infrastructure (comprised of over a hundred servers and 5 racks of SAN).

Of course, our plans are to ensure that all code is up to snuff so we never run into this again - but we had no choice in this matter, since we neither wrote nor planned the original code bases. But what WE do going forward doesn't resolve what we have to do in order to move forward.

Perhaps you simply haven't done any real Java coding on an Enterprise level? If you had, you'd never had made such a post.

Re: Damnit (2)

clerum (1977730) | about 8 months ago | (#46520563)

That is likely going to be an issue for any large neglected code base regardless of language.

Re: Damnit (1)

geekoid (135745) | about 8 months ago | (#46520707)

True, but I don't consider Java Neglected code, It poorly maintained and tested.
The whole point of Java is so you can upgrade the interpreter and not need to recompile or rewrite all your code.
That;'s it's selling point.
At this rate, we might as well go back to writing websites in C.

You heard me.

Re: Damnit (2, Insightful)

Anonymous Coward | about 8 months ago | (#46520973)

No the selling point is that you move your code to any hardware platform that has an interpreter and not need to rewrite any code. Switching between supported Java versions isn't part of that.

Re:Damnit (2)

dshk (838175) | about 8 months ago | (#46520589)

I am working on a 80 000 lines long Java web application in the last 15 years. I have upgraded through 5 major versions, from Java 1.1 to 1.2 to 1.3 to 1.4 to 5 to 6. I do not remember a single issue related to any of these upgrades. There vere about 2 minor issues when we migrated from Unix to Windows to Linux (related to the case sensitivity of the file system).

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520759)

When he talks about deprecated stuff he likely means internal stuff that nobody should ever touch unless they provide a fall back changing. Or he refers to brain dead developers hard coding existing JVM vendors and the resulting breakage once ORACLE bought Sun - afaik that hit even eclipse.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520841)

I see you stopped short of upgrading from 6 to 7. That was the one where any code that imported com.sun... packages broke. A lot of older Java apps had that dependency.

Re: Damnit (0)

Anonymous Coward | about 8 months ago | (#46520607)

What the hell are they doing with gigabytes of code? I think you just exceeded all of the open source repositories in the world...

Re:Damnit (1)

thesandbender (911391) | about 8 months ago | (#46520725)

And don't forget about bugs with Java itself. We spent about half a day trying to figure out why an application that had been functioning until a Java upgrade stopped talking to the MS-SQL server it used, until we stumbled across JDK-7103725 [java.com] . We had to rollback until it was fixed (which actually took a few builds). There is a tiny bit of truth to the "Write once, break everywhere." troll.

You evidently don't have any idea what you're sayi (0)

Anonymous Coward | about 8 months ago | (#46520775)

Why don't you mention 5 of these so many libraries in your hundreds of projects that are backwards incompatible? In my 11 years of using Java I have never ever heard of this issue, so maybe I learn something! The problem is always the opposite, code compiled on newer compilers can't run on older JVMs, not the opposite! Backward compatibility has always been guaranteed in Java and issues are very rare. So its either your vendors are sucking money out of you with some imaginary two year project, or you are just talking out of your behind.

Why don't you share with us your problem and your 'gigabytes' of code? (If you really have something of that sort its probably written by a bunch of retards who just copy and paste code anyway... I wonder what is this magical enterprise level software of yours which needs to be so bloated).

Re:You evidently don't have any idea what you're s (1)

ClintJCL (264898) | about 8 months ago | (#46521153)

B.S. ... I downloaded Slime Volleyball and set it up on my own webserver. 1 java upgrade later, it wouldn't work right. Explain. (This was 2001.)

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520923)

but because so many libraries are shared (including *SUN* libraries that don't work in Java 6/7)

Um, are you talking about the sun internal packages(com.sun.whatever)? The internal packages that when used will generate a compiler warning? If so then yeah, it' no wonder you cannot move forward. Backwards compatibility usually only covers cases where the original coders stuck to the guidelines that were in place when the original code was written. Backwards compatibility usually does not, and should not cover programs that willfully violate those guidelines. The compiler generates warnings for a reason.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520991)

com.sun.whatever isn't part of the core Java. Those packages are extra Java libraries Sun decided to shop along with their implementation of Java. If you have problems with them, you're having library problems not problems with the Java language itself.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520953)

What the fuck are you going on about? Java 8 supports all the previous versions without a problem. Same for Java 7, and all the others before it. If you write code that breaks because of backwards compatibility issues, you're a retard.

Not when the vendor changes default settings in the middle of a release and breaks your applications. The changes in Java v7 u45 were indeed for the better, however, common sense says you do NOT make changes to default settings in the middle of a release. You wait for the next major release to introduce changes in default settings.

Nevermind, this is Oracle we are talking about. Carry on.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46521187)

What the fuck are you going on about? Java 8 supports all the previous versions without a problem. Same for Java 7, and all the others before it. If you write code that breaks because of backwards compatibility issues, you're a retard.

No, they most definitely do NOT. We inherited an infrastructure (from a company we bought) that relies heavily on Java 1.4.2 and Java 1.5 (both on the server end and on the client end). Many of the (entirely internal) apps and servlets will not run in Java 6, much less Java 7. Believe me, we've tried. Too much deprecated stuff (not to mention security keys from Sun that haven't been changed in over half a decade).

We've got a two year long project going on to upgrade everything - but because so many libraries are shared (including *SUN* libraries that don't work in Java 6/7) across hundreds of projects, it's going to be an upgrade nightmare. In total, we have GIGABYTES of code, spread across a pretty large infrastructure (comprised of over a hundred servers and 5 racks of SAN).

Of course, our plans are to ensure that all code is up to snuff so we never run into this again - but we had no choice in this matter, since we neither wrote nor planned the original code bases. But what WE do going forward doesn't resolve what we have to do in order to move forward.

Perhaps you simply haven't done any real Java coding on an Enterprise level? If you had, you'd never had made such a post.

... Is there a fifteen year old runtine environment that upgrading today WOULDN'T give you headaches?

Re:Damnit (4, Insightful)

Anrego (830717) | about 8 months ago | (#46520541)

Meanwhile in the real world:

-people use methods that have been deprecated since java3 (including 3'rd party vendors that you have to deal with)
-massive (and expensive) libraries are used years after they stopped being maintained/supported
-new versions do break old functionality by adding new behavior (often around security)
-reasonable mistakes/oversights where new situations are introduced and not accounted for in code (statuses are reported differently / new things added to enums / etc)

Re:Damnit (5, Insightful)

mythosaz (572040) | about 8 months ago | (#46521065)

-new versions do break old functionality by adding new behavior (often around security)

Multiple programs each requiring unique versions of Java (and each only looking at the default Java on the system) coexisting on the same machine used to be my biggest nightmare.

Now though, it's security. Oh, I'm sorry. Did the vendor sign their .jar files in a way that makes 7_fourtywhatever not shit out dialog boxes? Oh they didn't? Did Sun include simple registry values to fix this? No. They moved to a crazy collection of files in %appdata%? Oh, that should be fun.

Do you want to run this code?
Are you absolutely sure you want to run this code?
No, you can't run it anyway, because your security settings are wrong.
Would you like to change your settings now?
No, you can't. You need to change obscure settings.

Fuck you, Sun. Right in the goat ass.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520577)

Have you ever actually worked as a software developer?

Your university projects may be all neat and tidy, but real code sure as hell isn't, and re-writing all the incompatible shit isn't exactly a weekend project.

Re:Damnit (0)

Anonymous Coward | about 8 months ago | (#46520599)

ahhh yes another fool whose experience in the real world with Java doesn't go beyond reading the marketing speak. In the real world many tools and Java based products are dependent on previous versions. Java is NOT 100% backwards compatible at all for anything but the most basic of shit.

Re:Damnit (3, Interesting)

tompaulco (629533) | about 8 months ago | (#46520637)

So I guess the open source community is a retard.
Where I work, we are still on Java 6 because certain Open Source projects upon which we depend do not work in Java 7. Now, it being Open Source, I suppose we could go in and fix that, but then what is the point of standing on the shoulders of giants if you have to build the giant?

Why don't you mention them? (0)

Anonymous Coward | about 8 months ago | (#46520851)

You need to state the open source projects you are referring to, if your argument is real.
The only reason for something like that to happen is if the code is not pure Java but has some kind of native concoction of things, which is outside of the JVM control.
If it is a pure Java project you should have no issue whatsoever.

What open source projects are they? (0)

Anonymous Coward | about 8 months ago | (#46520975)

Why don't you mention them so that we understand. This sounds highly unlikely.

whohoo! Swiss cheese! (3, Insightful)

nurb432 (527695) | about 8 months ago | (#46520173)

Just what we need, yet another version to fight with and worry about..

Re:whohoo! Swiss cheese! (1)

ebonum (830686) | about 8 months ago | (#46520449)

But Java now has "critical new features, including Lambda expressions". Java really didn't work without Lambda expressions. Now I can FINALLY get a Java "hello world" to compile and run! Yippee.

(ok, so Lambda expressions are cool, but are they critical?)

Re:whohoo! Swiss cheese! (1)

Threni (635302) | about 8 months ago | (#46520569)

So, you've not used LINQ on .net yet?

Re:whohoo! Swiss cheese! (1)

fsterman (519061) | about 8 months ago | (#46520695)

ok, so Lambda expressions are cool, but are they critical?

Yes.

They allow you to distribute a job without doing all of threads and callbacks by yourself. Even if you ignore the electron wall Moore's law is hitting, "cloud" computing is all about doing many small computations simultaneously.

Re:whohoo! Swiss cheese! (1)

viperidaenz (2515578) | about 8 months ago | (#46520871)

The ExecutorService from Java 5 does that. Lambda expressions are a fancy way to write anonymous inner classes.

Fanboy Glee (1)

allcoolnameswheretak (1102727) | about 8 months ago | (#46520189)

Yaaaaaaay! :D :D :D
More coding shinies!

Re:Fanboy Glee (5, Insightful)

vux984 (928602) | about 8 months ago | (#46520195)

And another round of everyone getting ask.com toolbars.

Boooo.

Re:Fanboy Glee (4, Insightful)

allcoolnameswheretak (1102727) | about 8 months ago | (#46520223)

Yeah, that actually sucks some serious monkey balls right there. It doesn't make any sense at all for Oracle to do such a thing with something as important as the Java platform.

There has been a petition [change.org] to remove this "feature" for some time now, but despite the millions of Java developers, it never took off.

Re:Fanboy Glee (1)

rmdingler (1955220) | about 8 months ago | (#46520275)

You know, like telemarketing, they wouldn't keep pushing that crap if people weren't still falling for it.

I see people's home computers covered with that Ask toll (yep) bar all the time.

Regulars here are familiar with Dunning-Kruger, but there exists a polar opposite condition thus far unnamed: when you're a winner at the cerebrally capable sweepstakes, you infer intelligence by others that may not exist. What should we call it?

Re:Fanboy Glee (0)

Anonymous Coward | about 8 months ago | (#46520323)

>when you're a winner at the cerebrally capable sweepstakes, you infer intelligence by others that may not exist
Positive projection?

Re:Fanboy Glee (-1, Flamebait)

geekoid (135745) | about 8 months ago | (#46520731)

Why do you assume you are any smarter?
Let's deal with that first, shall we?

So, what's the impact of adding 4 centimeter wiring to a to the angle of attack indicator in a DC 10, assuming it's using expect frequencies?

Don't know that thing I happen to know? well, clearly you are stupid and I am smart!

Re:Fanboy Glee (2)

rmdingler (1955220) | about 8 months ago | (#46520883)

I'm not sure I like your tone.

Re:Fanboy Glee (1)

Anonymous Coward | about 8 months ago | (#46520287)

Always hit up http://java.oracle.com/ and get the developer-intended versions rather than java.com - no Ask toolbar crap. Yet.

Re:Fanboy Glee (1)

Dster76 (877693) | about 8 months ago | (#46520679)

I wonder why Oracle's own page describing the Ask.com toolbar doesn't describe a single benefit -- that is, unless the end user already thinks that "[searching] the Web using the Ask.com search engine directly from the browser" is a benefit.

https://www.java.com/en/downlo... [java.com]

Jit also comes with NSA goodies (0, Interesting)

Anonymous Coward | about 8 months ago | (#46520213)

Customers beware. Oracle doesn't value your privacy. Virtually Guaranteed Oracle slip in "extras" on NSA demand during updates.

Here's CEO Larry Ellison himself trying to once again downplay the NSA spying (which he's done on many occasions.. i.e. he's in bed with them)
http://www.reuters.com/article/2014/01/30/us-oracle-nsa-idUSBREA0T05U20140130

Re:Jit also comes with NSA goodies (0)

Anonymous Coward | about 8 months ago | (#46520311)

Customers beware. Oracle doesn't value your privacy. Virtually Guaranteed Oracle slip in "extras" on NSA demand during updates.

Here's CEO Larry Ellison himself trying to once again downplay the NSA spying (which he's done on many occasions.. i.e. he's in bed with them)
http://www.reuters.com/article/2014/01/30/us-oracle-nsa-idUSBREA0T05U20140130

Of course Ellison... that founded Oracle by selling database software to the CIA... cares about protecting their customer's privacy.. Clearly if I someone wanted to protect their data from CIA and NSA snooping their first thought would be to use Oracle software. No conflict of interesting going on there.

~ Revenge of the Tin Foil Hatters

Jigsaw (0)

Anonymous Coward | about 8 months ago | (#46520217)

The whole jigsaw thing has a very EJB feel to it. If they ever roll it out, I suspect it'll see a bit of initial usage, then eventually people will decide that it's more of a pain than it's worth and just go back to what we're currently doing.

I've done the java thing for awhile (and not tiny projects either) and have never run into any of the problems that jigsaw would fix. Even using all kinds of weird proprietary 3'rd party libs, I've yet to run into a situation where 2 libraries depend on incompatible versions of the same library. As for managing it all, ivy and/or maven have worked well for me.

Re:Jigsaw (1)

allcoolnameswheretak (1102727) | about 8 months ago | (#46520283)

One of the nicest things about Jigsaw is being able to pick and package only those parts of Java that you need, potentially making your app considerably smaller, faster to load and consuming less memory, also thanks to the overdue housekeeping of breaking ancient, useless dependencies in the JRE apart.

Re:Jigsaw (1)

benjfowler (239527) | about 8 months ago | (#46520419)

I wouldn't say EJB...

More like OSGi. Anybody familiar with writing Eclipse plugins will understand the benefits. And no, it' s nothing like writing EJBs.

Are you kidding!? (0)

Anonymous Coward | about 8 months ago | (#46521029)

Almost any time I installed a new jar into an existing project, I had jar conflicts. It happens constantly. especially with log4j and xerxces.

Modularity (3, Interesting)

should_be_linear (779431) | about 8 months ago | (#46520235)

Person that says "runtime dependencies and interoperability are still a huge problem in Java" clearly never used C/C++ on multiple platforms.

Re:Modularity (2)

cbhacking (979169) | about 8 months ago | (#46520581)

C/C++ across multiple runtimes on *one* platform are relatively easy, though. Not so with Java. Trying to find a common version of Java that works on any three given enterprise apps can be a real pain in the ass, and I can guarantee you it's not going to be recent or up to date on security patches.

Re:Modularity (3, Interesting)

VortexCortex (1117377) | about 8 months ago | (#46521163)

Meh, I wrote my own replacement for freeglut3 in a weekend. It's not hard to have a platform abstraction layer, and many already exist (I just needed my own lightweight one for my games). Since I started out with cross platform toolchain, I have no issue writing code that runs on multiple platforms.

This is how I port my code written on Linux into Windows, Mac, or BSD: git pull && make

Not that is is exactly the same as when I use Java, except I get a native application without Java's huge runtime dependencies. Look, Java is now essentially the proprietary option for when you don't want to give away source code. If you have the source code, then the program is cross platform. And if I don't want to distribute sources? Providing binaries for every current modern chipset including ARM and MIPS takes me about 30 minutes total to build with my cross compilers. Yeah, users still have to pick which binary to install, but it's actually less of a headache due to browser user agent string detection -- Less of a PITA than bundling a JRE or displaying, "You don't have (the right version of) Java, download and install Java from [here] before you download and this program."

Oh, the kitchen sink isn't a big deal? Yeah right, that's why Oracle is now relaxing on the requirements for "compliant" JVMs so they can drop a bunch of shit no one needs and still call themselves Java. Also, with native code you get a smaller attack surface. You see, the cost of cross platform capabilities is just deferred to elsewhere with Java.

Don't get me wrong, I like Java and still use it. It's the right tool for some jobs. However, saying that cross platform C/C++ is more of a headache than Java is ridiculous. They're all "write once, debug everywhere" options. Enterprise software is even falling out of love with Java given that hardware supports native virtualization now.

Lambdas could be interesting (1)

msobkow (48369) | about 8 months ago | (#46520237)

Lambdas could be interesting for some GUI coding I have to do in the near future. I look forward to exploring them, but had no interest in playing with the betas.

Re:Lambdas could be interesting (1)

Laxori666 (748529) | about 8 months ago | (#46520321)

Yes, finally Java added features that other languages have had for years and years.

Re:Lambdas could be interesting (0)

Anonymous Coward | about 8 months ago | (#46520405)

If you want your data free of backdoors, I would stay far away as possible from java (Ellison started his business selling software to CIA and is a long time apologist for the NSA). Even Windows is highly questionable given Gates muted stance on NSA spying. Essentially what it boils down to is listening to management's position on NSA spying to figure out where the backdoors.

IBM, Google, and Cisco seem to be the main ones that are fed up with the national security letters to cover up wholesale spying (in violation of the Constitution I would add).I think others will follow when they start losing billions in international sales because of their lame support for the draconian NSA and GCHQ spying

Re:Lambdas could be interesting (1)

benjfowler (239527) | about 8 months ago | (#46520425)

Lambdas in Java is a massive development. For most developers, it'll absolutely slash the amount of boilerplate they need to crank out.

They're also an incredibly powerful and expressive construct in their own right.

Re:Lambdas could be interesting (1)

timeOday (582209) | about 8 months ago | (#46520643)

I don't agree with 'massive.'  It will be more terse, compared to anonymous overrides which are currently used for that.

Basically the second line of code below is junk that could be removed, right?

button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
               System.err.println("Button pressed");
            }});

Jit also comes with NSA goodies (-1)

Anonymous Coward | about 8 months ago | (#46520257)

Customers beware. Oracle doesn't value its users privacy.

Here is CEO Larry Ellison once again downplaying NSA spying (which he's done many times... i.e. he's in bed with them)
http://www.reuters.com/article/2014/01/30/us-oracle-nsa-idUSBREA0T05U20140130

It's Official (1)

AlphaBro (2809233) | about 8 months ago | (#46520265)

More vulnerabilities to sell. Thanks, Oracle.

Criticality of JigSaw (2)

Anrego (830717) | about 8 months ago | (#46520305)

It seems like a good idea and all, but I wouldn't consider this a critical must have feature.

My (on the spot off the top of my head) wishlist:
- swing that doesn't suck (seriously, how has this not yet been fixed)
- file choosers that don't suck (yes I already said swing, but file choosers just stand out as being particularly bad
- some standard command line argument processing
- unsigned types
- multiple inheritance (yes I know, old argument, but I want it damnit!)

Re:Criticality of JigSaw (2)

gtall (79522) | about 8 months ago | (#46520359)

Swing that doesn't suck? There's no way Oracle understands even as much as Sun about GUIs, and that's scraping the bottom of the barrel.

Re:Criticality of JigSaw (1)

benjfowler (239527) | about 8 months ago | (#46520439)

For the vast majority of 9-to-5 developers, there's no way to make Swing not suck.

Because it simply takes a very high clue level to build good GUIs, period. Swing is nothing special; you can write shit GUIs using AngularJS, Vaadin, SWT _or_ Swing.

Re:Criticality of JigSaw (1)

pjt33 (739471) | about 8 months ago | (#46520519)

Java 8 sort-of has unsigned types [oracle.com] .

Re:Criticality of JigSaw (1)

Anrego (830717) | about 8 months ago | (#46520555)

Hmm, I haven't noticed that.

Definitely a step in the right direction, and certainly useful to anyone who has to deal with networking :)

Re:Criticality of JigSaw (1)

cbhacking (979169) | about 8 months ago | (#46520651)

... ugh. As they say, it beats casting to larger types all the time, especially with the performance hit of the Big* types, but it's still not as good as just giving us some damn uints.

Re:Criticality of JigSaw (0)

Anonymous Coward | about 8 months ago | (#46520605)

Java 8 have a new, weak, version of Multiple Inheritance using Default Methods. http://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

These are methods that can be put in to an Interface. So now interfaces are not just abstract method signatures, but also actual implementations. What they can not have, however, is any actual state, those have to be defined in the class implementing the interface.

Re:Criticality of JigSaw (1)

IamTheRealMike (537420) | about 8 months ago | (#46520631)

Swing has been replaced with JavaFX, which is a very modern and rather slick UI framework. It's got a very nice skin, can be styled with CSS, is rendered via OpenGL or Direct3D with all the attendant features that provides, has a full blown animation and effects framework, a good visual designer (no longer left up to IDE makers), uses native file choosers, and can reliably hit 60 frames per second. Also the API is very clean and so far I found it a joy to work with.

The downside? Of course, Java 8 is huge and bundling it makes your apps have a big download. Boo. JWrapper looks like a good way to make stripped down cross platform native installers though, but I didn't get a chance to try it yet.

Multiple inheritance is a feature nearly no modern language has, but Java 8 does support mixins which are how most languages provide similar functionality (interface method definitions can now have bodies).

Re:Criticality of JigSaw (1)

hibiki_r (649814) | about 8 months ago | (#46521105)

JavaFX is still rather component poor, just like Swing was. It's ultimately Swing's biggest problem IMO: To do anything even mildly interesting, you have to build your own components, or do major extensions on the base ones. How much pain have people inflicted on themselves extending JTable? And no mention of the layout manager mess, only solved by third parties, back when Swing was already considered semi-dead: I'd trade every single layout option built into JavaFX for MigLayout.

Re:Criticality of JigSaw (0)

Anonymous Coward | about 8 months ago | (#46520713)

While reading on multiple inheritance [wikipedia.org] on Wikipedia, I noticed the following:

Java 8 introduces default methods on interfaces. If A,B,C are interfaces, B,C can each provide a different implementation to an abstract method of A, causing the diamond problem. Either class D must reimplement the method (the body of which can simply forward the call to one of the super implementations), or the ambiguity will be rejected as a compile error.

This sounds like a form of multiple inheritance, and sounds like a somewhat intuitive addition instead of changing fundamental functionality. Of course you need to get the variables from getters instead of accessing them directly, but that shouldn't be too much of a problem.

No properties (1)

SumDog (466607) | about 8 months ago | (#46520397)

...and still no properties. Seriously? getBlah()? setBlah()? I'm so glad I switched to Scala for newer development and that I even convicned my company to let us do more Scala development. The devs who are using Scala like it better and seem generally happier.

Java 8 == Absolutely none of the features we wanted and a lot of stuff I could care less about.

Re:No properties (1)

Ksevio (865461) | about 8 months ago | (#46520537)

It's nice to see they've added lamda expressions, but the lack of properties is a serious oversight in Java that should have been added years ago. It's not even a hard concept to add and it fits in just find the OOP model.

Re:No properties (3, Interesting)

cbhacking (979169) | about 8 months ago | (#46520635)

Meh. Explicit getters and setters are annoyingly boilerplate-y but properties aren't much better. They let you save a few characters on the API-use side, but not enough that I find them that important. They do cut down on the massive list of "getFoo, getBar, getBaz, setFoo, setBaz" functions which are divided in your IDE by a bunch of other APIs (oh look, no at-a glance way to tell that Bar is read-only) but that's one of the few good things I have to say about them. They're also annoyingly magic-ish; functions that *look* like simple public members but can have all kinds of side effects and such (yeah, they *shouldn't*, but we already have language semantics for "this operation will invoke a function call" as opposed to "this operation will simply access a member variable" and properties overload the latter to tack on the former.

Re:No properties (1)

iced_773 (857608) | about 8 months ago | (#46520543)

Try Project Lombok [projectlombok.org] . It completely abuses the original intent of annotations, but it does cut out a lot of boilerplate.

6 Years behind .NET? (0)

Anonymous Coward | about 8 months ago | (#46520611)

Cute. Also, pretty sure that we have had Native Interop and runtime dependency binding since 2001. With Mono finally catching up with .NET and Xamarin putting together good tools, I have no reason to ever use Java again (and haven't since Oracle picked it up.)

Bundled Crapware? (1)

germansausage (682057) | about 8 months ago | (#46520743)

Does it still come bundled with Crapware? Why can't Oracle just put a bullet into whoever signed the deal with Ask.com, and start behaving like a big software company again?

Too little, too late (3, Interesting)

shaven_llama (612399) | about 8 months ago | (#46520797)

Programmers that really cared about things like lambda expressions have already moved on to Scala and/or Clojure (and of course, it's not as if lambda expression support is the only thing those languages have going for them over Java). I work on a mixed Java/Scala codebase, and we just finished upgrading from JDK6 to 7. I don't see us tackling an upgrade to JDK8 anytime soon (probably won't be until JDK7 stops getting security patches).

Fire Up the Regression Finder (1)

organgtool (966989) | about 8 months ago | (#46520825)

Now is the perfect time to build out a test server, fire up your applications, and start looking for all of the regressions. File the bug reports early and make sure that all of them are fixed before you even attempt to deploy this to your servers. Lately Oracle has been one of the worst offenders for regressions to the point that it seems like they threaten death to developers who test anything other than the new features.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?