By the time you get a job that lets you afford both you don't necessarily want to learn fashion from scratch.
By the time you get a job that lets you afford both you don't necessarily want to learn fashion from scratch.
Also, computers have dropped massively in price during the last twenty years. I don’t think becoming a hacker was ever super-expensive compared to many other activities, at least not during the last two decades, but now it’s quite affordable. Always depending on what you want to do, but – just as a point of comparison – I think being serious about PC gaming would likely be much more costly (well, I guess equally as costly if you are really into game development or something of that nature).
Luckily computing has never been as affordable and accessible as today.
As a teenager I didn't exactly grow up poor but my income was restricted to what I could earn by working around my studies, so at most 12 hours a week at minimum wage which for a teenager was something like £3 an hour.
At that sort of income doing things like renting servers , iphone SDKs, decent computers etc start to look more expensive.
I disagree. In middle school I had a textbook on assembly language; the first chapters used DEBUG (a 16-bit debugger which came with DOS) but later chapters switched to programming in Microsoft MASM which was $180.
I remember thinking, "There's no way my hacking budget can take that. It'll take me years to save up that kind of money, and when/if I do, I'm definitely gonna blow it on video games."
I learned a lot by writing a QBASIC script which added label functionality to DEBUG to make it more usable assembling large programs.
Also, the only C compiler I had was Turbo C++ Lite for DOS, which came with another textbook I picked up for cheap (I recall $20). It was crippled: You could only run programs from within the IDE. If you used the "compile to EXE" option, it would work but the resulting executable would do nothing, just spitting out an error message along the lines of "Only the full version of the compiler can produce working executables".
But because different programs produced different-sized executables, I figured that meant the EXE file wasn't just a placeholder, it actually contained the compiled code but it was disabled somehow.
I figured out through tracing and in-memory patching (with DEBUG of course!) that there was a conditional branch within the first couple hundred instructions. Replacing it fixed the problem!
Kids these days have it so easy. All of the tools you need have excellent FOSS versions you can instantly download. Online resources are more comprehensive and up-to-date than any textbook. Modern languages have garbage collection and array bounds checking, eliminating entire classes of bugs.