Re: How Robots Will Steal Your Job

R

Roedy Green

I think you have to exclude learned behavior. Intelligence is
the ability to solve new problems that are different from all
earlier problems encountered.

In that case, there is no intelligence. Even Einstein based his work
on the result of other mathematicians and physicists. Problems don't
get solved in a vacuum.

When you have computers, you can easily categorise problems as new or
not. New ones are ones the current program can't handle. In general,
though it is much woolier. If you have only designed wood pole
transmission lines that are asked to design a steel high voltage line,
is this a "new" problem. Much the same physics are involved. Tower
geometry is more complex and so calculating clearance under various
wind conditions requires more math. IF you have designed over only
relatively flat terrain, and are asked to design in mountains, is this
a "new" problem. The engineers would say so.

If you use the term "intelligent" when referring to a programmer, what
you mean is, can I trust this bird to solve the problem and come up
with an inexpensive, reliable solution quickly, all on his own, or do
I have to lead him step by step through the process. The
"intelligent" programmer is probably more likely than the dull one to
go a google search so he does not have to invent too many wheels. You
would actually consider stupid or lazy or egotistical a programmer who
insisted on inventing everything from scratch just to exercise his
little gray cells.

It may be that the English language in tripping us up. The word
"intelligent" has just too many meanings, and trying to use one word
to cover them all just gets people furious with each other for saying
such ridiculous things.

We argue on two fronts. Are you permitted to use the word
"intelligent" to mean X. And, if you are, does your statement make
sense?.

There is also a vanity problem. People like to think they are
intelligent and nobody and nothing else is. Therefore they are willing
to go through tremendous contortions in their definitions to maintain
that illusion.
 
R

Roedy Green

The same is true of all languages, when you create subroutines,
or the "verbs" of Forth.

Forth has a very long learning curve. You can do things you would not
dream of attacking in any other language.

A trivial example is there is no way to fix java so that I can hook
hook up a method to a button in a few words. The only way you can do
it is with a code generator that expands the bubblegum.

Similary if I wanted to abbreviate a.keyin(); b.keyin(); c.keyin()
there is no way within Java. I would have to use a preprocessor.

Another, is you cannot sort things just by specifying the field names
to use as keys in Java.

You could not implement the new for : loop in Java. You have to wait
for Sun to do it for you.
 
R

Roedy Green

If Forth was used for any significant project then the maintenance
phase will be excessively costly.

Though low level forth is a nightmare to maintain, the languages you
create with it specific to a special problem domain (e.g. abundance
for data entry and report writing) can be much easier to maintain.

Maintaining Abundance application code is FAR easier than maintaining
Java code. And maintaining Java is far easier than low level Forth.
There is a much greater separation between application and generic
code. The generic code needs very little maintenance. When I do
maintain it, I have automatically corrected the code for ALL my
customers.
 
H

Hans-Georg Michna

Roedy Green said:
On Thu, 28 Aug 2003 15:43:23 +0200, Hans-Georg Michna
[Intelligence is] the ability to predict
outcomes of new situations that cannot have been inborn or
learned, and act purposefully.
A bear cub or a lion cub without a parent never learns to hunt.

A human baby without its culture is a quite pathetic creature as well.

Attempt to preserve endangered species is zoos are doomed to fail for
some species, since the cultural learning of the species to survive in
the wild is lost.

Roedy,

I'm not saying that intelligence alone is enough to survive.
Obviously we and the more complex-brained animals have to learn
a lot, no doubt about that.

However, many animals survive without any significant degree of
intelligence, if you accept the definition above. Intelligence
is the icing on the cake. Intelligence is what can turn a hunter
into a spaceship builder.

Hans-Georg
 
H

Hans-Georg Michna

Roedy Green said:
On Thu, 28 Aug 2003 16:06:38 +0200, Hans-Georg Michna
In that case, there is no intelligence. Even Einstein based his work
on the result of other mathematicians and physicists. Problems don't
get solved in a vacuum.

Roedy,

it is practically always both---a learned basis and an
intelligent solution on top of it. I see the difficulty of
distinguishing between the two.
It may be that the English language in tripping us up. The word
"intelligent" has just too many meanings, and trying to use one word
to cover them all just gets people furious with each other for saying
such ridiculous things.

Oh, sure. It is a modern trend to widen the definition of
intelligence and water it down so it becomes unusable. Witness
"social intelligence" or Gardner's multiple intelligences.

These days it is fashionable to call any ability "intelligence".
If a child can climb trees, it possesses tree climbing
intelligence.

The underlying cause is that people are afraid of the sharp
definition of intelligence, because they mistakenly fear that
their unalterable incompetence becomes measurable.

Orthodox psychology used a much narrower definition, namely the
ability to think logically or, similarly, the ability to act
purposefully in unknown situations. Thus, when you talk about
intelligence, you first have to make sure whether you speak
scientifically to psychologists or politically correctly to the
person in the street. It's probably best to avoid the term
intelligence altogether in precise discussions or add a short
definition or use the term IQ instead.
There is also a vanity problem. People like to think they are
intelligent and nobody and nothing else is. Therefore they are willing
to go through tremendous contortions in their definitions to maintain
that illusion.

Exactly. The point for us is to use a strict, narrow definition
of intelligence, because otherwise the word becomes meaningless.

Hans-Georg
 
C

Corey Murtagh

Roedy said:
Forth has a very long learning curve. You can do things you would not
dream of attacking in any other language.

Au contraire, I would tackle any reasonable (ie: not language-dependant,
like "change the way emit outputs data", etc) problem in C++. I'd never
try it in Forth, since my experience with Forth is well in the past, and
I never spent that much time on it.
A trivial example is there is no way to fix java so that I can hook
hook up a method to a button in a few words. The only way you can do
it is with a code generator that expands the bubblegum.

In C++ I can either subclass the button class (assuming the button has
already been encapsulated in a class), or use a function pointer or
functor that my message handler calls. I don't know how you'd do this
in Java, but I'm sure the Java experts do. If you're convinced it can't
be done, explain the problem a little better and someone might provide a
solution.

Of course with C++ Builder I just assign to the button's OnClick, which
is much simpler :)
Similary if I wanted to abbreviate a.keyin(); b.keyin(); c.keyin()
there is no way within Java. I would have to use a preprocessor.

Why would you want to? Those statements already look barely readable.
But again, it sounds a trivial problem in C++.
Another, is you cannot sort things just by specifying the field names
to use as keys in Java.

You mean object member names? I thought Java was self-referential?

I do record sorting on field names all the time in C++. Object sorting
is a bit more complex, but still doable... you just need to write
appropriate compare routines.
You could not implement the new for : loop in Java. You have to wait
for Sun to do it for you.

This one I can't comment on... not enough information. But control
structures are, generally, built into the language. You can often
simulate them with other control structures though.
 
C

Corey Murtagh

Roedy said:
No. They either don't bother to verify, most common. or they simply
list a set of errors after the user has entered a formful of data.

Depends on what realm you're looking in. If any of my programs ignored
a serious error in input, I'd get severely chewed out by my boss... who
likely would just be passing along the chewing out he got from the
client. And our standard method for responding to errors in an input
form is to return the input focus to the errorneous field.
What I was doing was informing the user on the very keystroke of any
error, and as soon as an assertion could be computed otherwise.

Where we use a very capable mask edit field, or an incremental combo, or
some other way of reducing the probability of the user entering garbage.
The user could navigate around failed assertions by rekeying erogenous (Gee, how Freudian is that?)
fields (the assertions have an error messing in English that explains
the problem), by changing inputs so that the flow of fields keyed
change, thus bypassing the assert.

The program guide you by the hand through only the fields it wants you
to key. What you key can be used to influence what you key next.

A simple example would be skipping over state and zip if you said
earlier you lived in Canada.

It is not like a form where you have to key everything, or skip fields
manually.

Funnily enough, we do the same thing in C++ - ie alter the required
input fields based on prior input, hiding or disabling fields that
aren't required and programatically skipping those fields. And we
didn't need to write a language for it.

They are much like Java assertions, except they have an English
explanation. When they fail, the action is to back the user up and
let him rekey the previous field, or back up even further if the user,
(or the programmer) requests, using the CULPRIT verb to indentify the
most likely culprit FIELD, not place in the code where that field was
keyed. Where you back up to could be in a routine miles away. You
don't just jump there, your restore the state you had when you were
there. You even jump back to a method YOU called, not that called YOU.
This is how jaunting differs from an exception.

Again, this sounds to me as though data entered subsequent to that point
is discarded when you restore the prior state. Nothing you've said thus
far indicates otherwise.

I've never used exceptions for form input validation, since they're not
usually helpful. There are plenty of other methods that are better suited.
 
P

Programmer Dude

Hans-Georg Michna said:
Not if you seed it.

It is still fully deterministic and mechanical. Given the algorithm
and the seed, the output value is 100% knowable.
 
C

Corey Murtagh

Airy said:
Misquoting corrected.....

No, the quote was quite correct, it was just reformatted. I changed
nothing in the content.

Hope you're having fun. Just thought I'd let you know that I'll
continue to rearrange your posts to suit my particular whim. You don't
really need to put them back in your preferred order, but feel free to
continue doing so. This is the last response you'll get from me on this
sad little bit of trolling.
 
P

Programmer Dude

Roedy said:
Let say there is a discontinuity.

I believe there is.
Therefore there should be a discontinuity in observable behaviours.

I believe this is self-evident. We have art, written language,
communications with others, professions, science, math, recorded
history, a myriad of coded and enforced social systems and a great
deal more.

Consider what we do intentionally to help the environment and other
beings *outside* our species. Few--if any--other animals manage,
manipulate or maintain their environment to the degree we do. We
have the means to destroy the biosphere pretty much overnight if
we so choose. NO other animal can make that claim.
There should be a discontinuity in anatomy.

There is no necessary requirement this is so. Even if sentience
is *strictly* an emergent property of sufficiently interconnected
complexity, it would appear we stand on one side of a line that
no other animals cross (although a small number come close).

It may be there's a critical point where complexity "lights up"
and produces sentience (not unlike the idea of critial mass).
Just how to discern which side of the discontinuity to lump any
species?

The natural assumption, lacking evidence to the contrary, would be
that there is a continuity, as their is in every other property,
even if there is a wide range.

Consider critical mass. Widely separated, the radioactive pieces
emit what they emit based on their own mass. Get them within a
certain range and they begin to interact relatively non-violently.
Bring them *really* close together and KA-POW.

It may be that the human brain achieved KA-POW.
 
C

Corey Murtagh

David said:
A lot of the posts in this thread are interesting and entertaining <g>,
but I
have a request. The thread is cross-posted to 5 newsgroups which means
that comp.ai.philosophy is getting what seems like over a hundred posts a
day from this thread. If you intend the material to go to
comp.ai.philosophy, that's fine - if you don't, can you leave it out of
the header?

Sorry David - we're in the same boat over here in comp.programming.
Really, a long rambling discussion about intelligence isn't on topic...
but I suspect that a lot of us that are posting from comp.programming
don't read in any of the others, so we don't really want to drop it from
the list.

And really, I think the whole intelligence aspect of the thread is more
apropos in comp.ai.philosophy than the other groups. I'll try to
remember to drop you from the programming discussion we're having though :)
 
R

Roedy Green

Biological systems have been selected for robustness, but when
we try to design for robustness, it is difficult.

There is a guy who builds little robots, using biological principles.
He discovered they use far less electronics, and when they fail, they
fail gracefully, gradually losing capability, rather than coming to a
dead stop the way most computer programs do.
 
A

Airy R Bean

Mr.Michna's assertion does not preclude using the knowledge
gained from previously solved problems. However, such
use is memory recall and not intelligence.
 
A

Airy R Bean

Show us your code in Forth that is so much briefer than
when expressed in other languages....

Forth learning time is a couple of days only. You must, of course,
dissociate learning time for Forth from learning time for computing
in general. I can understand your own assertion if you learnt Forth at the
same time as you learnt your repertoire of coding techniques, BTW.

What things can you do in Forth that you would not dream of attacking
in any other language, (apart from amateurish hacks)?
 
A

Airy R Bean

If I was creating language translators (interpreters, compilers)
for other languages then I wouldn't do it in Forth. However, the
ease of use of those other languages that are relevant to their own
problem domain is not attributable to the underlying
implementation language.
 
A

Airy R Bean

Yes you did.

Let me see now, by your own argument,
by changing the order of what you put down below, I see that from the "f" in
"reformatted", the "u" in "quote". the "c" in "correct" and the
"k" in "know" that you have used a very rude word.

Shame on you.

Your use of the phrase "sad little bit of trolling" seems to suggest that
your motivation is to be part of a pissing contest in the school
playground, and not to make a valid contribution to the thread.
 
R

Roedy Green

Show us your code in Forth that is so much briefer than
when expressed in other languages....

You could read about Abundance, the article that was published in Byte
in 1986 October. see http://mindprod.com/jgloss/article.html

You can download it and play with it if you want. see
http://mindprod.com/jgloss/abundance.html

I devised this back in 1979. It does not have a GUI so is not
something you would normally start a new project with today. However
the apps it generates are superior to most of the apps I have used for
data entry on the web, and it generates them in a tiny fraction of the
code.
 
A

Airy R Bean

Either you have an argument that you are going
to present in this NG, or you do not. (I do not use
the Web because of the cost of phone calls.)

In any case, you seem to be not offering evidence of code
in Forth, but code in "Abundance".
 

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,444
Messages
2,571,709
Members
48,796
Latest member
Greg L.
Top