I've been programming microcontrollers my entire programming career and now do a fair amount of work with Arduino.
The only advantage I've found to not using the Arduino libraries is when I need raw speed. e.g., a few months ago I had a project where I needed to read an analog input, calculate/lookup sine & cosine, do some math, and generate an output all within 300 uS.
At first glance, it seems trivial, but there was no way the Arduino libraries were fast enough. They are optimized for ease of use, not speed.
However, remember that in most modern programming, the programmer time is the most expensive variable. Using the Arduino libraries keeps that cost in check.
The only advantage I've found to not using the Arduino libraries is when I need raw speed. e.g., a few months ago I had a project where I needed to read an analog input, calculate/lookup sine & cosine, do some math, and generate an output all within 300 uS.
At first glance, it seems trivial, but there was no way the Arduino libraries were fast enough. They are optimized for ease of use, not speed.
However, remember that in most modern programming, the programmer time is the most expensive variable. Using the Arduino libraries keeps that cost in check.