Um best programs for mixing hmm... I use FL studio 10, or Cubase and playing on keyboard in midi IN (YAMAHA rulez).
U can use those programs for mixing too (but you must have many RAM) they have pretty much sound quality.
Virtual DJ its a good program too, but if you starting to creating music, learn for first in eJay programs, they are pretty simple in use
Cubase and FL studio are more advance, and pretty hard to use in first time.
Learn on programs where you are working with samples.