4 ms·
> Why open black boxes that are working? Maybe to modify them ?
by thibauts 14y ago
> Why open black boxes that are working?
Maybe to modify them ?
- el_cuadrado 14y agoWell, modifying a distinct method is much easier than modifying something in a middle of 20-page scroll of code. There are simply fewer thing that can go wrong.
- klibertp 14y agoOr even to understand how they are working and to check if they are really working correctly? I really don't like this attitude of ignoring inner workings of things just because they seem to work. Sometimes we really are working under constraints that make digging through the code impractical, but in my experience these constraints tend to be in the code itself - namely, someone wrote it as a 'black box' with tons of kludges and `if False:` style comments. I don't want to exaggerate and say that every programmer should know his every tool down to it's last bit, but taking black boxes apart is what makes one a hacker, and what allows one to improve one's skills.
- aidenn0 14y agoFair enough. Curiosity is a very reasonable excuse for opening a working black box, and is definitely what makes one a hacker. On the other hand, most systems these days are so complex that you have to have some black boxes. I know more about how my linux kernel works than the vast majority of people I work with, and yet I would classify the majority of it as a black box. I have a general idea of various trade-offs in efficiency and fragmentation resistance in malloc implementations, and if I have to I can dig into one. On the other hand, jemalloc works great and I just don't have the time to take it apart, so I just use it. Ultimately to get things done you need to trust that functions do what they say they do until you get evidence to the contrary. Taking functions apart can make you better at doing your job, but rarely fixes the problem you have Right Now.