And shapes, though you can get that with some ASCII art as well.
I've had a few scripts some time ago that took a long time to run, so I wanted a progress indicator I could see from across the room - that way I could play some guitar while monitoring the computer doing stuff in the evening.
Hence, the log messages got prefixed with tags like:
> ]
>> ] # normal progress
/!\/!\] # it had to engage in a workaround
x_x ] # if it had to stop.
> Rendering [failed] in red and [passed] in green would achieve the same. It's not emoji vs text. It's color vs no color.
Thats only true for the terminal. When the same output is saved to a file or viewed via a non-terminal interface, the colors won't always be retained but the text/icons will be. E.g. in Jenkins console logs, you need to enable ASCII coloring explicitly to be able to see colored text.
> Rendering [failed] in red and [passed] in green would achieve the same. It's not emoji vs text. It's color vs no color.
True, but my prompt is full of colour ASCII characters so emoji stand out. And also, emoji fare better than escape codes when they pass through pipes and stuff.