Why not start with a Raspberry Pi as your first programming experience?
As a hardware controller, the Pi has 17 i/o pins which is less than the small Arduino, however the Pi costs more.
The Pi does not come ready to control it's general purpose i/o pins. You have to load Python or another program to do that.
RPi.GPIO Python package is suggested. You have to select your program and start it. If power is lost, an operator is required to do this in most cases. Arduino boards can power up and run by themselves.
Python on the Pi is not compiled, but all Arduino boards use compiled code. Compiled code is smaller and runs faster than code which is not compiled. The Pi has a faster chip than most Arduino products, but its programs have a slight added overhead due to the fact that an operating system is running in the background. Faster Arduino systems based on 80 MH chips are available.
The Pi is a good system for a small project that must have a graphic interface or deal with media (audio or video).
For any project which will tolerate a larger computer, an old desktop or laptop running robot basic will have a lot more power and be able to interface with any known hardware.
The big advantage to using an Arduino family board is that a great number of program examples are available for free on the web. Many special libraries have also been written to drive specific hardware.
The Arduino family is very extensive and includes systems that range from bare chips to systems with many extra i/o buses and up to 500Kb of program memory and 32 Kb of RAM.
The information about the Pi used in this article came from:
Raspberry Pi Handbook 2nd edition by Linux Pro Magazine.