I totally agree that it’s really annoying when debugging, but go run literally builds then executes. I think what they should do is add a build flag. So debug builds can pass that flag to get the builder to shut up, and leave it those errors enabled for production builds.
You’re also a programming language design nerd? Like, “Compare the features of language A to those of language B”, or nerding out about the underlying mechanics of things like generic types, virtual method dispatch, and no-stop garbage collection? I thought I was the only one. Well not the only one but it doesn’t seem that popular of a thing to nerd out over.
I find it very hard to believe that AI will ever get to the point of being able to solve novel problems without a fundamental change to the nature of "AI". LLMs are powerful, but ultimately they (and every other kind of "AI") are advanced pattern matching systems. Pattern matching is not capable of solving problems that haven't been solved before.
Of course I don’t browse the web with the command line.
That's my point. Browsing the web with a command line tool is obnoxious - you use a GUI for tasks that you find easier/more pleasant to do with a GUI. The difference is where that line is. When I'm reviewing what work I've done and checking through my code for debugging statements and other cruft I don't want to push, I prefer to have a nice tree view of my change set where I can click on an item, see what I've changed, select lines and stage them, select other lines and revert them, etc. I could do all of that with command line tools (though not that many have mouse support) but I already know how to do exactly what I want with VSC so why would I use anything else?
You’re already programming! Just learn the tool!
If someone is incapable of learning the tool, that's an issue if they're a developer. But your statement implies that everyone should use the CLI for everything. My point is that it's a matter of preference. The CLI is not superior and GUIs aren't superior. They're both just tools and if you can get your job done quickly and efficiently, that's all that should matter.
Do you use the command line for everything? Do you edit with vim, view diffs with git diff, browse the web with links or lynx?
GUIs are useful tools. I’m happy with VSCode’s git integration. It’s just what I need for basic stuff like staging files and committing. I use the CLI whenever I want to do something like rebasing because I can type that command faster than I can figure out the GUI, but it would be stupid to artificially force myself to use the CLI for everything because of some kind of principal.
Java is the top, C# is the bottom. The Java language designers consider unsigned integers harmful (and this). They're basically saying "You could hurt yourself with this so we're taking it away." I find that patronizing and disrespectful. On the other hand C# and Go tell you, "Yo bro, doing pointer math and direct memory manipulation is not safe, but I'm not gonna stop you."
It seems to me that programming evolves too quickly for this to be a significant occurrence. Granted my dad switched careers away from programming when I was 3, but his experience and mine are radically different. Though the first programming I ever did was on one of his old programmable HP calculators.
You get used to it. The only time I really notice it these days is when I’m debugging and commenting out code.