Quote:
|
Originally Posted by Steve W
Could you please explain the differences in your statement between hardware and software. As I see it the argument holds equally true with either.
|
Please correct me if I'm off the mark, but I believe that Seanwitte is saying that by having code that can be built off of previous implementations, programmers can work on adding to the code rather than re-working it.
After reading the thread, I think that the machine part v. code is a faulty analogy because of the information they hold. Rather, I suggest that a source file is closer to the working-drawings that are used to build components. I say this because working drawings are a very information-dense format of representing the idea of a part; In my design class, I wouldn't throw out my drawings at the beginning of every project, rather, I re-work them to speed up the next project to allow me to work on something new. In the same way, the source code is a very information dense format of representing an idea of behavior. I think Seanwitte is saying that by having code modules already developed, instead of re-writing them, they can be tweaked to fit a new situation and then new code and new implementations can be built from them.
The analogy breaks down at the implementation stage, because machining a part takes more time than compiling a program; the information-dense idea to information-diffuse implementation divide is blurred.
However, consider a team that has a CAD file for a part. To make the part, they can enter this into a CNC, go to (Wawa/7-11/Subway/etc...), and retrieve their part. By having this, a team can plan new implementations without worrying about the base every year. Maybe they want to add a turret on their already developed frame? The programming analog here is adding a new function. By having a code base for managing joystick input to drive motor output (lets say the team wrote a piece of code to linearize the input to output and also added a deadzone on the joystick). This year, the team plans to implement the already-debugged code block, but also to add functionality for using the gear-tooth sensor and an accelerometer.
I think that this difference is key to why I am behind the conclusions Mr. Scheck draws in
post #62