Wees blij dat er een Arduino omgeving is. Anders had je alles zelf moeten programmeren. Zoals het zetten van allerlei registers etc. En zelfs voordat main() begint gebeurt er ook van alles. Bij C++ en C wordt er direct gewerkt via main(). Maar ook daar zou je een setup() en loop() constructie kunnen opzetten.
Zonder die omgeving was de Arduino nooit zover gekomen zoals het nu is. Alleen slaan mensen zo ongeveer alle tutorials over.. Tja... Dan begrijp je er weinig van.
Voor C# is het een ander verhaal. Daar zit vaak een hele engine onder die er onder andere voor zorgt dat je bijv. op OSx, Windows en Linux kan draaien. Ik zie C# altijd als de tegenhanger voor JAVA.
En voor wat dat laatste betreft....
Gestructureerd programmeren begint bij mij met "eerst denken en dan doen".