People who bash the Arduino IDE and library are hating for no reason.
its ok if your program is few lines doing led blinks. try develop a program consisting 10+ files, tens of thousands of lines in each file. you'll know how high is the sky.
lots of people say they don't like Arduino IDE because of the simplified high level libraries. But the truth is Arduino IDE doesn't force you to use libraries (like digitalWrite, analogRead etc.), in fact it allows you to program at low level if you want, setting bits on registers and so on,
true. in fact some view the high level libraries as a positive, not negative.
Of course, it forces you to maintain setup() and loop() functions
not true. you can leave setup() empty and make your own loop in the loop()
in other word, you can achieve code speed and structure efficiency of arduino the ide just as the atmel studio or any other C/C++ IDE.
so what exactly is wrong with using Arduino IDE?
very limited color aided text, auto indentation option. has some stupid notion that ino name must be the same as folder name, and some other minor things. of course you can argue this. but try to argue this... turtle slow compilation time, no extensive debug, step into, step through feature in PC before actually uploading the code and running it in the chip. but as i said, it doesnt matter if your code is just a led blinker logic. i sometime fired up arduino the ide just to make a slight upgrade modification to my 3d printer reprap firmware. the compilation and uploading took minutes, i just cant imagine how much time spent (wasted) by the original fw developer developing and testing such massive fw from scratch in arduino the ide.
anyway, if i want to implement Serial.print() in atmel studio, i'll just go and dig how they do it in the arduino ide library...