Who gets higher salary a Java Programmer or a C++ Programmer?

I

Ian Collins

LR said:
When an engineer designs a bridge, they may for example try to figure
out how the bridge will react to a given load. They may try this for
various loads. The load limit is determined by physics.

What is the analogous thing for software?
The Roman or medieval bridge builder who pre-dated the discovery of physics?

The Roman or medieval bridge builder was no less of an engineer than
today's bridge builder. If anything he was more of an engineer because
he didn't have machines to do his donkey work for him.

The physics of software has not been discovered yet, so we still have to
rely in basic engineering and scientific principals to build our
applications. Maybe every software application has its own set of
physical laws?
 
I

Ian Collins

LR said:
However, in almost every jurisdiction that I know of where it would
matter, software engineers, actually anyone who calls themselves an
engineer, like doctors, lawyers and hairdressers are required to have a
license.

Am I wrong?
Yes.
 
T

Tom Anderson

Sure is.

It is a formal science and a basis for all the empirical sciences.

I don't consider mathematics a science. The foundation of science is
experiment: you do experiments, and from the results, you draw conclusions
about the world. Mathematics does not have experiments. In mathematics,
you start with some assumptions, and then you use pure logic to work out
as many conclusions as you can. The kind of knowledge you get from the two
systems is really very different - they're called a posteriori and a
priori, respectively.

However, it doesn't follow that mathematics cannot be the basis of
software engineering. Rather, given that software is a purely mathematical
thing, which doesn't have physical existence [1], it's pretty obvious that
mathematics is the *only* thing which could be the basis of software
engineering.

tom

[1] Really, it doesn't! There are physical realisations of software which
have material existence, but they aren't software themselves. It's like
the distinction between a story and a book. You wouldn't argue that the
making of stories is based on the science of papermaking, would you?
 
L

LR

Martin said:
Exactly so. Look back up this post and you'll see that "LR" said it
didn't matter whether bridge designers looked at wind loading or not
because the cost of doing the design was a bigger consideration than
spending time and money to calculate wind loading.

I don't think that I said that exactly.

Or perhaps you're jumping to the conclusion that I think this is a good
thing.

The fact remains, engineers do not always, or maybe ever, consider the
full physics of whatever they are designing. No one has either an
unlimited amount of money, or a perfect understanding of the physical
world, although this can be mitigated by good practice.

I pointed to two well-
known failures that were due to the designers ignoring wing factors. He
evidently *didn't know* that both blew down because he clearly didn't
understand that reply.

I think that you're mistaken about this. In any case, it would be
peculiar if someone didn't know that Tacoma was a result of a fluids
problem. I went back and reread what I wrote about the Tay, and I did
say that I thought it might have collapsed under it's own weight and I
agree with you that I was mistaken in that fact.
You jumped in when I was trying, rather politely I thought, to give "LR"
the chance to dig himself out of his self-constructed hole rather than
calling him a pig-headed know-nothing. So I won't, but I did want to see
what his reply would be.

I have already responded. I was utterly bewildered by your previous
response and now, if it were possible, I would be even more so.

I think that I'll stand by what I wrote, with the exception of the cause
of the Tay's failure. Since I am still not sure what you understood from
what I posted, please feel free to ask me to amplify or clarify and I
will be happy to make the attempt. Otherwise, I shall be glad to wallow
quite contentedly in my hole.

LR
 
L

LR

Arne said:
LR said:
(e-mail address removed) wrote:
{...]
Do the programs provably work? To the same extent that an engineer could
"prove" that the bridge they designed will work?
There is a whole branch of computer science that is dedicated to
"program provability". In the practical world, the theory gave rise to
what is called "design by contract", by which you define formally the
specifications of your program with pre/postconditions, invariants,
etc. You can mathematically prove that your program will work by those
means. This is used in any sensible environment that needs absolutely
reliable softwares.
Absolutely reliable? Suppose you have a customer who wants a formal
proof that the program you've written will halt. Can you provide that?
Yes, absolutely reliable. The program is proven to be correct in any
way. The proof can be given in the form of mathematical notations.
I'm not sure you responded to my question, so please allow me to restate
it. Suppose you have a customer who wants a formal proof that the
program you've written will halt, can you provide that?

Most likely yes.

Computer science has proven that it is not possible to do that
for all programs, but it can be done for some programs. If one
is willing to spend the money, then it can be done for most
programs.

(the examples used to prove the haling problem is not
generally solvable are not very realistic programs)

What is the relevance of their being realistic programs or not?

LR
 
L

LR

Arne said:
Software engineer is a widely used title in the US.

Try search on dice.com or monster.com !

At one time, or so I was told in school, many people believed the world
was flat. It did not make it so.

LR
 
L

LR

Arne said:
That is a very unscientific and non-engineering way of
thinking.

What about this way of thinking is unscientific or non-engineering. Do
It can be done is most cases. It will not be done in most cases
for cost reasons.

Time isn't a factor?

Sure is.

It is a formal science and a basis for all the empirical
sciences.

Certainly not what I was taught in school.

LR
 
L

LR

AL said:
LR wrote:
[...] But to my mind that would make
"software engineering" a unique thing. Different from say chemical,
mechanical or civil. But perhaps there is another branch of engineering
that doesn't require the application of scientific principle?

Perhaps there is.

Perhaps. Perhaps not.

I was wondering if perhaps someone could point out an instance instead
of referring to the class.

LR
 
T

Tom Anderson

What is your understanding of the requirements to call yourself a
software engineer?

In the UK, there are no requirements. We don't regulate the term
'engineer' directly, but instead have the specific title of Chartered
Engineer (we also have Chartered Accountants, Chartered Surveyors, etc),
which is regulated by a professional society, and which probably has exams
and rules and all sorts of things.

tom
 
L

LR

Sabine said:
LR wrote: [snips]
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?
The terms come from when computers were huge, room filling things with
radio tubes. They would stop working properly when roaches/insects
entered the structure, hence the term "bugs".

Computer viruses are called that because of their self-replicating and
-spreading characteristics.

May I take that as a no?

And that's not what a sane person tests.

No one sane starts a task that can't be completed.



The example yougive with booleans would be unit-tested, or otherwise at
a "low" level of development. If you have a GUI with 64 check buttons,
you really need to rethink that design.

Wasn't there a recent discussion in this ng about some compiler and the
interactions of it's many flags?

Perhaps that software wasn't "engineered". But I suspect that even if it
was, many of those options would still exist, many of them would
conflict, some of the ways that they'd conflict would cause the software
to fail, some of the failures would be immediately noticable. Some
would have more interesting consequences.
If it is settings, then
they/their effects need to be tested. No way around it.

How many tests do you think could be done every second and how long
would the testing take to complete?

It usually suffices to make up test cases that cover areas - allowed
inputs, impossible inputs, and wrong inputs (whatever that means within
the project).

Assuming someone has the time to figure that out. How much time would
it take to do that for 64 inputs?
That doesn't make it less engineering. Even inventors use engineering
techniques.

I agree that using engineering techniques is not in anyway sufficient to
call an activity engineering.

LR
 
L

LR

Arne said:
In most places it is a job title not an academic title or other
type of certification.

So in most places the requirements is that a company will give
you a job with that title.

Are you certain about this? As I've written else thread, my
understanding is there are legal issues surrounding calling yourself an
engineer of any type.

LR
 
L

LR

Arne said:
If someone design a bridge, it collapses and it turns out he is a
software engineer with degree in computer science, then I am sure
all hell will break out.

But if a software engineer designs a piece of software that crashes
then I can not imagine him being prosecuted for not having an
engineering degree in bridge building.


I think it might depend on consequences of the failure and to who and
why it failed.

I think that engineers do sometimes get prosecuted for their failures in
much the same way that physicians do.

I didn't find a specific case, and this isn't proof, but evidence. A
google(tm) search for engineering malpractice insurance turns up quite a
few hits.


LR
 
T

Tom Anderson

Exactly so. Look back up this post and you'll see that "LR" said it
didn't matter whether bridge designers looked at wind loading or not

No, he said they might not - and those examples clearly show that in some
cases they didn't. And why not? Perhaps budget was a factor, as he
suggests - the client didn't want to pay to have the job done properly.

But as you imply, nobody could reasonably disagree that bridge engineers
*should* consider wind and water, and i would imagine they almost always
do.

I think you may have been attaching different meanings to the precise
words used, that's all.

And now for something completely different - Edsger Dijkstra, writing in
1993, on why software engineering is "just humbug; from an academic i.e.
scientific and educational point of view it is a sham, a fraud":

http://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/EWD1165.html

The wikipedia article from which i cribbed that is worth a read:

http://en.wikipedia.org/wiki/Debates_within_software_engineering

tom
 
M

Mike Schilling

LR said:
At one time, or so I was told in school, many people believed the
world was flat. It did not make it so.

And what you were told might not be true. Certainly the ancient
Greeks know the world was round, both from the way that a ship sailing
towards you from over the horizon becomes visible from the top down,
and from the fact that the earth's shadow seen during a lunar eclipse
is curved. Medieval Europeans knew this too: Columbus's voyage seemed
risky not because he might fall off the edge, but because the voyage
was of unknown length. (And in fact, had the New World not been in
the way, he almost certainly would have perished in the
15,000-mile-wide ocean.)

I suppose the larger point stands,though: the fact that many people
think that the ancients believed the world was flat does not make it
so.
 
A

Arne Vajhøj

LR said:
Arne said:
LR said:
(e-mail address removed) wrote:
(e-mail address removed) wrote:
{...]
Do the programs provably work? To the same extent that an engineer could
"prove" that the bridge they designed will work?
There is a whole branch of computer science that is dedicated to
"program provability". In the practical world, the theory gave rise to
what is called "design by contract", by which you define formally the
specifications of your program with pre/postconditions, invariants,
etc. You can mathematically prove that your program will work by those
means. This is used in any sensible environment that needs absolutely
reliable softwares.
Absolutely reliable? Suppose you have a customer who wants a formal
proof that the program you've written will halt. Can you provide that?
Yes, absolutely reliable. The program is proven to be correct in any
way. The proof can be given in the form of mathematical notations.
I'm not sure you responded to my question, so please allow me to restate
it. Suppose you have a customer who wants a formal proof that the
program you've written will halt, can you provide that?
Most likely yes.

Computer science has proven that it is not possible to do that
for all programs, but it can be done for some programs. If one
is willing to spend the money, then it can be done for most
programs.

(the examples used to prove the haling problem is not
generally solvable are not very realistic programs)

What is the relevance of their being realistic programs or not?

You asked whether some real world programs could be verified to halt.

The fact that those programs and the programs that can be shown
not to halt are not similar is very relevant.

Arne
 
A

Arne Vajhøj

LR said:
At one time, or so I was told in school, many people believed the world
was flat. It did not make it so.

No.

People sailed around the globe and proved it was round.

You can prove to yourself that my statement is correct by doing the
search I suggested.

Arne
 
L

LR

Tom said:
In the UK, there are no requirements. We don't regulate the term
'engineer' directly, but instead have the specific title of Chartered
Engineer (we also have Chartered Accountants, Chartered Surveyors, etc),
which is regulated by a professional society, and which probably has exams
and rules and all sorts of things.

Ok, that's good to know. Thanks.

LR
 
A

Arne Vajhøj

LR said:
What about this way of thinking is unscientific or non-engineering.

Not distinguishing between what is possible and what is
practical possible.
Time isn't a factor?

It can be. In most cases time is just a surrogate for cost.
Certainly not what I was taught in school.

Possible.

But did you ever notice what a master degree in math is called ?

Arne
 
A

Arne Vajhøj

LR said:
Are you certain about this? As I've written else thread, my
understanding is there are legal issues surrounding calling yourself an
engineer of any type.

I have already told you how you can verify it (look at job ads sites).

Arne
 
T

Tom Anderson

Are doctors required to belong to a professional association?

Yes.

http://www.gmc-uk.org/

Although it's a matter of registration with them, rather than membership
per se.
May I ask what jurisdiction you're speaking of.

Martin and i are both sited in the UK. As, in his case, his sig makes
clear.
However, in almost every jurisdiction that I know of where it would
matter, software engineers, actually anyone who calls themselves an
engineer, like doctors, lawyers and hairdressers are required to have a
license.

Am I wrong?

Yes.

Also, whilst the term is formally regulated in the USA, i don't believe
the regulation has any teeth in practice.

tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,682
Members
48,796
Latest member
Greg L.

Latest Threads

Top