From Joomla! Documentation
There are several ways of setting up your workstation in for Joomla! development. Some suggestions can be found at Setting up your workstation for Joomla development.
Documentation on the Joomla! API can assist with becoming familiar with the foundations of the Joomla! code base.
Finally, Joomla! has many resources for developers. Our Joomla! Resources page will get you pointed in the right direction if you need help and solutions.