But the question is, WHAT are these programs?
For raw modding? Notepad.
Notepad++, since Notepad doesn't have support for certain line breaks.
So basically modding Dwarf Fortress is file editing / creating?
Yeah, unless you use DFHack, for which you can write custom LUA/C scripts. DFHack really, REALLY extends what's possible to mod.
Well, Lua/Ruby scripts. C++ is plugins that have to be compiled and crap. I wouldn't worry about that until you get bored with raw modding or really want to write scripts/plugins.
I heartily agree that Notepad++ is incredibly helpful for raw modding. If you're
trying to make things difficult, skip Notepad and go right to EDLIN.
If your ideas are bumping against the limits of raw modding, there are two directions in which you can go. They aren't mutually exclusive, but it'd be hard to make yourself an expert in both.
Direction 1: Coding.
The raws are impressively flexible, but they are not a programming language. DFHack allows you to write scripts in Lua or Ruby that significantly extend what you can accomplish in a mod. The step beyond scripting in writing your own helper applications in a "real" programming language. These could be DFHack plugins like Stonesense or TWBT, or separate tools like Dwarf Therapist, Legends Viewer, and SoundSense. The step beyond helper apps is digging into memory hacking of DF itself, which basically means working with the DFHack team.
Direction 2: Graphics.
If things just don't
look right, you can make your own tilesets and creature graphics. This can be done in MSPaint but is much, much easier if you use a purpose-built illustration/graphics program. GIMP is a good one that's free. The step beyond those is to get into external visualizers like Stonesense. If you've been orderly in how you made your in-game graphics, most of that content should port over fairly well. I'd also put SoundSense content creation in this category, which adds sound effects and music to the game, though it's obviously a different class of content. Every once in a while someone comes up with the bright idea to make a truly 3D visualizer for DF, but there are some serious issues with how things are represented in the raws. Whoever cracks that nut will be a hero on Bay12... and probably find a lucrative market for rapid asset development for other gaming studios.
So, there's nothing wrong with starting small to figure out your interests. From there, you can go as deep into the rabbit hole as you want.