To create a program, we'll need an IDE, an IPE, a suitable compiler, and a programmer/debugger. The purpose of an IDE (Integrated Development Environment) is to create a programming environment. The compiler transforms the program into HEX files that can be read by humans. The IPE (Integrated Programming Environment) is used to program AVR MCUs to burn HEX files.
IDE: Atmel Studio 7
Compiler: AVR and ARM Toolchains
Assembly Language can still be used to program. Micro C for AVR, AVR, and ARM Toolchains, all given by Atmel's manufacturers, Microchip, are among the most widely used compilers.
Atmel-ICE is an in-circuit programmer/debugger that is used to program AVR microcontrollers. It uses Atmel Studio to burn the code into the ATtiny2313 AVR utilizing In-Circuit-Serial-Programming, which is controlled by a computer. Hardware such as a Perfboard, soldering station, Crystal Oscillator, capacitors, and an AVR IC is also required.

ATTINY2313 Circuit