If by native AVR, you mean avr-libc, it's nothing at all like Arduino.
Instead of analogRead, you need to write your own busy loop watching certain bits in a register (or ISR), you need to twiddle bits in several registers to set up the ADC the way you want it, etc.
Serial.write? Nope, gotta read the docs, twiddle some bits again, and then you actually do get to use printf.
Those two right there are big hurdles to someone new to microcontrollers. In fact, they're a hurdle to me and I've read AVR datasheets for fun.