I have a confession: I don't know the difference between a console, terminal (-emulator?!?), shell, bash and all these things. It's all just a black window with text for me. I've never understood why people talk so much about git shell when my normal windows cmd/Powershell can do just the same git commands.
I'm also a prolific and successful software engineer. These two things shouldn't mix. So please tell me what I missed in life when these things are completely alien to me.
> The terminal seems simple at first (you type in commands and run them! no big deal!), but the more you learn, the more you notice a million little inconsistencies (why does pressing the arrow keys sometimes print out "^[[D"? why does selecting text sometimes not work? why are the colours sometimes unreadable?) that make it feel like an inscrutable black box. And it often doesn’t feel worth it to learn more because documentation about the terminal is so fragmented and full of obscure jargon.
> But! Understanding just a little more about the terminal can make your experience WAY better. You can quickly recognize what’s causing a problem (“oh, my arrow keys aren’t working because this is one of those annoying REPLs that doesn’t support arrow keys!”) and immediately fix it (“I’ll use rlwrap!). Or you can turn “wow, this text is unreadable” into “oh, my terminal emulator is responsible for colours! I’ll just go into the settings and reconfigure my colours!”.