4 ms·
Software is definitely engineering for real time and safety applications. Consider aerospace software that keeps planes flying, drive-by-wire systems, and power
by Dwolb 13y ago
Software is definitely engineering for real time and safety applications. Consider aerospace software that keeps planes flying, drive-by-wire systems, and power plant software
- pnathan 13y agoI've done SW for real-time & safety critical systems. Things are heavily tilted towards "Quality" in the "quality fast cheap" triangle there, but at the end of the day, it's still: - unit tests - functional tests - code reviews - automated analysis tools I have a real hard time saying that this is engineering when it can be done by anyone who has the internal discipline to do it carefully. More pertinently, I don't believe that there's any experimental basis to demonstrate software's correctness for a task a priori. E.g., I (or actually a more competent mechanical engineer) can develop a model for a table and demonstrate that given x,y,z constraints the table will hold; attaining x,y,z constraints requires using a,b,c kinds of materials. This all before the table has been built, based on fundamental laws of physics and observed qualities of materials from the field of material science. Computer science research (in broad strokes) is generally devoted to determining existence or other qualities of algorithms for tasks, or demonstrating really spiffy and unthought capabilities of computers given extant algorithms and hardware. This does not generate the basis for building materials for programs: this generates tools and other capabilities to shape the software. I am not knocking CS research - it's valuable when done well. But I have a hard time seeing how CS research provides the same type of foundation that, say, chemistry research provides. What I think I am saying is that formal sciences don't lead to engineering the same way natural sciences do: the application is qualitatively and distinctly different, and not simply in degree or seriousness. Disagreements are invited.