Earlier quoted context omitted.
> Why go through the ceremony of `public static void main(String[] args)` when Python just executes the script line by line at the top level? Oh wait, now you have things like `import` actually executing code instead of simply being a compile-time namespace convenience, and you need weird techniques like `if __name__ == "__main__"`. You'll note that even Java now recognises that "public static void main(String[] args…
> You'll note that even Java now recognises that "public static void main(String[] args)" was pointless ceremony. There is still the part of the ceremony that actually mattered: having a single entrypoint instead of the option to litter side effects throughout the file and having those side effects execute automatically on import. > It sucks, but what's the alternative? 3.0 was a big missed opportunity to kill a lot…
You can actually do that in Java too with static initialisation blocks.
> 3.0 was a big missed opportunity to kill a lot of the deprecated cruft.
Maybe. 3.0 already came damn close to killing the language. If they'd made the changes any more radical it could easily have been another Perl 6.