I would say both. You need to learn by trying things out, making your own mistakes and finding a style. Then you get input from the outside world on why some peculiar structure make sense or just giving helpful tips. Then you try out more, apply those tips and see what works for you. But you can read as much helpful input as you want, it won’t be any good without you trying to apply it and practice.
The standard Arduino platform is essentially C, just with some standard hardware-near procedures hidden away as far as I know. You can just write standard C code in two blocks: init and loop. Then the loop block will be repeated for ever. For controlling voltage pins you have easy commands similatlr to like pinState(PinNumber, on/off). I do not know about the others you mentioned, but there definetely is also some implementations for Raspberry Pi control by drag&drop. There is no need to limit yourself with those though.