Live data from Hacker News

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

blog.talawah.net

71–80 of 89 posts

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

#71
Another VM language?

Why not pour the effort into Mono or PyPy? Or for the more exotic end, Nemerle, F#, Rust, Mirah, maybe even trying to make Haskell more practical.

I've gotten a bit jaded, and at this point, there are a ton of new languages competing. I don't want to pee in anyone's cereal, but the 'next generation' language might be better found as a 2.0 of an existing effort? Especially if you're not introducing really new concepts and you're trying to get people to actually use it.

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

#72
post #38
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'm afraid is too ingrained at this point to turn around, but seriously; is it such a problem? In C# a template can show up in a class like: public class Foo { ... a method like: public void EatAFoo (... and usage like: var f = new Foo (); someObj.EatAFoo (... I don't see how any of these cases could be confused with a greater than or less than operator. Could you expand on where the problem comes in?

The statement: F(G(7)); could be interpreted as a call to F with two arguments, G (7). Alternatively, it could be interpreted as a call to F with one argument, which is a call to a generic method G with two type arguments and one regular argument.

See the C# specification section 9.2.3 (grammar ambiguities) for more details: http://www.ecma-international.org/publications/files/ECMA-ST...

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

#73

For me, the key question for any new language is: "Does your language help me create better abstractions?" And what I specifically mean by "abstractions" is that I can take a recurring pattern in the code and a) capture the repetition and b) reuse the abstraction representing that repetition and c) doing b is smaller/simpler than the original code After a decade+ in Java, my conclusion is that Java cannot capture rep…

(this is not only about you)

Its funny to me how people often say after 5/10/whatever years of java I conclude that its limitations are [insert your limitations]

Why the hell did it take you 10 years? If you work with a language for a year MAX and you can still not creat good abstractions. Why do you stick to it?

The guy that made Ceylon said something like that too.

(Sure your job could be java, but I think most people here do programming in there freetime as well. Why did you not move to CL, Haskell, ML, python or something. If more people would have done that these languages would be a lot better of now)

Edit: An example: Alot of wat you get from clojure you could of gotten from CL 10 years ago. Why didn't more people think of this that way?

At least we can agree on the point that clojure is awesome and that we are really happy to have scala and clojure today.

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

#74
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…

is this really a big deal? I wrote my share of Java code with generics and the issue never popped up, because generics are way more restricted than c++'s templates. E.g. myclass 4> can only be a syntax error because you can't have a value in there, inly a type name

Ok. Still, it makes syntax highlighting and everythink lexical so much harder and ambivalent (think a> - close paren or right shift?) with no benefit compared to e.g. []

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

#75
post #29
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…

Your example is a tad too simplistic. Literally everyone would just write z = x + y; inline Why parameterize needlessly? If you're saying that list comprehensions are clearer in functional form, I would suggest a more appropriate comparison. How about: * drawing some text on a bitmap in lines * building a list of nodes and doing a Minimal-Spanning-Tree I don't think they'd be much clearer.

Do that in Java and Haskell (with the same amount of library support) and show me how the java version is simpler. I would really like to see that. (you can take clojure or scala too)

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

#76
post #56
post #51

Earlier quoted context omitted.

The cynical in me attributes this presence of Java in enterprisey applications to the huge piles of documentation, flows, UML diagrams, the piles of servers, ESBs and Oracle databases, along with the priesthoods that keep all that in place and up to date. Reading that pile of documentation and interviewing the hordes that tend to the application are much more work than it would take to write a more modern version of…

According to Moore ( Chasm guy), new technologies tend to get standardized on by big organizations. Adopting it in the first place was hard enough, and they want to put off doing it again for as long as possible. The infrastructure and dependencies (those huge piles ) are a big part of why it's hard to change. Some are important and necessary dependencies that are expensive to change no matter what. I think this is c…

I believe this specific application can be rewritten in a week or so. If we factor in all the resources that had been dedicated to making small changes and the disproportionate amount of effort dedicated to make sure those small changes didn't break everything else, I'd go with a rewrite even if we kept the whole damn thing in Java, just with a saner architecture.

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

#77
post #74

Earlier quoted context omitted.

is this really a big deal? I wrote my share of Java code with generics and the issue never popped up, because generics are way more restricted than c++'s templates. E.g. myclass 4> can only be a syntax error because you can't have a value in there, inly a type name

Ok. Still, it makes syntax highlighting and everythink lexical so much harder and ambivalent (think a > - close paren or right shift?) with no benefit compared to e.g. []

again a syntax error, you can't have generics in an expression in which operators such as > are allowed, the java syntax is really simple and unambiguous to parse.

On the other hand, [] is used for arrays in java so it _would_ conflict with something

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

#78
post #34

so sad. first of all, nothing about java is good. nothing . can anyone on HN name one single app they use daily that is programmed in java? anyone? no! how is it that a language designed from the beginning to be cross platform doesn't have a single mainstream cross platform desktop app? they even couldn't get it to be a platform for web browser plugins, how pathetic is that! and even when it does run as a web browser…

I like some of your flame, and I like the style, but I will reiterate others' disagreement on some points. It's/its? wrong to pillory the JVM along with Java The Language. I hate scala and groovy, but they're/their designers cling to the JVM for very good reasons. Also, "C/C++/Python apps are 1000x more widespread than java apps" is kind of imprecise - why tack Python on the end there? That is like saying Apples and Oranges are more widespread than Bananas. I agree with the overall sentiment, but the parent got a little to firehosey with his rant. I really like the style, I have to say it again. Hacker News really needs more style. Would upvote again.

But we def. do not need yet another Java replacement and its/it's probably a bad sign if they didn't start with a compiler instead of a slide presentation.

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

#79
post #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?

The problem is that you often need to decorate a generic parameter with additional information (like its type constraints or variance). If the type parameter doesn't have a singular place where it's "declared", there's no convenience place to do that. In your example, how would you specify that T must implement Summable?

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

#80
post #48
post #47

Earlier quoted context omitted.

Scala, Clojure and Groovy are certainly not gaining "massive traction". There are still millions weenies out there turning out new Cobol ^W I mean Java/.Net applications.

I admit I don't have the statistics to back it up, but from my perspective Scala already gained massive mindshare in the set of programmers who both already use Java and actually care about new programming features. Is it already the defacto Blub language? No. Do I know anyone in my field who isn't at least aware of the proclaimed advantages of Scala (I'm in industrial computer science research)? Also no. The first c…

You need to realize that while Scala was in development, there were quite a few languages that were also rapidly gaining in momentum and mind share.

Having said that, while I do see Scala at conferences and in articles, this hardly qualifies as a sign of gaining momentum, and job boards hardly register Scala in the top 50 languages.

Post reply on HN