Written in Java, Arduino software can be downloaded for Linux, Windows, and Mac OS X for free.
Arduino makes things easier by releasing the environment with full Arduino support for writing code and uploading the code into the board memory. Software available is compatible with Linux, Windows and Mac OS X operating systems. There are many software versions released in time with new and new features aiming to create a friendly environment to develop from simple to advanced Arduino applications. Written in Java, Arduino software can be downloaded free on many operating systems platforms.
For those who do not use Java, I prepared a short list of available alternatives:
1. ArduIDE (Qt-based) - http://www.mupuf.org/project/arduide.html
2. Arduino-CMake - https://github.com/queezythegreat/arduino-cmake
3. gnoduino - http://freecode.com/projects/gnoduino
4. Ino - http://inotool.org/
5. Scons - https://github.com/suapapa/arscons