Code search engine Krugle seems to be nearing its initial release and based on a screencast they put out a few weeks ago, it looks like it’s going to be a tremendous resource for developers.
Ironic though — and perhaps a vehicle for an academic attitudinal adjustment — Krugle may give rise to a level of productive and efficient code reuse that could hardly be attained before. Which is to say that the need to write original code anymore will certainly become… deprecated. Man, is copyright so obsolete or what?
6 thoughts on “Code search engine Krugle looks promising”
Grabbing code from elsewhere and putting it in your project is like putting the proverbial square peg in the round hole.
Oh right, “if it wasn’t written here, it’s no good”. For all the effort that’s gone into reinventing standards practices, I’d have to disagree. Turn the square peg 90 degrees and you’ll realize that you’re holding a cylindar.
It’s all a matter of practice, perspective and elbow grease.
Right, plenty of elbow grease will gt it done. Things can go together if you want them to, but they don’t fit out of the box. And searching won’t change shapes of things, jsut make them easier to find.
Ok, I’ll buy that response for a dollar. 😉
Oh and code sharing does take place, its called libraries, frameworks, APIs, etc. No searching required, just good documentation or willingness to tolerate bad documentation.
Hi Chris & Neil,
Thanks for the post and discussion. A few thoughts on the “copying code” topic…
1. I agree with Neil that for most situations, if you’re thinking about copying code, then what you really want to be doing is grabbing a component/library/application. Something where the external (public) API has had a modicum of design, testing, validation. Versus the icky (that’s a technical term) stuff you usually find when you look under the covers.
But you still need to be able to find the component/library/app, evaluate it before investing time in downloading/trying/integrating, peruse the related newsgroups & bug reports, etc.
2. There are cases where copying snippets works – for example, two days ago I needed some code that turned a DOM object back into text. The Apache XML project had a file with the pieces I needed.
I think that over time the size of a useful, reusable “chunk” will continue to shrink. A Long Time Ago when people talked about OSS they often meant Linux. Now many of the 150K+ projects out there are much smaller in size & scope. And with web service APIs the level of reuse is approaching the API level.
3. Often where I use search is to find examples of how to do something – cases where I’m using an API (at the level of language, SDK, component, library, whatever) and it’s not working right, darn it. So in this case I don’t care about whether it’s a component or not, I just want to find code doing something interesting that I can look at.
I blogged about this previously, but a friend (Joe Ternasky) had an interesting take on the MOSS (measure of software similarity) tool. Currently it’s used to detect (and punish) plagarism, but in the future he notes that students who don’t reuse available open source code should get penalized 🙂