The fun thing about programming is the feeling of building something. You start with something small and pretty basic. Just like making a metal robot. Then you start adding more features to it, and you feel that it's growing, it's improving, it has more now than when it started. When you find that a part is inefficient, you try to improve and optimize it. Once you get started, you, as a programmer, gain inertia and you tend to do more in a shorter amount of time.
This night (or, more appropriately, 2:47 am in the morning) I just added a lot of new features to the system I'm developing for a medical company. The system is built in PHP, MySQL, and runs on an APACHE server environment.
I'm still going to add more features tomorrow, when I wake up. For now...