A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications.
Some concepts make perfect sense on paper, whereas others require you to get your hands dirty.
Take driving, for example. You can memorize every component of the engine mechanics, but that does not mean you can actually drive.