Earlier quoted context omitted.
Could you please give a few examples of "all the broken, half-designed stuff they are trying to ship"?
- extension methods - property syntax + magic identifier - reified - immutable wrappers around mutable collections - const - multiple redundant ways of defining generic upper bounds - companion objects + syntax - operator/infix rules - constantly changing nullability rules
Why you might want to choose Ceylon
141–148 of 148 posts
Re: Why you might want to choose Ceylon
#142Earlier quoted context omitted.
Could you please give a few examples of "all the broken, half-designed stuff they are trying to ship"?
- extension methods - property syntax + magic identifier - reified - immutable wrappers around mutable collections - const - multiple redundant ways of defining generic upper bounds - companion objects + syntax - operator/infix rules - constantly changing nullability rules
As Scala (or Ceylon) has such radically different goals from Kotlin, it doesn't make much sense to discuss which features were imported and how without first understanding the why. Kotlin's designers didn't say, "I like this Scala feature but not that one"; they said, "we have this goal and this Scala feature serves it but that one doesn't". A language is not measured by what features it has, but by how those features serve its goals, and whether those goals are appropriate to begin with (i.e. provide a good cost/benefit ratio).
Re: Why you might want to choose Ceylon
#143Earlier quoted context omitted.
I'm not sure why you're being sarcastic. I'm not saying it'll be bug-free. My point is that it'll have exactly the same bugs on either platform. This may be preferable to having different bugs on different platforms.
Same bugs on different platforms are extremely hard to find. Different bugs on different platforms are like an early Christmas present: You don't even need to write tests which include your "expectations" of the result anymore. Just call the code with randomized inputs for both platforms, and if there is a difference, you found a bug.
Re: Why you might want to choose Ceylon
#144Earlier quoted context omitted.
- extension methods - property syntax + magic identifier - reified - immutable wrappers around mutable collections - const - multiple redundant ways of defining generic upper bounds - companion objects + syntax - operator/infix rules - constantly changing nullability rules
I think you are falling into the mistake of associating what you call design with features. How features are implemented and how consistent they are with some pure notion of their role is secondary to how they serve the high-level design goals . Once you understand Kotlin's design goals you see that the features and their implementation make a lot of sense. If you think the features aim to serve another goal, then th…
Re: Why you might want to choose Ceylon
#145Earlier quoted context omitted.
- extension methods - property syntax + magic identifier - reified - immutable wrappers around mutable collections - const - multiple redundant ways of defining generic upper bounds - companion objects + syntax - operator/infix rules - constantly changing nullability rules
What's broken about extension methods? I have zero experience Scala and about a week's worth of experience with Kotlin, but so far I'm finding extension methods to be pretty straightforward and useful. What am I missing?
Re: Why you might want to choose Ceylon
#146Earlier quoted context omitted.
I think you are falling into the mistake of associating what you call design with features. How features are implemented and how consistent they are with some pure notion of their role is secondary to how they serve the high-level design goals . Once you understand Kotlin's design goals you see that the features and their implementation make a lot of sense. If you think the features aim to serve another goal, then th…
Sorry, but I don't plan on reading your confused ramblings.
Re: Why you might want to choose Ceylon
#147Earlier quoted context omitted.
What's broken about extension methods? I have zero experience Scala and about a week's worth of experience with Kotlin, but so far I'm finding extension methods to be pretty straightforward and useful. What am I missing?
Extremely poor cost/benefit ratio.
Re: Why you might want to choose Ceylon
#148Earlier quoted context omitted.
Extremely poor cost/benefit ratio.
Extremely poor cost/benefit ratio for what purpose ? If your main goal is to adopt existing classes and libraries as your own (i.e. without any loss of functionality compared to language-native libraries), then extension methods obviously have an extremely high cost/benefit ratio. You can't analyze a feature in isolation of the language's goals. Features exist to serve a purpose, and are measured by how well they ser…