3 ms·
I think part of the reason why programming (and open source especially) allows for very young people to participate easily is simple: bugs always exist. Open so
by shantanubala 15y ago
I think part of the reason why programming (and open source especially) allows for very young people to participate easily is simple: bugs always exist. Open source projects need a lot people -- not just A-grade programmers or developers or computer scientists who've had decades of experience. They need documentation, bug reports, patches, active forum/mailing list members, and community organisers to be really successful. It's easy to get started just by hanging out on forums, eventually noticing a bug, reporting the bug, learning more about how the software works by understanding the bug, possibly trying to fix the bug, etc. Over time, it isn't too hard to start making very significant code or documentation contributions to a project.
In contrast, bug-testing Newton's Laws is a waste of time, and bug-testing General Relativity requires a very large budget. Attempting to make a meaningful contribution to physics is very difficult. The same can be said for any pure science.
By definition, any pure science (natural or social) doesn't evolve quickly enough to allow for quick-but-meaningful contributions because pure science is about establishing a base of knowledge that builds directly on previous knowledge. Without an understanding of the "previous knowledge," any newcomer would be lost and wondering what's happening.
In contrast, applied science is often an orchestrated effort that involves experts in different fields and contributions from different fields (e.g. your software is as valuable as its support, and your interface ideas are as good as the person implementing them). Prior knowledge isn't necessarily as valuable as the ability to integrate ideas from different places or collaborate with others.
Would you agree? I ask because part of me feels like I might be missing something.
- ihodes 15y agoI don't think you are correct, though you may be partially correct. Perhaps many people get into programming by fixing bugs, but that never appealed to me, and didn't really appeal to many people I know. It's good advice for newbies trying to get better, I suppose, but it's not very satisfying work (for many). I got into programming by exploring my computer, websites, and slowly piecing together an understanding of the machine. Eventually, I learned a programming language to (mostly) proficiency. And then another. And then another. I still don't feel like a pro, but I'm getting there. And I still hate fixing other peoples' bugs, or my own.
- philwelch 15y agoFixing bugs is something that only becomes enjoyable as you become a little more mature and experienced as a programmer. Bug fixes can be pretty satisfying; it can be a nice change of pace to solve small, well-defined problems.
- p4bl0 15y agoFixing bugs can be very enjoyable. I like watching House MD for the same reasons. I feel like House's quest for a diagnosis given a subset of the symptoms and his way of trying to provoke new symptoms to appear in order to narrow the set of possible diagnosis, is just like trying to find the cause of a bug. I don't know if other programmers watch House with this analogy in mind, but I wouldn't be surprise if it's the case, the analogy is really strong.
- weavejester 15y agoInvestigating bugs seems to me like the only part of computing that could actually be considered a true science. You come up with theories about why a system is going wrong, and then setup experiments based on those theories.
- gtrak 15y agoI enjoy fixing bugs when the bugs themselves are rare and satisfying to discover. However, I can imagine a scenario where you have a ball-of-mud for a code-base and it stops being fun.