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!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Details of Oracle's JDK 7 and 8 'Plan B'

Soulskill posted more than 3 years ago | from the division-of-labor dept.

Java 204

gkunene writes "Oracle has put Java 7 and 8 features up for Java Community approval, providing a clear indication of what the next two major versions of Java are likely to include. (Java 7 contents, Java 8 contents.) From the article: 'The JDK 7 and 8 JSRs represent Oracle's 'Plan B' approach for separating JDK 7 into two separate releases, splitting up features that were all originally intended for the Java 7 release. This approach is intended to help expedite new Java releases. Among the key components of the original Java 7 plan that are now set for inclusion in Java 8 are the Lambda and Jigsaw efforts. At JavaOne this year, Thomas Kurian, executive vice president, Oracle Product Development, explained that Lambda is all about bringing closures to the Java language. Kurian noted at the time that Lambda is intended to provide a more concise replacement for inner classes, as well as support automatically parallel operations on collections. Jigsaw is all about building modularity into the Java Virtual Machine.'"

cancel ×

204 comments

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

Java Community approval (3, Insightful)

jrumney (197329) | more than 3 years ago | (#34312926)

Is there still a Java Community left to approve this? I thought Oracle had managed to alienate them all over the past 6 months.

Re:Java Community approval (1)

socceroos (1374367) | more than 3 years ago | (#34312948)

My thoughts too.

Is now a bad time to be considering learning Java at UNI?

Re:Java Community approval (2, Interesting)

Anonymous Coward | more than 3 years ago | (#34313208)

The language you'll learn at uni isn't generally to learn the language - the language is used to deliver programming concepts. The language is rather irrelevant - although you'll probably be inclined to find a job that uses the programming language you've learned. Search around and find a different language you like (possibly also OO if you're just starting out) and do your stuff in java for uni, and then try and do it again in the language of your choice.

Java at uni is just the train. But considering your name, and the fact you called it uni and not college, and that you're learning java, I could take a pretty good stab at which uni you're going to ;)

Re:Java Community approval (0, Troll)

countSudoku() (1047544) | more than 3 years ago | (#34313008)

Just the couple of folks still milling around the Oracle offices, the rest of the world is pondering this and Oracle's other missteps... let's face facts, most of the devs you'll ever see are all stuck on Java 4. Newcomers are right to start coding in C, Perl, Python, Assembly, Ruby, Erlang, Go and every other freely available language. Java is being decommissioned and will only be used as a benchmark for how wasteful a particular company is and how much more you can screw them... er, negotiate with them for a much larger salary.

Oh, you use Oracle DB, Solaris, AND Java... $$$^) let me adjust my salary requirements up a few dozen percent! Thank you, One Raging Asshole Called Larry Ellison! Suddenly, I'm charging a SHITLOAD more, while doing nothing more.

If your enterprise depends on Oracle, get ready for paying through the nose again when it's time to hire the Oraclly Inclined.

Re:Java Community approval (3, Interesting)

Anonymous Coward | more than 3 years ago | (#34313306)

It's hilarious how clueless you and most of Slashdot are. At Google, we're actually writing more Java code than ever, and Python is slowly being phased out. Pretty much all of the big companies in the area are consolidated almost entirely on a mixture of C and either Java or .NET. Python and Ruby are basically relegated to simple CRUD web applications where performance doesn't matter and threading is inconsequential. While Java is a pretty bad language, Python and Ruby aren't anywhere near being able to compete with it because all of the usable implementations are terrible. CPython, MRI and YARV are garbage, and it'll take years before they reach an acceptable level of performance and remove the GIL. In fact, once InvokeDynamic is added to the JVM JRuby will be the best Ruby implementation by a pretty big margin...

Re:Java Community approval (0)

Anonymous Coward | more than 3 years ago | (#34313648)

So you are saying, performance driven tech which covers 0.0001% of the world dictates the rest of the world. Not likely in the least.

Realistically java is in trouble and python and ruby continue to grow. That's not saying java is dying, but its at a crossroad for its future in growth and market position.

Re:Java Community approval (1)

Serious Callers Only (1022605) | more than 3 years ago | (#34315242)

At Google, we're actually writing more Java code than ever

So you're consolidating everything on a language managed and (as they see it) owned by a company which is currently suing you for using that language in ways they don't like?

Perhaps not the best strategy, regardless of the technical merits (or not) of Java.

Re:Java Community approval (0)

Anonymous Coward | more than 3 years ago | (#34315264)

The lawsuit isn't the big deal Slashdot makes it out to be and this was being discussed long before Oracle bought Sun.

Re:Java Community approval (1)

bytesex (112972) | more than 3 years ago | (#34313250)

The Java community consists of Oracle (databases), IBM (mainframes) and Apache (tomcat), like it has done for a few years now. You can't alienate the Oracle and IBM people, because they're paid to be loyal (i.e. they're employees at banks and stuff). The only people it alienated, are the tomcat people but then again, they are the only ones that truly benefit from java's one and only killer-feature, and that is that is runs anywhere.

Re:Java Community approval (1)

The End Of Days (1243248) | more than 3 years ago | (#34313284)

One killer feature of Java is that it is extremely amenable to static analysis, and hence tooling. Large team facilitation and automation of various parts of development are two of the major benefits of this.

The other killer feature is the huge library of components available. Much like Perl has CPAN, Java has library support for basically anything you could dream you need.

The platform independence is nice, but in practice that mainly means developers can run their code on Windows workstations and deploy on Unix servers. That accounts for about 75%* of Java use. There are a few uses of Java as a client app, of course, but those are dwarfed by the bespoke corporate server software written in Java.

*I pulled that number from my ass.

Re:Java Community approval (1)

GooberToo (74388) | more than 3 years ago | (#34314416)

There was a study, which was previously reported here, which stated, the vast, vast majority of Java applications never run on any system other than like-systems to which they are developed on and for. So basically, Java's run anyways promise never matters in the real world.

So chances are, if you're developing for a Win system, it will run on a Win system. If you're developing on a Linux/Unix system, chances are it will run on a Linux/Unix system.

Re:Java Community approval (0)

Anonymous Coward | more than 3 years ago | (#34314788)

Although anecdotes aren't data, here's one: I was once on a server project for a telecom vendor. All the devs had the corporate standard Windows machines, but the app itself ran on Linux, and I was in charge of making that happen.

And yes, it took a lot of work and constant email reminders on how to do stuff properly so it would port nicely. The code run well but there were Windowsisms everywhere. Not to mention all the single-machine assumptions (since the app had an app component and a management component and these were deployed on separate machines...)

Re:Java Community approval (1)

prionic6 (858109) | more than 3 years ago | (#34315380)

Java's promise is not that any application runs anywhere, just as C doesn't promise that every program can compile and then run anywhere.

In C, you can build cross platform applications that run on many systems with a recompile.
In Java, you can build cross plattform applications that run on many systems without a recompile.

In both cases, you must be careful to not use system specific features to be truly compatible.

Re:Java Community approval (0)

Anonymous Coward | more than 3 years ago | (#34315574)

Doesn't mean developers don't take advantage of the cross-platform ability between different projects. Employee 1 can use his java expertise at Company A with Windows and also at Company B with MacOSX, Linux, ... for example.

Also, LOTS of companies develop on windows and deploy to linux, so I'm not really buying into your study.

Re:Java Community approval (4, Informative)

gutnor (872759) | more than 3 years ago | (#34313258)

The change was proposed by the community. Sun lack of direction/focus has put enough misery on the release of Java 7 so the choice was to either to split the release in 2 part or release Java Vista some day in the future.

That has been years since the Java community is largely working outside of Sun, now Oracle, guidance. Innovation in the java world happens in third party open source frameworks that are born, mature and even reach legacy level before they make it into the Java JDK. Look at dependency injection, ORM, alternative languages on the JDK, ...

Obviously with a new boss around, especially with one with more teeth than the apathetic Sun, there is some territorial pissing going on between the big players: Apache, JBoss, IBM, ... but the split of the JDK is not such instance.

Re:Java Community approval (1)

node 3 (115640) | more than 3 years ago | (#34313396)

Is there still a Java Community left to approve this? I thought Oracle had managed to alienate them all over the past 6 months.

All the fuss I've seen was more along the lines of various "Java Community" members crying "oh no, Oracle!" and making a fuss rather than Oracle actually doing something worthy of such a response.

Now you get people on Slashdot asking strange questions like whether it's a bad time to learn Java, and someone else freaking out because of the Oracle logo on OpenOffice. It's all rather odd.

Re:Java Community approval (1)

LingNoi (1066278) | more than 3 years ago | (#34314312)

Are you living in a cave or something? There are pretty good reasons for everything you are hand waving away. Even a quick skim of the latest slashdot articles on the subjects would clue you in.

Re:Java Community approval (1)

node 3 (115640) | more than 3 years ago | (#34314880)

It's funny you claim I'm "hand waving" them away, as you are conveniently "hand waving" them into existence. If you had actual examples in mind, it's suspicious that you wouldn't mention at least one or two.

The only thing that even remotely comes to mind is Oracle suing Google for their proprietary Dalvik VM. This seems pretty similar to when Sun sued MS for their proprietary Java VM, so it's not like Oracle is taking things in a turn for the worst with regards to their Sun acquisition.

Really, as far as I can tell, it's all pretty much "oh no! we're afraid of what Oracle might do!" and nothing more.

Re:Java Community approval (1)

TheTurtlesMoves (1442727) | more than 3 years ago | (#34314954)

Its worse than that. Its more like we just don't like Oracle. Seriously, even if you get a free pony with every java download, the headlines will slam Oracle because the pony's aren't pink, clearly because they are just obsessed with profit.

Ironically most of my ex workmates that still work in a lot of enterprise places are happy that java is finally moving forward. There was indeed a consensus that Oracle can't be worse than Sun.

I know quite a few companies that have a very strong dislike of Sun with some of their corporate licensing shenanigans. Its not like IBM or Sun are the saints of the corporate world (where did the nick "big blue" come from again... or no one gets fired for buying IBM?).

Also folks seem to forget that originally there was not JCP. Just like C# (I think), java was a company language. It got popular then, and JCP was added later.

Re:Java Community approval (1)

dudpixel (1429789) | more than 3 years ago | (#34313556)

sssh, you're ruining it for them.

see, this is just a move to show that Oracle are being friendly and nice to the community. The fact that said community no longer exists was supposed to be a secret.

Expensive tools - higher salary (1)

hughperkins (705005) | more than 3 years ago | (#34314156)

If you want the highest salary, learn the most expensive tools; and it looks like Java is heading down this road.

Most companies spending on developers is by and large proportional to their spending on hardware and software.

If you work for companies that pay $$$$ for Visual Studio, or for Oracle contracts, your salary will be tend to be larger than if you work for one where you get an ancient amortized machine and a single monitor.

Not always. But often.

Re:Expensive tools - higher salary (1)

cloudcreator (1527763) | more than 3 years ago | (#34315238)

This is the most ridiculous thing I've ever heard. I know people who use VIM + command line, and make more money than those who use expensive tools. If by "often" you mean ASP.NET devs, then I have to disappoint you, they have average salaries. Not always. But often.

Re:Java Community approval (1)

shugah (881805) | more than 3 years ago | (#34314454)

Just Larry, Darrell and Da ... oh wait. Just make that Larry.

Methinks They Should Redirect (0)

Anonymous Coward | more than 3 years ago | (#34312932)

They should really focus their efforts on the whole Microsoft-Novell buyout. They will lose the farm to Microsoft if this deal isn't blocked. Java is secondary. Or maybe they are in on the whole deal?

Re:Methinks They Should Redirect (1)

Eskarel (565631) | more than 3 years ago | (#34313072)

There's no deal to block, Microsoft bought some IP, which doesn't require any approval, and Attachmate is buying Novell which has nothing to do with Microsoft.

Re:Methinks They Should Redirect (1)

exomondo (1725132) | more than 3 years ago | (#34313440)

They should really focus their efforts on the whole Microsoft-Novell buyout.

What buyout? MS bought some IP; and we don't even know what that IP is. What's is the specific issue you're concerned with?

Go Java Go (1)

cowwoc2001 (976892) | more than 3 years ago | (#34312970)

Love the new features, except for Project Lambda. The proposed syntax needs to be more Java-like.

Re:Go Java Go (0)

Anonymous Coward | more than 3 years ago | (#34313026)

Welcome to 15 years ago in language design. Now how about some box-less generics?

Re:Go Java Go (2, Interesting)

certron (57841) | more than 3 years ago | (#34313508)

Macros in Lisp were introduced in the mid-1960s and are a powerful way to extend that language. However, the syntax of Lisp is very regular, so adapting the power of the prefix notation of Lisp into a language with a procedural syntax like Java is not going to be too easy.

I'm a little surprised that there isn't more mention of Lisp in this thread, considering that the lambda calculus that it was built on is the source of the name for one of the language projects.

Being able to transparently extend your language is a powerful tool that Lisp exploits to full advantage, provided the programmer knows when to use them. The regular syntax, functions as first-class objects (treated the same way as variables), and the macro system are the three features that build upon each other to make it such a flexible language.

See footnote #5 for some elucidation, although I certainly didn't learn Lisp on my first try: http://gigamonkeys.com/book/macros-standard-control-constructs.html [gigamonkeys.com]

Re:Go Java Go (1)

TheLink (130905) | more than 3 years ago | (#34313680)

However, the syntax of Lisp is very regular, so adapting the power of the prefix notation of Lisp into a language with a procedural syntax like Java is not going to be too easy.

Seems that some people write a Lisp-like interpreter in Java and then have the "configuration files" aka programs in XML ;).

I've seen some pretty large XML config files...

Re:Go Java Go (3, Interesting)

certron (57841) | more than 3 years ago | (#34313848)

The funny thing about the great flexibility that the frameworks like Spring provide is that you are defining the functionality in the XML files instead of the code, but now you have to learn two languages. The nestable list structure of Lisp is almost the same as the hierarchical format of XML, and in fact, that is how they are often represented natively in Lisp XML parsers. Instead, you could just use one language, structure your data properly, and extend the language to fit your problem.

Re:Go Java Go (1)

Cyberax (705495) | more than 3 years ago | (#34315182)

So everyone has to use a Turing-complete language for configuration files? How about IDE and tool integration which is impossible in general with Turing-complete languages?

And if we restrict ourselves to pure s-exprs, then we just get isomorphic representation of XML.

Re:Go Java Go (1, Interesting)

Anonymous Coward | more than 3 years ago | (#34313566)

It seems like a repeat of C++0x lambdas to me. Introduce a new unnatural syntax because of fear in breaking old code. I'm sorry... but even coming from a C++ fanboi, that's a horrifying way to design a programming language.

Re:Go Java Go (4, Informative)

shutdown -p now (807394) | more than 3 years ago | (#34315576)

For starters, to provide some context, here [java.net] is the current text of Project Lambda proposal - it's a fairly short and readable document explaining both syntax and semantics. Here [java.net] is the mailing list.

Project Lambda. The proposed syntax needs to be more Java-like.

There's a load of issues with semantics as well. They carried over a bunch of limitations from anonymous inner classes, such as inability to capture mutable locals (though at least you don't have to slap "final" on everything now, that will be inferred) - so it's still not true closures.

I was also rather disappointed by the way community input was handled in Project Lambda. Originally, it was unclear why they started it from scratch when there were as many as 3 major proposals for lambdas already (BCGA, CICE, FCM) which could be used as a base. The original claim was that community is too divided on those, and so a "clean slate" effort, guided by feedback of all interested parties, would reach a more universally accepted solution. What happened instead is that, after a lot of discussion on syntax and semantics, Sun - er, Oracle - just published their own spec and started to implement it right away. Pretty much all feedback on that was either quietly ignored, or disregarded under various reasons. This concerns both syntax and semantics.

With syntax it was especially disconcerting. Originally, there was a lot of discussion focusing on syntax on the mailing list, so Sun/Oracle folks declared a moratorium on it, saying that it's "not so important" and that "we can discuss it later", after semantics are figured out. Since then, their proposals have had a major unilateral revision of syntax, and that is seemingly final for the proposal given that it's what they plan to submit for JCP. So the syntax was effectively not discussed at all in any way that made a difference, even officially.

The only case of feedback on semantics seemingly making any difference was with respect to lexical scoping of identifiers in the lambda. Consider this code:

abstract class SamType {
  int foo;
  abstract int bar(int x);
}
 
class Test {
  int foo = 123;
  void baz() {
    SamType f = #{ int x -> x + this.foo };
  }
}

The question at hand was about what "this.foo" in the lambda body is supposed to mean. The original Sun/Oracle proposal wanted to have the same rules as for anonymous inner classes; in this case, since the lambda is an instance of SamType, this would mean resolving "foo" to SamType#foo on the lambda itself, and you had to write "this.Test.foo" to get the other one - again, same as with AICs. After a lot of negativity on the mailing list, they've changed it to use strictly lexical scoping - so "this.foo" now refers to Test#foo.

However, even in that case the attitude was interesting - when discussion started on the mailing list, Sun employees were quite dismissive of any criticism, and their response pretty much boiled down to "we believe users who're used to AICs will want lambdas to behave the same". Then suddenly they release a new spec with updated semantics, and no comments as to why they changed it, disregarding their own past arguments in favor of the old one.

So, as far as "community participation" goes, I'd say that Project Lambda has largely been a failure so far. We'll see if it favors any better in JCP.

As to its technical merits - we'll see when it gets released, but if this happens in its present shape, then I'm afraid that it is rather deficient to all competitors out there (Scala, C#...). Aside from capturing mutable locals, one other major issue that goes unresolved is that they had discarded first-class function types, so you have to make do with SAM ("single abstract method") interfaces/classes. Which is not so bad, except that generic types in Java cannot be parametrized with primitives. So forget about generic lambda-taking methods if you want any reasonable performance. You can, of course, use Integer in lieu of int etc, same as with collections, but performance can and will plummet due to boxing/unboxing (there was some discussion on the mailing list on how smart JVM can optimize that away, but testing showed that existing implementations don't consistently do so).

End result? Frameworks for which performance is important (which, coincidentally, tend to be quite a few of those very same frameworks for which Project Lambda was originally initiated, such as fork/join!) has to declare a bunch of non-generic interfaces for all possible combinations of primitives [si-eioswww6.com] . If you thought Java generics are ugly before, wait till you see this...

It seems a little lean (3, Interesting)

msobkow (48369) | more than 3 years ago | (#34312978)

Both releases seem a little lean on features compared to Sun's release schedule. On the other hand, they're starting to run out of reasonable features to add to the language without turning it into a kitchen sink.

Re:It seems a little lean (1)

Arancaytar (966377) | more than 3 years ago | (#34313044)

without turning it into a kitchen sink

Why stop when the memory drain is already working? =D

Re:It seems a little lean (1)

cheesybagel (670288) | more than 3 years ago | (#34313408)

How about LINQ, a standard UI API which is good enough to use on real applications, unsigned types, easier to use HTML/XML parsing, easier interfacing with C/C++, less leaky and buggy API, etc?

Re:It seems a little lean (1)

Chibi Merrow (226057) | more than 3 years ago | (#34313460)

Oh come on now, you write Java code, you can't be trusted with unsigned types...

Re:It seems a little lean (0)

Anonymous Coward | more than 3 years ago | (#34313714)

Probably a safe assumption. I can't tell you the last non-library C++ code I saw that dealt with integer conversions and arithmetic safely (using std::numeric_limits and boost::numeric_cast). But I guess Java would impose runtime checks, like C# does (which embarrassingly have to be manually enabled with the /checked compiler option).

Re:It seems a little lean (1)

Billly Gates (198444) | more than 3 years ago | (#34314960)

"How about LINQ Bad idea no-sql is quite stylish. Keep SQL to where the database is.
, a standard UI API which is good enough to use on real applications,

  Like SWT (GTK based) which eclipse uses in its IDE. Swing number of graphical methods and layout managers is next to none
unsigned types, The api's make it easy to convert as we use objects of preemptive types
easier to use HTML/XML parsing, included with Java 5 and there are many HTML libraries including sun's hot java browser
easier interfacing with C/C++, In Java 7 there is support where other languages can be compiles to bytecode for use in the Java VM. You can use RMI if you wish.
less leaky and buggy API, etc?
  Buggy? Have you used .NET before?

Java is rock solid.

Re:It seems a little lean (1)

jhol13 (1087781) | more than 3 years ago | (#34314000)

Generics "killed" Java (well, was a huge mistake, though did not kill it).

Since then practically every new language has been "higher level". Designers noticed that generics solves trivial problems[1] with huge cost (code clarity, maintenance and education). Now they seem to be putting everything up lamdba calculus, logic programming and parentheses in. That leaves BNF to be integrated so that programmers can invent heir own favourite extension to the language.

[1] problems which are found in simplest unit tests and are easy to fix

Re:It seems a little lean (0)

Anonymous Coward | more than 3 years ago | (#34315130)

I call B/S. I have been recently introduced to Java EE, and the work Generics can do for you is awesome.

Re:It seems a little lean (1)

TheTurtlesMoves (1442727) | more than 3 years ago | (#34314970)

Sun release schedule? There was no schedule, which is why java 6 has been around for years, while we wait for 7, that's never ready.

Re:It seems a little lean (2, Interesting)

DrXym (126579) | more than 3 years ago | (#34315560)

Java is a verbose language and many changes are not about implementing the kitchen sink but trying to make it terser and more expressive. For example most getters and setters are boiler plate, so why not some simple annotation / keyword which generates them at compile time and tags them for runtime inspection? What about partial classes so visual editors generate code into one file and devs can put hand written code in another file? What about closures for single method interfaces to remove reams of boilerplate? What about auto variables that infer their type automatically? What about something akin to the using keyword in .NET so we can safely release system resources without a mess of nested try / catch blocks (which very little code does properly) ?

None of these things would actually affect the byte code but they would make the language more tolerable, less verbose. Some of these things are making their way into Java 7 / 8 (e.g. project coin work fixes language issues including resource management) which is good, but frankly the pace of development sucks. The process is so glacial that it has disappeared up its own arse and done several loops by now.

And yet..... (-1, Flamebait)

modmans2ndcoming (929661) | more than 3 years ago | (#34313012)

Java is still the new COBOL.Run on most enterprise systems but is crusty as hell.

One area in which I appreciate the Java's power... (-1, Troll)

bogaboga (793279) | more than 3 years ago | (#34313020)

As a currency speculator (on the side I must say), I wonder whether this job of mine would be possible without the employment of Java and its technologies. Seeing real-time currency quotes and executing trades instantly is something that I will always appreciate.

Those that want to 'fracture' Java for short term gains should be stopped. What other technology can stream live price quotes like Java does? Any? Does Java 'rule' this space?

Re:One area in which I appreciate the Java's power (0, Flamebait)

modmans2ndcoming (929661) | more than 3 years ago | (#34313074)

what other technology? uh.... C, C++, C#, Assembly, LISP, Forth, Haskell....

There is no magic dust. Java was popular because the financial sector bought into the crap Sun was selling.

Re:One area in which I appreciate the Java's power (1)

pookemon (909195) | more than 3 years ago | (#34313176)

Yes but what else can do it? Besides C, C++, C#, Assembly, LISP, Forth, Haskell... And Java...

Re:One area in which I appreciate the Java's power (1)

Lennie (16154) | more than 3 years ago | (#34313106)

What makes Java so special for this field ? Or is just existing software ? Or available services ?

Re:One area in which I appreciate the Java's power (1)

cheesybagel (670288) | more than 3 years ago | (#34313418)

Its portable and has good API facilities for building internet apps. It also has fairly decent threading support. Plus it is buzzword compliant. What else do you need?

Re:One area in which I appreciate the Java's power (1)

modmans2ndcoming (929661) | more than 3 years ago | (#34313576)

.net is all that and a bag of chips (OK stale chips if you don't want to count mono)... so... what makes java so special

Re:One area in which I appreciate the Java's power (1)

Billly Gates (198444) | more than 3 years ago | (#34314658)

The software and tools are free with Java with eclipse and Netbeans. The express version of visual studio sucks very badly and the documentation is terrible since MSDN no longer is there accept going through Microsoft's confusing non intuitive website. I can create mobile apps and programs that can run all the way to the mainframe.

Also if I am starting a web business I do not have to worry about client access licenses. I am also not tied down to SQL Server which can cost $100,000+ for over 50 users.

Re:One area in which I appreciate the Java's power (1)

Mitchell314 (1576581) | more than 3 years ago | (#34313126)

Um, just wondering, but what does the programing language/runtime have to do with application features?

Re:One area in which I appreciate the Java's power (1)

MichaelKristopeit198 (1942482) | more than 3 years ago | (#34313186)

are you joking? you're claiming a VIRTUAL MACHINE language is better because of the potential of a SOFTWARE application?

as a computer software architect (full time i must say), i wonder how you can be confused about what enables the software you're relying on. the virtual machine adds platform layer latency to all executing code... not relying on java would give you less latency on quotes and trades... that means everything executes faster. (note: you are NOT seeing real-time quotes... you are simply seeing quotes as they are made available to you... you are NOT executing trades instantly... they are executed after being processed and transmitted)

java makes everything you are doing worse... it is sold as a solution to the people who enable you, to do so on many different platforms easily... as you only require a single platform, this does absolutely nothing to benefit you while it does hinder the performance of the software you're relying on.

you've been sold lies.

Re:One area in which I appreciate the Java's power (1)

u17 (1730558) | more than 3 years ago | (#34313216)

I don't think you fully understand Enterprise solutions. They run at Warp Speed!

Re:One area in which I appreciate the Java's power (1)

h4rr4r (612664) | more than 3 years ago | (#34313228)

He posts at 0 for a good reason, stop feeding the trolls.

Re:One area in which I appreciate the Java's power (0, Offtopic)

MichaelKristopeit192 (1942466) | more than 3 years ago | (#34313754)

still sore that i point out your lies?

you're completely pathetic.

Re:One area in which I appreciate the Java's power (0, Redundant)

MichaelKristopeit198 (1942482) | more than 3 years ago | (#34313740)

you mean where you lie to the clients and don't contradict them when they rebroadcast your lies?

java enables NOTHING on the software side... it is purely a cross-platform solution to ease migration. the end product always suffers at the cost of the eased migration that may never have been or will be required.

java is garbage... i'm reminded of the man who builds his house on sand. if you want a true enterprise solution, you build from the ground up.

Re:One area in which I appreciate the Java's power (0, Troll)

bogaboga (793279) | more than 3 years ago | (#34313244)

(note: you are NOT seeing real-time quotes... you are simply seeing quotes as they are made available to you... you are NOT executing trades instantly... they are executed after being processed and transmitted)

Your statements are grammatically correct. They also make sense. But whether I can get my quotes without some entity making these quotes available to me baffles my mind. How else would I be in position to obtain these quotes without someone availing them to me? You tell me sir.

Same logic applies to your second part: Of course some processor somewhere handles the data. This is obvious. When we say 'instantly' or 'rel-time', we are talking about the absence of the 'requirement to wait'.

'Wait' here, is a loaded word for there is a tiny time-lag between the time a trader clicks 'yes' to the return of a confirmed or unconfirmed transaction.

Now let's be serious please. I am sure you understand what I am talking about.

Re:One area in which I appreciate the Java's power (0, Flamebait)

MichaelKristopeit192 (1942466) | more than 3 years ago | (#34313800)

you haven't answer my question... again, i ask... ARE YOU JOKING?

you're a "currency speculator" but you don't know about the trading systems tied at the lowest possible level DIRECTLY INTO THE SYSTEMS CONTROLLING THE MARKET? the systems that make vast numbers of trades every second? the systems that hedge every trade thousands of times before the confirmation has been acknowledged?

i know exactly what you're talking about... you're talking about java and propagating lies. now the real question is: why? are you lying for a reason, or are you simply an idiot?

Re:One area in which I appreciate the Java's power (1)

bieber (998013) | more than 3 years ago | (#34313218)

Of course the job would still be possible. There's no reason the software you're using couldn't have been written in dozens of other languages. If anything, Java is going to be slower than most native languages.

Re:One area in which I appreciate the Java's power (0, Troll)

bogaboga (793279) | more than 3 years ago | (#34313262)

If anything, Java is going to be slower than most native languages

Care to name some examples? Please spare me .NET and C#. These two never existed in the late 90s.

Re:One area in which I appreciate the Java's power (1)

exomondo (1725132) | more than 3 years ago | (#34313586)

If anything, Java is going to be slower than most native languages

Care to name some examples? Please spare me .NET and C#. These two never existed in the late 90s.

Firstly .Net is not a language and C# is not a native language. Secondly why does it matter that they didn't exist in the late 90s? And if you are stuck in the late 90s then you'd know back then native languages - C++, Smalltalk, etc... - were significantly faster than Java in almost all cases, the gap is not as broad anymore.

But im interested to know what it is about Java specifically that you think makes it superior for your purposes?

Re:One area in which I appreciate the Java's power (3, Informative)

h4rr4r (612664) | more than 3 years ago | (#34313280)

The JVM is fast as hell these days. This line about java being slow is old news and no longer true. I say this as someone who does not really like java and tries to avoid Oracle products whenever possible.

Re:One area in which I appreciate the Java's power (0, Flamebait)

kaffiene (38781) | more than 3 years ago | (#34313776)

Shhhh! You'll upset the groupthink

Re:One area in which I appreciate the Java's power (1)

Billly Gates (198444) | more than 3 years ago | (#34314904)

Once its in bytecode it is native. It can run just as fast as C++. Just because you are tired of waiting for the silly java compiler to compile it does not make it slow. It is like saying Firefox is slow and interpreted because it took 6 hours to compile from source on some developers machine therefore it is too slow to use once its compiled.

Re:One area in which I appreciate the Java's power (1)

imthesponge (621107) | more than 3 years ago | (#34315552)

"Once its in bytecode it is native."

No, not unless you have something like Jazelle [wikipedia.org] .

It's all Lambda, Lambda, Lambda.... (-1, Offtopic)

Anonymous Coward | more than 3 years ago | (#34313028)

What about Omega Mu

Plan B (0, Offtopic)

girlintraining (1395911) | more than 3 years ago | (#34313078)

Plan B? It's kill everyone inside. Anyone who's read Deadpool knows this.

Re:Plan B (2, Funny)

MrEricSir (398214) | more than 3 years ago | (#34313196)

You mean the emergency birth control pill? Well Java does feel like it was aborted these days.

Um what? (0)

Anonymous Coward | more than 3 years ago | (#34313114)

The only thing relevant about Java is present and future licensing. Settle that first before wasting your time with a potential bomb

Wait... what? (4, Funny)

Anonymous Coward | more than 3 years ago | (#34313240)

Oracle owns Java now?

When did this happen?

Re:Wait... what? (1)

cheesybagel (670288) | more than 3 years ago | (#34313428)

Since Oracle bought Sun Microsystems [wikipedia.org] . Didn't you get the memo?

Re:Wait... what? (4, Funny)

lloy0076 (624338) | more than 3 years ago | (#34314584)

They've probably bought the rock you're hiding under too!

lifecycle? (1)

pietromenna (1118063) | more than 3 years ago | (#34313288)

In my honest opinion everything in Computers world has a lifecycle, and in this case, Java Oracle is providing this lean featured Java releases because they are running out of ideas to implement for the JCP. Java soon will have to enter in the Maintenance only and not give new features, so it means it may soon disapear from Enterprises and Education levels (maybe like in 3 years).

Re:lifecycle? (2, Insightful)

h4rr4r (612664) | more than 3 years ago | (#34313300)

Considering COBOL still has a presence in the Enterprise world I really doubt Java will go away that fast. If they went maintenance only today, maybe in 10 years it would start to be phased out in the Enterprise and maybe gone in another 25 years.

Re:lifecycle? (0)

Anonymous Coward | more than 3 years ago | (#34313430)

COBOL wasn't bought out by a company seeking to wring as much money out of it as possible. COBOL's an open standard anyone can (and di) implement, which contributed greatly to its adoption and to the general lack of hurry to migrate away from it.

Re:lifecycle? (1)

Surt (22457) | more than 3 years ago | (#34314944)

That's STILL an aggressive timetable compared to COBOL, and COBOL was hardly as entrenched as java.

Re:lifecycle? (0)

Anonymous Coward | more than 3 years ago | (#34313398)

You're right. Look at C language. They've added very, very few new keywords in the last how many years? It's definitely in maintenance mode and has been for quite some time. No new features, only some tweaking of the standard. I hear it's being phased out real soon, if not already.

Closures? (2, Insightful)

Anonymous Coward | more than 3 years ago | (#34313360)

I think the focus on closures is a fad. The concept has existed for decades, but suddenly if Java doesn't have them it's incomplete? Strangely, I don't think the lack of them has ever stopped a program of mine from working. So this seems like more of a pissing contest with C# than a feature anyone is really clamoring for.

Re:Closures? (1)

etymxris (121288) | more than 3 years ago | (#34313510)

Closures in Java will make it cleaner to write anonymous classes. That's about it.

Re:Closures? (1, Insightful)

Anonymous Coward | more than 3 years ago | (#34313518)

yep, a fad that's existed for decades.

Re:Closures? (1)

FutureDomain (1073116) | more than 3 years ago | (#34313902)

Closures are just another tool in a language's toolset that is often useful. Not having it doesn't make it incomplete, it just makes it less useful in some scenarios than a language that does have them (like C#).

Re:Closures? (5, Informative)

Anonymous Coward | more than 3 years ago | (#34314646)

The lack of objects hasn't ever stopped any C program from working, but its lack is what inspired C++. Similarly, Java's lack of closures is what inspired C#.

Way back in the '90s, MS wanted to enable developers to use Java to write Windows apps. The obvious way to write Windows apps is for objects (like windows and buttons) to have events (like "mouse move" and "key down") that other objects can listen for by giving the object a function to call when the event is raised. Java had no clean way to write event listeners for VB-style form designers, so MS modified their version of Java (J++) to have closures (so you can say "use this object's OnKeyDown method to handle the KeyDown event"). Since Sun decided to go with inner classes instead, they sued MS and made them stop shipping any Java at all.

As a result, MS needed to write their own Java-like language for VB-style form designer apps, and came up with C#. Obviously it has closures (which it calls "delegates"), but in version 1.0 they only closed over an object's member variables. In 2.0 they were able to be anonymous and close over local variables in a method, and in 3.0 they gained the convenient lambda syntactic sugar. Some have called Java's inner classes "syntactic vinegar" because they're so cumbersome to use compared to C#'s (and most other languages') closures.

C#'s extension methods and generics combined with type inferencing and lambdas make it very concise to write code to return a list sorted by its item's name like this: list.OrderBy(item => item.name)
It's not unreasonable for Java programmers to ask for a similar boost in their productivity.

dom

mod parent up (1)

korpique (807933) | more than 3 years ago | (#34314754)

Awesomely clearly explained context and subject matter. This is one of the reasons why c# is so nice to write in itself even if it's not very unixy.

Looking forward to scala myself.

Re:Closures? (3, Interesting)

dido (9125) | more than 3 years ago | (#34314818)

Spoken like a true Blub programmer [paulgraham.com] . Trying to go from a programming language that has true lexical closures like Ruby to a language like Java which doesn't is extremely painful. You get used to being able to write code that uses higher-order functions (and hence closures) to get stuff done.

waiting for a fork of java (0)

FudRucker (866063) | more than 3 years ago | (#34313498)

that is a FOSS community developed project, not owned and developed by a for-profit MegaCorPirate

Re:waiting for a fork of java (1)

TheTurtlesMoves (1442727) | more than 3 years ago | (#34315016)

Java has *always* been controlled by a for-profit MegaCorPirate. Just recently the captain of the ship was changed around like the dread pirate Roberts.

This is nothing new. Well there is one thing new. The new Pirate is not bankrupt.

Elephant in the room? (5, Insightful)

oldhack (1037484) | more than 3 years ago | (#34313514)

Fix the generics. Get rid of erasure and all its associated idiosyncracies and gotchas, and bring generics properly into JVM level.

Re:Elephant in the room? (1)

TheTurtlesMoves (1442727) | more than 3 years ago | (#34314994)

This should have been done with java 1.0

Fact is that most "mainstream" languages are often way behind (read decades) what we know in terms of R&D for programing and compiling.

Why the fuck bother (2, Insightful)

melted (227442) | more than 3 years ago | (#34313592)

Just take this [scala-lang.org] call it Java 9 or some such, and fire the remaining Java compiler people. Keep the VM people. There, solved it for you Oracle.

Re:Why the fuck bother (1)

melted (227442) | more than 3 years ago | (#34314092)

Don't see why this is being modded as flamebait. This is the truth. All those "geniuses", all that fabled "community process" got its ass handed to it by a few PhDs who _really_ knew what they were doing.

Re:Why the fuck bother (3, Insightful)

Xrikcus (207545) | more than 3 years ago | (#34314728)

And who didn't have to deal with backward compatibility. Designing a language from scratch is a completely different problem from evolving one that's heavily used.

Re:Why the fuck bother (1, Insightful)

Anonymous Coward | more than 3 years ago | (#34314170)

Scala is not a maintainable language. Don't get me wrong, it's very cool and interesting but I have written code that I can't even decipher myself only a couple weeks later. It's too flexible and allows some really bizarre syntax and architecture. I would say it's worse than Perl and Lisp at being way too easy to create "clever" program designs that nobody can maintain.

Google Go seems like it has a better chance even though I doubt it will gain a foothold either.

Re:Why the fuck bother (0)

Anonymous Coward | more than 3 years ago | (#34314310)

It all comes to Functional vs Imperative.

Re:Why the fuck bother (2, Insightful)

Alkonaut (604183) | more than 3 years ago | (#34315342)

Sack the VM people too, at least those who decided that the implementation of generics should be through type erasure, in other words "type unsafety". Next, dismantle the whole community process (Whoever wants an open system please fork at this exit). If Oracle just puts its weight behind java, it could well be the needed injection it needs. Without the tools for parallelism, distributed computing and so on, java (both VM and language) will be a "mainframe" language.

C# shows what can be done if you have
a) lexical closures
b) VM-level generics
c) A process where the language evolves faster than through a vote by UN+dog.

If oracle just makes Java the "other" .NET, it will be useable, but as a commercial second fiddle, it will probably be irrelevant.
If oracle does not make java the other .NET, the slow community process will make the language irrelevant within 5 years anyway.

So of the 3 topics here (Language, VM, Process) the language is the least important for the future of java.

Subclassing Enums (1)

Doc Ruby (173196) | more than 3 years ago | (#34313972)

Will subclassing enums make it into JDK 7? It's annoying to jump through hoops that aren't a good model of the work when making enums of commands that are in different groups of overall common functionality.

Still at 5 here (1)

SpaghettiPattern (609814) | more than 3 years ago | (#34314906)

Java 1.4.2 was good enough for me to abandon 90% of my Perl activities. Java 5 generics were a very niece thing to have. But the annotations is where it started to get itchy for me. Bleedin' abracadabra I say. If ever I need it, I'll dig into it.

I'd never had anything to desire since 5. So for me 6, 7 and 8 mainly should be backwards compatible.

Re:Still at 5 here (2, Informative)

sourcerror (1718066) | more than 3 years ago | (#34315254)

If you had to do J2EE developement prior to EJB3, you would appreciate annotations. Basically a lot of the stuff from XML files went to annotations.

Well written ! (0)

Anonymous Coward | more than 3 years ago | (#34315008)

Can I just remark that this story is well writte - It reads well, it is grammatically correct and new terms are clearly explained. Well done.

Is this a new direction for Slashdot ?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>