Domain: javac.info
Stories and comments across the archive that link to javac.info.
Comments · 7
-
Re:c++ 1x sucks
Confusing - every mainstream language today except Java has them.
And even Java will soon. http://www.javac.info/.
-
Re:Go Java Go
I for myself found current state of lambda proposal much better than any of the previous proposals
If you look carefully, I've linked to the very same document from my post. What, in particular, is special about the last part of that document?
In any case, my point is not that the present revision of the lambda proposal is worse than previous revisions from Sun/Oracle. My point is that it's worse than the third-party proposals that preceded it (especially BGGA). It's also worse than implementation of closures that is already present in other languages that directly compete with Java - most notably, in C# and in Scala.
-
Re:Jealousy
There is truly innovation in the programming language sphere, and Microsoft has a record of hiring successful open source language designers. Simon Peyton-Jones (of Haskell fame) is a recent example.
Recent? Simon Peyton-Jones has been working for Microsoft Research since 1998. In fact, he is still working on GHC as a Microsoft employee - LINQ was definitely inspired by some things in Haskell, but Simon didn't design it.
If you want a better example, it's ex-Sun, ex-Google Neal Gafter of Java closures fame, since last year working for Microsoft (not MSR) on
.NET languages. -
Re:Java Was:C++
The next major release of Java (Java 7) is going to be 100% open source. Even if Sun (or IBM for that matter) drops the language, which is very unlikely, Java is going to persist as it has a strong community.
I don't think IBM would let Java drop and die. Nor would Google, for that matter. Both have invested too much into it. But neither seem to be particularly interested in evolving it further as a language or a platform. Today, Java is the conservative choice - that's part of its strength, but that's also what spells out its eventual demise. There's nothing wrong with that - there's always a need for a stable "legacy" platform, even if it's outdated, and Java is a good candidate for that role. But it's something worth keeping in mind when making career choice.
Note that it wasn't my argument, anyway. I foresee Java to be supported for decades to come. Just not in a dominant ("forall X. Must be written (X) => let's write X in Java!") role it used to be.
OSS - yes, that's a strong argument in favor of Java, but on its own it's not sufficient. If it's not good enough, who cares if it's OSS or not?
) It's true that the evolution of the Java language has been quite slow and conservative in the past. But I believe that the rise of new dynamic and hip languages with indeed cool features didn't pass Sun without notice. Java 7 is going to have closures, for example.
I'm sorry to tell you, but Java 7 won't have closures. It won't have a lot of other stuff that was hoped for, either - e.g. no RAII in form of "do" blocks (similar to C# "using"), no generics reification, no properties... basically it's going to be a very minor change as far as language is concerned. And there is no plan to have those in Java 8 either (indeed, there's no Java 8 schedule for now at all!). In fact, we don't even have a JSR for Java 7 yet, so God knows when that is going to be released, even...
It may come as a further blow that the guy who had the most deep and thought-out proposal for closures in Java - Neal Gafter - has joined Microsoft to work on
.NET languages. Here's what he had to say about closures in Java, and Java in general, since then.As for Groovy (and I think you should've mentioned Scala). It's all great, but the tooling is nowhere near as mature as that of Java - I mean IDE, debugging, and so on. Meanwhile, in
.NET land, I have first-class lambdas complete with type inference in C#, so the question of support doesn't even enter into it - it just works. -
Re:The thing is...
Java the language isn't so bad anymore
... Give Java a fresh look, it's come a long way.The problem is that other languages came a long way too. Today, not having support for closures for a language is a shame (consider that VB has it already for more than a year now, and even C++ is adding it) - yet we are not going to see that in Java 7, that's still more than a year in the future, and God knows when Java 8 will be released, if it ever happens. Some other stuff in Java is rather messed up - generics are a prime example of that. It really is becoming a language that is too burdened by backwards compatibility.
It's also somewhat ironic that quite a few of the present C# team were prominent people in Java language design in the past. Mads Torgersen, currently C# program manager at MS, is the guy who originally designed generic wildcards for Java, and provided the reference implementation for them - both ending up in Java 5. Neal Gafter, a more recent Microsoft acquisition, and also now on the
.NET languages team, worked on Java 1.4 and 5 compilers, but is probably most famous for his detailed proposal to add closures to Java - something that many people originally expected to see in Java 7, but that will most likely not happen anymore (Neal did his job - the reference implementation is available - but Sun apparently doesn't care enough to actually use it).Java truly is becoming the COBOL of today: a stagnant, no longer actively developed language in which tons of existing code are written and needs to be maintained. This isn't meant to be disparaging, and there's certainly a place for such languages; but if you want reasonably modern language design, Java isn't going to offer that to you, while C# still can.
-
Re:recommended for advanced programmers
You miss the real reason why it's all so much less complicated on
.NET : There's only one platform to target, and that platform is Microsoft.None of the reasons the GP mentioned in this post have anything to do with "one platform". He seems to be mostly content with C#-the-language, not
.NET-the-platform. Java could have its own LINQ analog and type inference already, if only Sun (or Google, or IBM, or other of the big players) wanted it - which they don't. End result - talented language designers like Neal Gafter are leaving the Java scene and joining Microsoft to work on C#. And, given that Neal was the author of the most well thought-out proposal on adding closures to Java, it means that this feature will likely not make it into the language anytime soon - not until Java 8, if it will ever happen (by which time MS will already roll out C# 5.0, etc).Sad...
-
Re:Why Ruby?
It's unfortunate that most people who praise Ruby as being this groundbreaking language in terms of features and usability neglect to look back 30 years at its roots in the smalltalk language. In fact, the smalltalk syntax to do the same thing is surprisingly similar.
1 to: 10 do: [:x | x printNl]!
For those of you unfamiliar with smalltalk, I'd really urge you to look into it. Squeak is a very mature implementation http://www.squeak.org/. In either case, you're right the syntax is powerful and beautiful, and in my opinion its a real shame that it has taken 30 some odd years for people to realize its potential. Even the java language is moving in towards adding closures as a language feature http://www.javac.info/ .