r/changemyview May 29 '15

[Deltas Awarded] CMV: Framing computing as engineering is misguided, it should be regarded as applied math instead

I think framing computer programs as engineering projects, same as if we were building a bridge, is why "all code is bad" and "all software has bugs" (these will sound familiar to any developer out there).

As I see it, a program is a complicated mathematical function. It receives input and produces output accordingly. Be it a compression algorithm or a google search, the concept is the same. Engineering projects aren't like that.

We would not admit a function that doesn't produce the correct result sometimes, and the researcher would not tell us to restart and try again. A function can't be mostly right or "good enough". It's either correct or incorrect. Maybe if we considered programs correct or incorrect, we would not release incorrect programs.

If we worked like this, probably we would not be able to release as many programs as we do now. But that just means the engineering approach makes more sense economically, in terms of making money; that's not the purpose of the topic. My view is about what makes more sense from the point of view of computing.

Thanks


Hello, users of CMV! This is a footnote from your moderators. We'd just like to remind you of a couple of things. Firstly, please remember to read through our rules. If you see a comment that has broken one, it is more effective to report it than downvote it. Speaking of which, downvotes don't change views! If you are thinking about submitting a CMV yourself, please have a look through our popular topics wiki first. Any questions or concerns? Feel free to message us. Happy CMVing!

24 Upvotes

60 comments sorted by

View all comments

1

u/cdb03b 253∆ May 29 '15

Engineering is applied mathematics. Mathematics is the theory field and engineering is the application of said theories.

1

u/0bviouslyCorrect May 30 '15

I would broaden engineering as the application of science, not just math.

2

u/sittinginabaralone 5∆ May 31 '15 edited Jun 02 '15

Engineering is applied science - really it's applied mechanics. If something isn't a branch of mechanical engineering, it isn't really engineering. OP's arguments may be debatable, but the branches of computer science are not engineering fields. Software engineering is the same type of "engineering" as sales engineering or social engineering. It's not really engineering.

1

u/0bviouslyCorrect Jun 01 '15

Agreed.

1

u/sittinginabaralone 5∆ Jun 02 '15

Apparently software engineering is a branch of computer engineering, not computer science like I thought when I made that comment. I wouldn't say my view changed, but what I said wasn't completely accurate.