From Joomla! Documentation
Joomla! is built using PHP and MySQL, the most widely used web technologies anywhere. Joomla! is of course an open source project, as are PHP and MySQL. The technical design of Joomla! recognises that, although there are great benefits from using a pre-packaged CMS package to build a web site, each web site is different and there is no single approach that will work for everyone.
The solution is to make Joomla! as easy to extend as possible, while providing a rich and reliable core feature set. As discussed earlier, Joomla! can be extended in a number of ways, including with pre-built extensions, custom templates, custom template overrides, and by customising the core programs.