Individual personalities and experiences also come into play. These are gross generalizations, but serve the purpose of categorizing the types of information to present. Self taught hackers learn by experimentation. They dissect existing code, copying and modifying implementations. Their technique gradually coalesces from dominant influences.
Hackers often amass a library to improve their education.
Computer science students learn theory and are expected to teach themselves various languages and implementations. The education covers ideal solutions, often emphasising aesthetics and mathematical perfection. Students may not be exposed to practical issues in specific languages and techniques, focusing on working code. New learners enter the world of coding with a strong sense of need. Management might pick a hapless victim for a project of undefined scope.