Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Java Open Source Programming Red Hat Software Linux

Red Hat Uncloaks 'Java Killer': the Ceylon Project 623

talawahdotnet writes "Gavin King of Red Hat/Hibernate/Seam fame recently unveiled the top secret project that he has been working on over the past two years, a new language and SDK designed to replace Java in the enterprise. The project came out of hiding without much fanfare or publicity at QCon Beijing in a keynote titled 'The Ceylon Project — the next generation of Java language?'"
This discussion has been archived. No new comments can be posted.

Red Hat Uncloaks 'Java Killer': the Ceylon Project

Comments Filter:
  • by zill ( 1690130 ) on Tuesday April 12, 2011 @10:46PM (#35803024)
    I personally don't think it's ambitious at all. Their syntax and grammar only differ slightly from regular Java. Plus the fact that they're targeting the JVM means that they only need to patch javac (and javadoc) to make a new language. Despite how humongous the JDK is, the java compiler itself is relatively lean (only 140KLOC).
  • Re:Java killer? (Score:5, Interesting)

    by raddan ( 519638 ) * on Tuesday April 12, 2011 @10:53PM (#35803080)
    My favorite part about the post is that he points to C# as an example of a "good" language, as if C# and Java were not essentially the same language. The JVM actually isn't all that bad-- it's mature, bug-free, and reasonably fast. But that's beside the point-- the JVM is like x86. Nobody* cares about the instruction set; they care about language features, and whether those features work quickly. And both the Java VM and Microsoft's .NET runtime have numerous options: IronRuby for .NET and JRuby for JVM, IronPython for .NET and Jython for JVM, Clojure, F#, yadda [], yadda [].

    Reinventing the VM is a waste of time. And there are tons of languages to choose from for those VMs. So I don't quite see the point of this. The slides appear to be slashdotted, and just from the post's talking points... yawn.

    * "nobody" here should be read as "very few", i.e., mostly people who write JIT compilers and not people who write enterprise code.
  • Re:Java killer? (Score:2, Interesting)

    by tomhudson ( 43916 ) <{barbara.hudson} ...}> on Tuesday April 12, 2011 @10:58PM (#35803128) Journal

    The problem is this doesn't "throw out the things that are flawed in the original java" - quit the contary.

    No âoespecialâ types, everything is an object

    (and TFA loses additional points for using Microsoft's smart quotes as demonstrated above)

    Any experienced c++ programmer will tell you that "classes if necessary, but not necessarily classes" is the way to go. Class explosion is not pretty, and makes for over-complex stupid implementations.

    The new assignment operator ":="

    Oh look, someone revived the Clipper dBASE compiler / Pascal syntax.

    If you REALLY want to fix it, add the things that are missing:

    Kill off interfaces (even James Gosling admits that they were probably a mistake), add multiple inheritance.
    A c/c++ style macro compiler and #include system

  • Re:Ceylon? (Score:5, Interesting)

    by ronocdh ( 906309 ) on Wednesday April 13, 2011 @12:06AM (#35803656)
    It's a reference to the type of tea [], as an alternative to Java—tea vs. coffee, get it?
  • by jd ( 1658 ) <> on Wednesday April 13, 2011 @02:28AM (#35804510) Homepage Journal

    Oracle have threatened to sue anyone and their aunt Mildred if they step out of line on the Java standard or violate any Java-related patent. Apache needs a JVM-type system to run Tomcat and Debian will supply patentware over their collective dead bodies (once an open-source license for dead bodies is agreed upon). Red Hat knows this. Red Hat also knows that commercial vendors like Adobe (Cold Fusion runs on JRun, a servlet engine) like Java because nothing makes for bigger profits than free. Patent-based lock-ins don't usually mean free. Sun killed JScript, sure, but we're talking proprietary extensions and a platform-specific compiler designed by Microsoft for the sole purpose of killing Java. It was a digital gunfight and it's not surprising Sun used the guns it had.

    Oracle, on the other hand, already uses proprietary extensions (they bought JRockit and it has all kinds of weird stuff), platform-specific compilers (you'll notice real-time Java isn't available for that many OS') and proprietary implementations (JDK7 doesn't include some of Oracle's accelerations to JDK6). Language dilution - and the inevitable long-term death of Java as a result - isn't an issue for them. They're not using patents to protect Java, but to protect a virtual monopoly.

  • by TeXMaster ( 593524 ) on Wednesday April 13, 2011 @03:02AM (#35804704)

    You have obviously never been on a *huge* software development project. The reason you use accessors and mutators (getters & setters) is so you can change the underlying representation without breaking all the uses in you million lines of code.I've had to make changes to underlying representation without breaking th client contract (signature). This is why such practices are used (plus, these methods are auto-generated by most tools anyway).

    Well, in Ruby (which is a fully OOPL) getters and setters are used too, but the language syntax allows you to define methods such as 'property' and 'property=' so that setters and getters look exactly like direct access, and much less verbose than the dreadful getPropX() and setPropX() methods you usually have in Java or C++.

  • by bradley13 ( 1118935 ) on Wednesday April 13, 2011 @04:26AM (#35805060) Homepage

    Java needs to be replaced. I have taught Java for years, because many colleges think it is a good first language to learn. Only recently have I actually attempted to develop commercial quality applications in it. Frankly, Java sucks big green ones. Generic types (with type-erasure) are a total hack, denying the running code valuable information. Abstract classes are only half-implemented, since you cannot have abstract static methods (e.g., factory methods). Meta-programming in Java is extremely limited - Reflection covers a few aspects, but even these are very awkward to use. Exception handling is awkward, there is no multiple inheritance, not all types are objects - hacked with boxing and unboxing. And so on, and so forth, and so on...

    The chances of this language going anywhere are small. Anyone who has enjoyed studying compilers has written (or at least imagined) their own language. Creating new languages is fun, lots of people do it, and mostly - even if they are good - the languages disappear down a deep, dark hole. Success for a language requires a lot of support from many different parts of the IT community: lots of libraries, job prospects, more libraries, books, courses, real world applications, and did I mention code libraries? There are zillions of languages out there, many of them better than Java. Unfortunately, none of them to date have gotten the necessary support. What are the chances that this language will be different?

I have never seen anything fill up a vacuum so fast and still suck. -- Rob Pike, on X.