winterkoninkje: shadowcrane (clean) (Default)
wren romano ([personal profile] winterkoninkje) wrote2010-07-28 12:32 am

If you were hacking since age 8, it means you were privileged.

All you hackers should read this. True to form, I came to hacking late, much despite a strong interest in mathematics as a child. (For those who may not be aware, mathematics does not have the same gender inequity problems CS does.) These sorts of privilege contests have always pissed me off, not just because of the machismo involved but also —though I did not have the words at the time— exactly because of their brandishing of white male privilege as virtuous and ideal.
lindseykuper: Photo of me outside. (Default)

[personal profile] lindseykuper 2010-07-29 12:48 am (UTC)(link)
Thanks for the link. I commented over on Geek Feminism, but one thing I forgot to mention there is that sometimes, with those of us who started hacking late, it turns into a reverse pissing contest -- sort of a "Look how good I am at this now, with only n years under my belt -- if I had been doing it as long as you have, I'd obviously be better than you!" thing. I've certainly been guilty of that kind of bragging.
lindseykuper: Photo of me outside. (Default)

[personal profile] lindseykuper 2010-07-29 10:00 pm (UTC)(link)
I actually think C has something important going for it as a beginners' language: minimalism (small and internally consistent and not overengineered). But it's too low-level, and I would be nervous starting with C because I wouldn't want anyone to get the mistaken impression that C's types are, you know, types. I want a first language to be high-level, minimal, and functional (so you can relate it to the math you already know), which is part of why I think Scheme is great as a first language. Python's not bad, either. For a second language, some ML-family language seems like a great idea to me, but Haskell isn't necessarily the best choice, in my opinion -- I still want minimalism at this stage. For a third language, learn C along with learning to understand the machine and the OS. For a fourth language, learn a language designed for working on large distributed projects, as well as the tools that go along with it, and at the same time, learn how to work on large distributed projects.