Hacker News new | ask | show | jobs
by albumedia 4964 days ago
In Engineering we learn about a "black box" - a device that accepts an input and return an output. We couldn't careless about the parts/components inside that black box.

Sometimes we have to treat programming like a black box. All we care about is getting the desired output. There will always be time to make the code efficient later.

The end user and manager only care about the output.

1 comments

If there's a bug, and you have to wade through 10K+ lines of utter shit to fix it, WITHOUT causing a regression, you're screwed. The "black box" mentality works fine for prototyping, but once you've got a working prototype, you should throw out the prototype and write a clean, MAINTAINABLE system from scratch.
Ah yes, the second system. To great effect. See the Netscape 5 rewrite, a great example.