I should have mentioned this earlier, but the Amiga includes and headers aren't necessary for all programming languages. For example, there are several programming languages that come with everything you need to start programming the Amiga without having to have the Amiga Developer's CD or RKRMs (even though having them wouldn't hurt). Among these are:
Amos
Blitz Basic
CanDo
ACE
ARexx
Amos and Blitz Basic have been very popular with game coders since they can use the BASIC programming language (along with the built in utils that each package offers) to quickly have graphics and sound up and running without having to manually do the OS calls (or hardware banging) needed. Amos development and support seems to have ended, but Blitz Basic just recently saw an update to version 2.3 and has support modules for AGA and Workbench programming (whether Amos extensions like these exists is unknown to me).
ACE (A Compiler for Everyone) is the BASIC language, but the last time I looked, it didn't seem to have very much Amiga-specific gfx and sound support. It is worth a look though if you want a free BASIC compiler to do some quick programming.
CanDo has sometimes been called the 'closest thing on the Amiga to Visual Basic'. I assume they meant VB3. CanDo had it's last version update to version 3.008 (update from 3.0 to 3.008 is available on the Aminet under biz/patch). It has a visual development environment, and a BASIC- like scripting language, and has been used for everything from writing terminal programs to multimedia displays. There are some who would argue that I should include this program with others like Helm and Scala, but those are primarily Multimedia presentation programs, whereas CanDO can also offer general programming capabilities. It is a fine application... if you can find a copy for sale. The creators, Innovatronics, seems to have long-since vanished, but supposedly there is still a vendor for it in Europe. See the CanDo Corner for more details.
ARexx is a scripting language that has been included with AmigaDOS for a while now. While it is mainly known as an inter-process communications language (allowing several ARexx-aware programs to interact and control one another), it can also be used as a general, interpreted programming language. Several web locations have ARexx tutorials online for those wishing to learn to use ARexx.
For those wishing for fast speeds, you can use any number of compilers with the Amiga.
C:
SAS C/C++
Storm C/C++
Dice C
VBCC
GNU C/C++
E:
AmigaE
Pascal:
HighSpeedPascal
And there are several others like Oberon, Modula, etc which I have no experience with.
The best thing to do to learn programming on the Amiga is to look at as much example source code and get the RKRMs mentioned earlier. Hopefully, once Amiga Incorporated gets up and running, we'll see some programmer support on the market again.
What would really be nice is to see online developer documentation similar to the way Apple has put its Macintosh developer information online. Also to be compared is Microsoft's MSDN online library information. Anything like this from Amiga Inc/Int would be a major improvement over what we have now (i.e. nothing).