First off, I'd like to apologize if I've posted this in the wrong category; I figured it would either be programming or operating systems and that the latter was more appropriate. Anyways, I would like to start learning how to program, and was just wondering if dual booting a form of Linux with windows 10 is something I should be considering? I'm a computer engineering student (atm, I've also been thinking about software), so I routinely use CAD programs, Maple, etc. Do I need to work with a Linux based platform in order to learn programming? Is Dual booting the best route? What are virtualmachines? Essentially, I'm looking for a beginners guide to getting started with experimenting with Linux, if I need to and how I should go about it if I do. I wouldn't be using my main rig, I would dual boot my new laptop (Lenovo y700 i5 model). I'd love to hear anybody's' thoughts on what I should do