I absolutely agree with you !
For something as complicated as your TFT display example I would take full advantage of the support for C++
for the Arduino, otherwise the resulting code is going to be a nightmare to maintain and extend.
BTW, Richard K4KRW did a great job with the Arduino code he wrote for your Modular Transceiver.
IMHO, It is a very good example of what can be done to produce excellent code in an Arduino environment.
In fact, it is so well partitioned that I plan to try to port it over to the Raduino so that I can use it as a VFO for the Norcal 40A
I am building. This should involve changing not much more than the implementation of the two classes that he has defined to handle the details of the LCD Display (the Raduino one doesn't use I2C) and the DDS (Raduino uses the Si5351a not the AD9850 that Richards code currently supports).
By encapsulating the gory details of the hardware into private methods within these two classes he has made my task significantly easier !
P.S. I was also recently reminded that "complexity is in the eye-of the beholder".
A friend looked at Allard's code for the Raduino and commented that he thought it was a lot of code, which surprised me as I was thinking
that a couple of thousands of lines of code is actually a pretty small amount.