News for hackers. Stuff that matters.
Re:The Clojure Community and Me by shantanubala on Sunday November 27, 2011 @07:48PM (#3283922)
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.

Re:The Clojure Community and Me by ihodes on Sunday November 27, 2011 @08:11PM (#3283991)
I 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.

Re:The Clojure Community and Me by p4bl0 on Monday November 28, 2011 @04:40AM (#3285259)
Fixing 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.
Re:The Clojure Community and Me by weavejester on Monday November 28, 2011 @09:40AM (#3286011)
Investigating 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.
Re:The Clojure Community and Me by philwelch on Monday November 28, 2011 @12:53AM (#3284753)
Fixing 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.
Re:The Clojure Community and Me by gtrak on Monday November 28, 2011 @10:14AM (#3286140)
I 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.