[...]
If I accept the definition given above. But to my mind that
would make "software engineering" a unique thing. Different
from say chemical, mechanical or civil.
Well, the same thing could be said about chemical engineering.
Or electronics engineering. Each engineering discipline is
unique. What makes them "engineering" is that they use a
scientific approach to solving pragmatic problems.
But perhaps there is another branch of engineering that
doesn't require the application of scientific principle?
They all do, including software engineering. That's part of
what makes them engineering.
There are viruses and bugs too. Is software development
biology? I don't mean to be flippant, but the mere use of a
word doesn't confer meaning on the object it refers to, does
it?
Certainly, but as I've pointed out elsewhere, software
engineering is as rigorous in this regard---perhaps
moreso---than e.g. bridge design, or some of the other
activities you've named.
I suspect that this is not even likely. I gave a counter
example else thread involving input for a number of boolean
variables, let's say 64. Tough to test all of those.
It's sufficient that it takes a double as input, and it is, for
all intents and purposes, impossible to test exhaustively.
People who claim the software is correct because it passes some
test suite aren't engineers. (Nor are people who forego testing
entirely, on the grounds that it can't catch everything.)
And to repeat, I once spoke to a EE who told me his company
was going to test software for all possible inputs. Once I did
the arithmetic for him he withdrew his statement.
Just because there are incompetents making unreasonable claims
doesn't mean that the field doesn't exist.
They do. I'm sorry, did I say anything to indicate otherwise?
My understanding was that you were forwarding the opposite
argument; that you'd only accept software engineering as an
engineering discipline if it had such formulas. And of course,
we don't have formulas based on physical strengths (although
things like the big-O notation are related in some ways). On
the other hand, the formulas aren't the scientific principle;
the reason which causes the civil engineer to accept them and to
use them is. And there are other "formulas" in software
engineering, to which the same principles can be applied.
If so, please allow me to withdraw that. Although, I suspect
they may not know all there is to know about this yet. I also
note that, AFAIK, at least some of these are of comparatively
recent origin. For example, I think the use of timber in
bridges wasn't even reasonably understood until Herman Haupt
did the experiments to figure out what the strength of the
beams were.
An aspect of engineering that hasn't been mentionned yet is that
it is continuously evolving. It took real engineering talent to
design the pont du Gard, but a modern civil engineer would
probably not recognize (or even accept as usable) any of the
"engineering" techniques used.