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

A

Arne Vajhøj

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

If someone prosecuted a software engineer for not having an
engineering degree in bridge building should have their head
examined by a shrink.
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.

When I make that search there do not show any hits up about software
engineers being prosecuted for not having an engineering degree in
construction.

So please provide a link to one of your hits.

Arne
 
T

Tom Anderson

The Roman or medieval bridge builder who pre-dated the discovery of physics?

Despite what the Civ2 tech tree may say, the building of bridges by Romans
and medievals was not done without the aid of physics. Indeed, the
mechanics needed to build bridges, siege engines, and other such staples
of the ancient world was well advanced in classical Greece. They didn't
have calculus, or quite such an integrated picture of physics, but they
had plenty of quantitative rules.
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 Greeks built tools to calculate cube roots, which were essential to
the design of those big spear-throwing siege engines - oxybeles, i seem to
remember they're called.

Although the mathematics they used was empirical, rather than being based
on theory.
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.

Perhaps. There may well be a theoretical breakthrough somewhere up ahead.
Maybe every software application has its own set of physical laws?

If so, i don't think they'd qualify as laws, would they?

tom
 
I

Ian Collins

Tom said:
Despite what the Civ2 tech tree may say, the building of bridges by
Romans and medievals was not done without the aid of physics. Indeed,
the mechanics needed to build bridges, siege engines, and other such
staples of the ancient world was well advanced in classical Greece. They
didn't have calculus, or quite such an integrated picture of physics,
but they had plenty of quantitative rules.
Which is probably where software engineering is now.
The Greeks built tools to calculate cube roots, which were essential to
the design of those big spear-throwing siege engines - oxybeles, i seem
to remember they're called.

Although the mathematics they used was empirical, rather than being
based on theory.
Which is probably where software engineering is now.
If so, i don't think they'd qualify as laws, would they?
Why not? For all we know, there might be an infinite number of parallel
universes each with their own set of physical laws.
 
L

LR

Tom said:
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.

As I said elsethread and acknowledge again, I was wrong in part.
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

I liked part of that, but what's a "mathematical engineer"?

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

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

"Texas even goes so far as to ban anyone from writing any real-time code
without an engineering license." I smell a First Amendment case. (For
those of you who aren't in the US, sorry, that's a free speech issue.)

Thanks for those links, fascinating.

LR
 
B

Bent C Dalager

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

Science itself is a task that can't be completed. How, then, would you
reconcile the above with the idea that engineering should be based on
science?

Cheers,
Bent D
 
L

LR

Arne said:
If someone prosecuted a software engineer for not having an
engineering degree in bridge building should have their head
examined by a shrink.


When I make that search there do not show any hits up about software
engineers being prosecuted for not having an engineering degree in
construction.

I didn't say that it would turn up hits for "software engineers". The
context didn't demand that it would. This part of the discussion was
about liability for engineers. My preface to the search was about
engineers in general.
So please provide a link to one of your hits.

They can be found. It's not very hard. Add software or maybe "software
engineer" to the above list. And no, I don't accept this as evidence
that software development is an engineering discipline. Perhaps the
insurance industry uses the expression as a term of art.

LR
 
A

Arne Vajhøj

LR said:
I didn't say that it would turn up hits for "software engineers". The
context didn't demand that it would. This part of the discussion was
about liability for engineers. My preface to the search was about
engineers in general.

No - you replied to:

#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.

It would make your arguments a little easier to follow if
you replies actually are intended for what you technically
reply to.

Whether engineers responsible for a bridge collapse can
be prosecuted is not relevant in this subthread and as far
as I can tell not particular relevant for the thread at all.

Arne
 
A

Arne Vajhøj

Daniel said:
Arne Vajhøj said:
Daniel said:
Matthias Buelow wrote:
... I think [Arne's] conception of what constitutes "engineering"
in the software sense is probably too exclusive. In construction,
the engineers design the structure then pass it off to the
builders who then build it to spec. For software, the "builders"
are the compiler, linker, and runtime environment. The writing of
the code is part of the design processes.
It is sometimes difficult to find a 100% matching analogy.

If a project do extremely detailed design, then I will consider
writing the actual code part of building.

And it fits with:
- it is very unlikely that a compiler turns good source code
into bad binary code
- it happen that a builder mess up a good blueprint
- it happen that the programmer writing the code
mess up a good design

A draftsman can mess up a good blueprint too. I don't think that is
relvelent.

I think that was what I wrote. And i think it is very relevant.
Writing the code is never "pure building", if it were then tools would
be doing it. Writing the code is, as you put it "low level design",
i.e., it is part of the design phase.

No.

You argue that not fully automated means design.

That is obviously not true.

Else the brick layer would be designing the building.

Building engineering has not invented a widely used machine
for laying bricks.

Software engineering has not invented a widely used program
for generating executables from models (MDA tools exist but
are not widely used).

Arne
 
L

LR

AL said:
LR said:
AL wrote:
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


deflecting - you've cornered yourself and now you are deflecting...

Can you name an instance?

You posed, "perhaps there is another branch of engineering that doesn't
require the application of scientific principle" which equates to a
meaning of engineering that is not consistent with your narrow
inflexible definition.


I did pose that, since I wondered if there is an example counter to my
belief about what engineering is. Was I unclear? I'm not sure that I
understand your point.


Can you name an instance?

Look up definitions in the dictionary and you will find multiple
definitions for most any given word.

I'll start with the word cleave. ;)
Use a dictionary 100yrs old and you
will not unnecessarily find the same definitions found in a modern
dictionary and you will even find new words.

"new words"? Meaning? Words I am unfamiliar with? Old words that don't
see much current usage? New to me? I'm not sure that I take your
meaning of the word new in this context.
It may be that not everyone
appreciates the new definitions, I remember my grade school teacher's
response when "ain't" was legitimized by Webster, but there they are.

Then why would anyone bother to disagree with me?

LR
 
K

Keith H Duggar

I reiterate, which scientific law is being applied in the creation of
software? In the way, for example that a civil engineer would apply f=ma
while building a bridge or a mech engineer would apply it while
designing a pressure vessel?

I already provided you with several examples off-the-cuff.
Perhaps you missed them the first time; here they are again:

Principle of Induction
Pigeonhole Principle
Information Principle
Chebyshev's Inequality
Akra-Bazzi Theorem
Divide-and-Conquer
Dynamic Programming
Sieve Principle
Occam's Razor
Murphy's Law

Since scientific principles are applied regularly in software
engineering I'm mystified as to why others in this thread are
having such a hard time providing simple specific examples as
the above. Perhaps well trained software engineers are more
rare than I realized.

Below is a dictum of mine, that is germane here and provides
clearer understanding of the duality between and the purpose
of science and engineering:

"Science applies control to pursue knowledge.
Engineering applies knowledge to pursue control."

KHD
 
L

LR

Keith H Duggar wrote:

Sorry I'm so late responding to this.
Software Engineering is replete with scientific principles.
Here are but a few off the top of my head:

I'm not familiar with most of these and I had to look most of them up.
I'm still in the process of looking some of them up. I am unfortunately
pressed for time so I regret that I can't give each of these the
attention they deserve. So briefly, very briefly:
Principle of Induction
Looks like logic.

Pigeonhole Principle
Looks like math.

Information Principle
I'm not sure what this means.

Chebyshev's Inequality
Math. Probablity theory.

Akra-Bazzi Theorem Math.


Divide-and-Conquer
I think this is math. The articles I find online define it as being an
algorithm design paradigm in computer science.

Dynamic Programming
From the wikipedia article: "In mathematics and computer science,
dynamic programming..." Math.

Sieve Principle Math.

Occam's Razor
Logic. Used by scientists, but not science itself.

Murphy's Law
Ok, perhaps you got me. But it's not, I don't think, a scientific law
or principle. Maybe it should be. Or you haven't offered proof of the
law, or shown how it's applied to the production of software.

I'm certain that I've overlooked some obvious point or made some
mistake. Please feel free to point those out.


I seem to have metaphorically misplaced the post, but think I saw
someone else mention Shannon and Information Theory and in the hope that
no one minds, I'll respond here.

I think that IT might come pretty close. It does seem to use math to
describe a physical phenomenon. Border line perhaps. But I don't know
anyone who uses IT to produce code. They might write apps that
implement some part of an algorithm that involves IT, but not apply it
to the actual production of code, in the way that an engineer will
consider f=ma (or f=mv per James Kanze) when deciding how strong to make
a bridge. I wouldn't say that I understand it very well. To me it
looks like it might be of more value to electrical engineers in terms of
application.

But it's something to consider. How might it be applied to the
production of code?

LR
 
K

Kai-Uwe Bux

LR said:
Keith H Duggar wrote:

Sorry I'm so late responding to this.


I'm not familiar with most of these and I had to look most of them up.
I'm still in the process of looking some of them up. I am unfortunately
pressed for time so I regret that I can't give each of these the
attention they deserve. So briefly, very briefly:
Looks like logic.


Looks like math.


I'm not sure what this means.


Math. Probablity theory.


I think this is math. The articles I find online define it as being an
algorithm design paradigm in computer science.


From the wikipedia article: "In mathematics and computer science,
dynamic programming..." Math.


Logic. Used by scientists, but not science itself.
[snip]

a) There is some tension about where to put math. Some place it with the
sciences, others don't. All agree that it is somewhat different. On the
other hand, each science in itself seems to be different from the others.

b) Looking for physical, chemical, or biological knowledge in programs, you
will find that there is quite a few programs that incorporate exactly that.
E.g., the software that NASA uses to guide space probes to other planets
clearly incorporates a lot of Newtonean mechanics. There are programs to
compute orbitals for molecules. Those programs embed quantum mechanics to a
large degree (although most of the program is probably devoted to top-notch
techniques of number crunching and PDE solving).

Similarly, much of the software of today is embedded in devices. If you
drive a modern car, chances are that the anti blocking system for your
brakes has a computer chip somewhere. The software therein probably
benefits a lot from physical knowledge about breaking.

Any sort of knowledge will find its way into software (e.g., software for
transactions between banks incorporates much knowledge about the particular
kinds of transactions involved). Scientific principles are no exception.


Best

Kai-Uwe Bux
 
L

Lew

LR said:
AFAIK, calling yourself an engineer without the license is illegal in
many jurisdictions, although, I don't know what the penalty is and I
really do with to emphasize this, IANAL.

One can call oneself a "software engineer" if one wants in the U.S., thanks to
the First Amendment. One might be restricted in engaging in certain
activities that require a licensed engineer in the states that have
such requirements, but that has nothing to do with calling oneself one.

One can call oneself "God" if one wants for the same reason.
 
L

Lew

Tim said:
The fact that it is widely used does not mean that it is CORRECTLY used.
There are many states in which it is illegal to call yourself an "engineer"
of any kind unless you have received an engineering license from the state,

Which ones?
and those license examinations often involve topics in which a software
engineer has no training.

If you are speaking of the United States, one has the First Amendment right to
call oneself whatever one likes. I can call myself President of the United
States or God, should I so choose. (Since no one agrees on what or if God is,
that last one has no conceivable actionable consequences at law.)

What one calls one's profession or business may, of course, be a different matter.
 
L

Lew

Mike said:
It's not quite that simple. One can't falsely call oneself a "medical
doctor" or "police officer" and, when challenged by legal authority,
simply point to the Bill of Rights.

Sure, one can. One just cannot engage in acts that require that one
legitimately be a medical doctor or police officer.

I could walk into a bar and tell a girl with a fetish for policemen that I am
a police officer, and I have broken no law.
 
A

Arne Vajhøj

Mike said:
It's not quite that simple. One can't falsely call oneself a "medical
doctor" or "police officer" and, when challenged by legal authority,
simply point to the Bill of Rights.

I think that is correct.

But that does not apply to Engineer or Software Engineer.

Claiming to be a Professional Engineer without a license in
the state would not be allowed.

Arne
 
A

Arne Vajhøj

Lew said:
Sure, one can. One just cannot engage in acts that require that one
legitimately be a medical doctor or police officer.

I could walk into a bar and tell a girl with a fetish for policemen that
I am a police officer, and I have broken no law.

First, I think that is walking a very thin line if it ends up in court.

Second, it is not particular relevant for the discussion, since
that is about using the title software engineer not to impress girls
(I doubt they will be impressed by that title but ...) but for work.

Arne
 
A

Arne Vajhøj

Lew said:
It would only end up in court if one engaged in the activities reserved
for legitimate policemen. To date, impressing girls in bars by lying
about your profession is not illegal, at least not where the U.S.
Constitution prevails.


That, too, would only end up in court if one engaged in activities that
required that one be a licensed software engineer. It is entirely
relevant.

Not really.

It is not the first amendment that is important here, but the
fact that the state has not made software engineer something
that requires a certificate by state board and has not made
software engineering something that requires a certfied
software engineer.

Arne
 
A

Arved Sandstrom

Tom Anderson said:
In the UK.

tom

In Canada I have never encountered any programmer who calls themselves a
software engineer. We're not allowed to.

Over and above my actual degree, I've taken a Certificate in Software
Engineering from DalTech (it used to be Technical University of Nova
Scotia), and this consisted of 6 courses: project management, human
resources mgmt, quality control/assurance/testing, requirements analysis,
design, and maintenance. None of this is covered in a CS degree, and I'm not
saying it should be. However, if people felt strongly enough about having
software engineers in Canada, I'd support a requirement for formal education
in topics like the above. I'd also add software/systems security as a
course.

Way back when I did most of a B.Eng. after finishing my B.Sc, before
realizing I really, really didn't want to be an electrical engineer. Having
said that, it became clear to me that there was nothing in the typical
engineering curriculum that sets a person up to be more of an "engineer"
than someone studying CS or physics or chemistry...what really does it is
the mentored work experience and professional examinations. In fact (at
least in NS) you don't need an engineering degree to become an engineer -
you just need enough years experience doing an engineer's job, and pass the
exams.

My personal feeling about "software engineers" is that if it's a title we
want to have, we should have equivalent standards to other engineers.
Require courses like the ones I mentioned. Make sure - perhaps through the
professional exams - that the aspirant really knows core CS. Have an
engineer-in-training period (in NS it's 4 years) where you are mentored and
observed, and your work experience is assessed.

Is there value to this? I think there is. One of the reasons for having
professional accreditation (the other big one being public safety) is the
assurance of reasonable competency. Right now in software development you
really don't know what you're getting.

Do all software developers need to be engineers (Assuming such schemes were
adopted)? Probably not. In fact I think few would be. A number of IT jobs
could likely be done by technicians, although the technicians themselves
would be accredited (perhaps two year programmes of study) and also have
work experience before being certified. But probably most software
development would continue to be done by individuals who have no
accreditation. The main difference would be that safety-critical software
would require professional software engineers and technicians, and also that
any client could demand that as they saw fit.

I personally don't much care. I just don't like seeing the title used unless
you really are one. And it's not a title that you award to yourself, I'm
afraid.

AHS
 

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
473,780
Messages
2,569,611
Members
45,267
Latest member
WaylonCogb

Latest Threads

Top