The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other open-source software.
If you are a Linux user, it is possible now to run the IDE directly using command line without the need of X11 display anymore.
Check the release note of this version:
ARDUINO 1.8.0 – 2016.12.20[ide] * Linux: running in command line mode doesn’t require an X11 display anymore
* “Save as” now clears the “modified” status
* builder: Paths with strange UTF8 chars are now correctly handled
* builder: .hpp and .hh file extensions are now considered valid sketch extension
* builder: core.a is not rebuild if not needed (improve build time in particular for big projects)
* Fixed swapped actions “Copy for Forum” and “Copy as HTML”
* Linux/osx: If an editor tab is a symbolic link it is no more replaced with a real file when saving (see #5478)
* Increased the upload timeout to 5 minutes (it was 2 min, but it may be not sufficient when uploading via UART a big sketch) [core] * Added Arduino.org boards
* Added Adafruit Circuit Playground board
* Added “-g” option to linker to keep debug information in the .elf file (see #5539)
* avrdude: Added fake configuration for EFUSE on atmega8 part. This solves a long standing issue with “Burn bootloader”.
Thanks @rigelinorion, @awatterott