I know nothing about programming (maybe that is obvious from the odd question). If someone had an interest in learning, where would he start? Are the paths so varied that even the basics are not universal?