Live data from Hacker News

Red Hat's top secret Java Killer/Successor: The Ceylon Project

blog.talawah.net

11–20 of 89 posts

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#11
post #7

If you replace "Java Killer/Successor" with "New Programming Language" I think the title makes a lot more sense.

I agree there.

For those of us for whom Java never was "alive" (not choosing to program in it), is it safe to ignore this new language? I would be interested in it more if they wouldn't pitch it as Java Killer.

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#12
post #5

Ceylon looks a lot (if not identical) to Scala. I was trying hard to find a differentiation, but couldn't.

I had much the same reaction, but no, this is very odd. Red Hat has no aversion to contributing to Free Software and possibly forking it to create a supported branch. Why would they push through with Ceylon rather than do this with Scala? I must be missing something that is arguably a clear advantage. I'll blame the QCon presentation refusing to load, but if someone could fill me in that would be appreciated.

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#14

Red Hat has put a lot of work into gcj, and was responsible for making Eclipse run on it. They've done a bunch of work on Iced Tea. They also have a bunch of Java applications they maintain/sell support for (JBoss is the big one). If this is actually a company priority (and not a side project), it could be a Big Deal(TM).

No, not big deal..the big changer in enterprise was and still is Groovy as it sues the same exact syntax as java..while adding stuff java lacks..anything that suggests learning a while different syntax and language on top of it will be a hard sell to any enterprise.

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#15
People, please learn from mistakes of the past. Using less-than and greater-than as template parameters was a horrible idea by Stroustroup, but was copied by Java and C#.

Although C# and Java do not suffer from the craziness that is C++, by virtue of requiring a class name, e.g.

  template  void myclass() { ... code ...};
  ...
  myclass4>(); /* myclass? or syntax error? */
is unique to C++ - but still, all lexing/parsing/syntax highlighting/analysis of the language is much harder because of this horrible choice.

For heaven's sake, please use {} or [] or some other character which does not also function as an infix operator.

(Even APL and K, which overload every character in fifty different ways, don't mix grouping with infix operators)

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#17
Is it 'easy to read' as in

  let sum x y = x + y
Or 'easy to read' as in

  public final class Summer { 
    public static T Sum(T x, T y) {
       return x.add(y);
    }
  }
Because I don't think that dreck in the bottom is 'readable', it's like giving construction workers a Fischer Price My First Hammer and expecting them to be able to build a house with it. If you're going to make a language like Java at least let programmers take the training wheels off once they are experienced.

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#18
post #15

People, please learn from mistakes of the past. Using less-than and greater-than as template parameters was a horrible idea by Stroustroup, but was copied by Java and C#. Although C# and Java do not suffer from the craziness that is C++, by virtue of requiring a class name, e.g. template void myclass() { ... code ...}; ... myclass 4>(); /* myclass ? or syntax error? */ is unique to C++ - but still, all lexing/parsing…

I suggest the ' operator as in

  let sum (x:'T) (y:'T) = x + y  
I have no idea why you even have to specify that a method is generic shouldn't it be generic by inference?

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#19
post #17

Is it 'easy to read' as in let sum x y = x + y Or 'easy to read' as in public final class Summer { public static T Sum (T x, T y) { return x.add(y); } } Because I don't think that dreck in the bottom is 'readable', it's like giving construction workers a Fischer Price My First Hammer and expecting them to be able to build a house with it. If you're going to make a language like Java at least let programmers take the…

But doing that makes sure they can't hurt themselves with a hammer while working!!!

Re: Red Hat's top secret Java Killer/Successor: The Ceylon Project

#20

Assignment using := and string concatenation using adjacency aren't particularly new. edit -- further looking through the presentations ... They seem to have ditched the 'new' keyword, but not gone as far as having inferred typing which is a pity. Counter c = Counter(); would be better as c = Counter(); (edit: ignore this, the local keyword apparently triggers type inference). := and = are used to distinguish between…

Constructors are stupid and violate one of the principle ideas behind OO which is separation of concerns.

What initializes a data structure should not care how the data structure was allocated. It's two functions one () -> T and T -> T allow them to be first class citizens.

If you want to combine them use a static method that simply invokes the initializer after the allocator (which is how it works anyway, and how new is implemented in both Ruby and Obj-C). And it's not like it solves any real problems as it's perfectly alright to have uninitialized and incorrectly initialized objects with current constructors.

Post reply on HN