Hacker News new | ask | show | jobs
by yohannesk 272 days 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?
2 comments

See Brian's article "Paving the on-ramp": https://openjdk.org/projects/amber/design-notes/on-ramp
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)
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.

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.

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".

It always was and is a random special case.