I don't like it. I find it distracting, and harder to read. It feels as if I see more color than text. Then again, I'm colorblind, and slightly more sensitive to contrast, so perhaps that accounts for my preference.
You hit the nail on the head. Until this thread, I've never heard complaints from developers I've worked with regarding terminal colors. I agree with the few comments that mention a fixed coloring on white background being miserable is a common-enough edge case that I hadn't considered before now (I've met two developers out of thousands who use light mode instead of dark mode, so my prior expectations were low).
Windows terminals mercifully had simply white-on-black for decades, but thanks to the various Azure and .NET Core teams, Microsoft has been invaded by Linux and Mac users. Now everything has to be CoLoUr all the time.
Random colours.
Colours that make no sense.
RED ERRORS that are actually just titles.
GREEN OKAY that's actually just a table header.
Etc...
I had the misfortune of being forced to use some Node and NPM tooling recently, having come from Visual Studio and C# programming.
It was strangely nostalgic, like... stepping back in time to the 1990s and almost childish user interfaces. The spinning |/-\ symbols (with colours!) just killed me. I hadn't seen those since DOS 6.
There's something perversely conservative about Linux. There's all this talk of how it's the best development environment, but to me all this "colors in the terminal" stuff just seems like a throwback to the days when I had a 486...
In my experience, color is used to convey information for quick scanning, and is solid human-centered design.
Developers are human too, surprisingly, and benefit from good UX!
I'm a bit surprised a seasoned programmer feel these design patterns and tools for humans is childish. Do Visual Studio/C# coders typically see the many different universes of tooling outside of the limited MS Stack as childish or less evolved?
The differences is that a cohesive, consistent UI like the Visual Studio IDE allows complete customisation of the color scheme, uses subtle queues, and has colours that make sense in the context.
Typical open source command line tools are written by random people from all over the place, and there is no consistency at all, except perhaps seeing orange for warning and red for error. All other bets are off.
It's not like PowerShell, where there's separate output streams for Debug, Verbose, Information, Console, Warning, Error, and Progress! Where those can be styled consistently by the terminal, instead of the l33t coder that sprinkled some random Christmas lights into the output of his "xvtj7" tool or whatever.
The reason "NO_COLOR" makes sense and is needed is because color in Linux-style tools is done at the wrong layer, in the wrong way.
Format and style the output as the last step, not first.
> Do Visual Studio/C# coders typically see the many different universes of tooling outside of the limited MS Stack as childish or less evolved?
Don’t extrapolate too much from N=1. I used to work in a shop that mainly uses Microsoft technology. From those dozens of engineers, I don’t think I’ve ever heard that opinion. I would say the opposite, my impression was that most of them were quite happy with the increasing Unix-ification of Microsoft’s stack.
This is bold. (Pun intended).
Colors are immensely beneficial for opt-in. I haven't heard very many complaints about it -- why does the author assume many users don't?