Remix.run Logo
yohannesk a day ago

Why not abstract away the public static void main(String[] args) method with a top-level statement paradigm, similar to C#'s entry point simplification, to reduce boilerplate and enhance code conciseness?

BinaryRage a day ago | parent | next [-]

See Brian's article "Paving the on-ramp": https://openjdk.org/projects/amber/design-notes/on-ramp

mhh__ a day ago | parent | prev [-]

Why should the entry point be a random special case? You're already admitting at this point that OOP is flawed so you might as well just have the balls to design a proper alternative (rather than a kludge)

textlapse a day ago | parent | next [-]

A special static class that cannot be instantiated is not OOP already.

C# does this well by letting you OOPfy your other code but doesn’t require you to use OOP for this monstrosity.

a day ago | parent [-]
[deleted]
fhd2 a day ago | parent | prev | next [-]

This pattern isn't OOP, there is no objects here. And Java generally isn't a good example of an OO language to me. It's more like Class Oriented Programming. That is mighty flawed but was for some reason quite fashionable.

I wouldn't consider OO the way Ruby and other actually well designed languages do it flawed.

cies a day ago | parent [-]

And Ruby is basically Smalltalk with a friendly syntax and lots of FP-goodness where it makes sense.

Or, Ruby is a cute (mostly subset of) Perl.

And after some Kotlin I must say: Kotlin is an acceptable "Ruby with static types".

jayd16 a day ago | parent | prev [-]

It always was and is a random special case.