Profiles are written in xml,plugins behaviors and routines in c#. Intellisense in vs gives you insight in the api when you reference hb.exe in your project
Programming a Plugin is very similar to programming a CombatRoutine. CodenameG has an excellent guide on how to get started: How to Write a Custom Class, a Guide for Beginners. Despite its name, its largely applicable to plugin writing also.
After you get your toolkit set up as CodenameG tells you, all you need to get started is a "skeleton plugin" to start modifying. Nomnomnom's [Plugin] Keep WoW's 8th Anniversary buff online! is perfect for learning. Start-to-finish, its a plugin that's less than 70 lines long.