Java: The Next Generation



  • @blakeyrat said:

    (I do love how he identifies Ceylon improvements by pointing out what version of C# has them already-- hah! Why not just use C#?)

    @The_Assimilator said:

    "There's a programming language that already does what I want, but I can't use that language because it's made by THE EVIL EMPIRE, so I'll just fork an existing language and add those features. Never mind that doing so is completely unnecessary and will only create fragmentation, my ego must be stroked."

    Sigh. For the hard of understanding, Gavin King is the guy presenting Ceylon. Marc Richards is the blogger adding the C# references. Two different guys. Not hard.

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.



  • @bertram said:

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.

    How do you know I do?



  • @bertram said:

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.

    It is not that surprising, it is called velcro



  • @bertram said:

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.
     

    I never tie my shoes.



  • @bertram said:

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.

    I just get my mom to tie them before I go to sleep, then they're ready in the morning!



  • @bertram said:

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.

     

    As a condition of my probation I am no longer allowed within 50 feet of laced shoes.

     

    Sometimes, when I close my eyes... I can still hear the screams.

     

     

    Anyways, it's obvious == and even === is better; for example, let's say we want to compare a variable D to see if it is 8:

     

    in Delphi/Pascal we have the comparison of 8=D, which is somewhat embarassing. C and derivatives use 8==D, which is about average, depending on the scale you employ, and PHP's strict equality operator gives us 8===D. Of course, Perl's spaceship operator gives us 8<=>D which means a doctors visit my be required (well, it is Perl, that is somewhat expected)...

     

    oh wait, we were talking about the semantical differences between the various comparisons. Nevermind.



  •  This thread continues to reinforce my belief that all languages are actually imperfect reflections of Haskell.



  • @arotenbe said:

     This thread continues to reinforce my belief that all languages are actually imperfect reflections of Haskell.

    So IT is basically just a series of funhouse mirrors.

    No, that sounds right...



  • @blakeyrat said:

    @arotenbe said:

     This thread continues to reinforce my belief that all languages are actually imperfect reflections of Haskell.

    So IT is basically just a series of funhouse mirrors.

    No, that sounds right...

    It's not a funhouse! It's a tabernacle of terror!



  • @Xyro said:

    @blakeyrat said:
    @arotenbe said:

     This thread continues to reinforce my belief that all languages are actually imperfect reflections of Haskell.

    So IT is basically just a series of funhouse mirrors.

    No, that sounds right...

    It's not a funhouse! It's a tabernacle of terror!

    The Tabernacle is indestructible and everlasting!



  • @blakeyrat said:

    And it uses the PASCAL assignment operator... WTF.

    (I do love how he identifies Ceylon improvements by pointing out what version of C# has them already-- hah! Why not just use C#?)

    := is also present in PL/SQL from Oracle DB. I have seen those horrific stored procedures and lived to tell tale.



  • @haha-only-serious said:

    @blakeyrat said:
    rant


    Dammit is the typo in that image on purpose or not!?



  •  @bertram said:

    Gavin King is the guy presenting Ceylon.
    Some of the  things he has to say about Ceylon:

     http://www.infoq.com/news/2011/04/ceylon

    - Ceylon will compile down to bytecode to run on top of the JVM and with Java classes.

    - But we've changed many of the keywords; for example, instead of implements  you now have satisfies,   public becomes shared,   abstract becomes formal.

    - There's no null in Ceylon

    - 'void' a keyword.  There is a type called "Void" (capital V),  which turns out to be the return type of a "void" method, but lowercase "void" is a keyword.



  • @Xyro said:

    @Master Chief said:
    @da Doctah said:
    (We pause now to consider the effect on the newbie programmer who stumbles across A=B=C and thinks it means something different from what it actually does.)
    How is that hard to figure out? Comparisons and assignments are easily differentiated by their context in every language I've ever used.

    All right then, after the execution of that statement, tell me: is the value of A a boolean, or is it equal to B and C? And is A=B=C; if (A) {...} different from if (B=C) {...} ? If they are different, is there a way to store the value of a boolean comparison without using branching? Does it depend if A is typed to be a boolean? If they are not different, is there no way to assign the same value to more than one variable in one statement? If not, I guess that's fair, but it's an arbitrary limitation brought on only by overloaded syntax and not an actual design problem/solution.

     

    A has either a boolean value (which PL/I sensibly calls "bit(1)") or the result of coercing a boolean value into whatever type A was declared with (0 or 1 if it's a numeric type; '0' or '1' if it's string, etc).  Whether that value is zero or one depends upon whether B and C have the same value (or indeed can be coerced into the same value if they're of different types).

    To assign the current value of C to both A and B, PL/I allows you to write A,B=C;

    That's not the entire extent of PL/I's overloaded notation.  It uses parentheses for everything: grouping expressions, surrounding argument lists, array subscripts, the "additional" information (size, precision) besides data type that you specify in declarations, values of language keyword settings....



  • @blakeyrat said:

    @Spectre said:
    @blakeyrat said:
    the fact that typing := frequently is really, really awkward.

    Do you have a usability study on that?

    Don't quote me out of context. I said it was a probably bullshit belief in the post, you just clipped that part out.

    Well, not quite.  You asserted as 'fact' the idea that it's hard to type, which is what Spectre was questioning.  You qualified as 'unfair' using this as a reason to gripe.

    @blakeyrat said:

    And my gripe is mostly, and probably unfairly, founded on the fact that typing := frequently is really, really awkward.
                              



  • @bertram said:

    @blakeyrat said:

    (I do love how he identifies Ceylon improvements by pointing out what version of C# has them already-- hah! Why not just use C#?)

    @The_Assimilator said:

    "There's a programming language that already does what I want, but I can't use that language because it's made by THE EVIL EMPIRE, so I'll just fork an existing language and add those features. Never mind that doing so is completely unnecessary and will only create fragmentation, my ego must be stroked."

    Sigh. For the hard of understanding, Gavin King is the guy presenting Ceylon. Marc Richards is the blogger adding the C# references. Two different guys. Not hard.

    Seriously, how some of you guys manage to get out of your house with your shoelaces tied in the morning is beyond me.

    A rock, like your skull, is hard; hardness is a physical property. An advanced concept is difficult to understand; difficulty is a property of understanding. It's not difficult to use the correct word in the correct context, much like it's not difficult to tell when someone is trolling, nor is it difficult to determine that the reason Richards compared Ceylon to C# is because it's an obvious comparision to make.

    How you managed to crawl out of the primordial soup to post crap on forums is beyond me.

    @El_Heffe said:

     @bertram said:

    Gavin King is the guy presenting Ceylon.
    Some of the  things he has to say about Ceylon:

     http://www.infoq.com/news/2011/04/ceylon

    - Ceylon will compile down to bytecode to run on top of the JVM and with Java classes.

    - But we've changed many of the keywords; for example, instead of implements  you now have satisfies,   public becomes shared,   abstract becomes formal.

    - There's no null in Ceylon

    - 'void' a keyword.  There is a type called "Void" (capital V),  which turns out to be the return type of a "void" method, but lowercase "void" is a keyword.

    No null? HAHAHAHA. Renaming keywords for the hell of it? HAHAHAHA. Ego-stroking exercise for Gavin King? 100% certainty. Projection of Ceylon's use within 5 years? Only Gavin King, retards, and people who worship Gavin King (the 2 last groups may or may not overlap and will probably include bertram).


Log in to reply