I agree that for experienced programmers working on large projects a little bit of verbosity around `main` is insignificant. But first impressions matter, especially when there is pervasive word of mouth about "verbosity".
Pretend you are a college student and you are taking your first programming class (e.g. CS 1) and your friends have told you that Java is "verbose". You start with "hello world" and you have to type `public static void` etc. One of your friends shows you the same code as a Python 1-liner.
Or similarly you're a beginning programmer in the workforce and your employer asks you to solve a problem using Java. You've heard Java is verbose and when you start with "hello world" you find that what you heard was true.
This is not a non-existent/minuscule audience. They should have fixed this decades ago. Better late than never.
I've been impressed with the modernization of Java over the last 10+ years. Simplifying "hello world" is a minor change relative to the others, but still an important one.
> But first impressions matter, especially when there is pervasive word of mouth about "verbosity"
I watched most of my comp sci 101/102/201 classmates fail out because they didn’t want to understand how things worked, they just wanted to make a lot of money.
I did cut my teeth on Java back in middle school-ish. It never bothered me at all, I was too busy having fun learning to program. I agree with GP, the mandatory class is a completely overblown complaint about Java.
It's almost 40 years since it was published and almost as long since I read it, but The Blind Watchmaker by Richard Dawkins [1] has a chapter or section about echolocation in bats that I found fascinating.
As I recall, it talks about how the scientists who discovered echolocation were initially laughed at (the greatest human engineers had just invented radar, how could the bats have evolved it?), how echolocation may have evolved stepwise, some of the specific physiological adaptions, and included some speculation about what kind of cognitive maps would be required within the bat's brain.
I don't know how well the science in that section holds up 40 years later, but it was beautifully written for the layman and was fairly high-level. If you're interested, I would definitely recommend taking a look.
I've been using Nix on macOS for almost a year. The good (and bad) thing about Nix is that it supports many different use cases, so you have to spend some time understanding the options before you can even figure out which flavor to install.
A good way to get started is to start using Nix to replace/supplement Homebrew. You can install Nix in addition to Homebrew and have some packages installed by one and some by the other. You can uninstall a Homebrew package and then reinstall it with Nix. You can even remove it with Nix and go back to Homebrew if you like.
I would wait on nix-darwin until you are sure you need/want it. (I have recently started using it for its support of the `linux-builder` feature, but not everyone needs that.)
As a software developer who uses macOS to develop for Linux, it is a great tool and I cautiously recommend it to those who are willing to deal with some learning curve and frustration.
I haven't yet used nix-darwin enough to make a recommendation one way or another. (But the `linux-builder` feature is compelling if you need it: https://nixcademy.com/posts/macos-linux-builder/)
Pretend you are a college student and you are taking your first programming class (e.g. CS 1) and your friends have told you that Java is "verbose". You start with "hello world" and you have to type `public static void` etc. One of your friends shows you the same code as a Python 1-liner.
Or similarly you're a beginning programmer in the workforce and your employer asks you to solve a problem using Java. You've heard Java is verbose and when you start with "hello world" you find that what you heard was true.
This is not a non-existent/minuscule audience. They should have fixed this decades ago. Better late than never.
I've been impressed with the modernization of Java over the last 10+ years. Simplifying "hello world" is a minor change relative to the others, but still an important one.