Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: