Excellent points on your side as well Peter.
And indeed my comments below
--
Stéphane Richard
Senior Software and Technology Supervisor
http://www.totalweb-inc.com
For all your hosting and related needs
Peter E.C. Dashwood said:
Thanks for the response, Stephane.
Some good points.
My comments below...
No. I'm not saying that. The "limits" of my view are bounded by BUSINESS (ie
commercial) application development. I don't know what will happen in
programming research labs (and, to be blunt, I'm not really
interested...hopefully, there will be some exciting developments, that will
eventually trickle through to commerce, but that isn't where my particular
personal interest lies.)
I have to say that this is exactly where my interest lies. Because
ultimately out of these labs will come out the new intelligent stuff that
you mentionned. But I know that this simulated knowledge based analysis
does exist, I've programmed one myself in one of my contracts...business
rules and knowledge saved in "intelligently designed databases" from which
it is possible to generate a whole process "program" based on the knowledge
incorporated in the knowledge base. There are teh so called expert system
wich are pushing their limits further and further away. The whole A.I.
industry is makign tremendous progress as well as robotics. now sure it's
possible to really push forward the "data processing" side of programming
and database related dtechnologies, SQL Server has introduced it's "natural
english query language" not perfect but a step in teh right direction to
incite non programmers to interrogate their own data based on teh business
knowledge that they have. I see that happening too
. I guess I'm
saying that like in genetics, I wonder how good it is to see if we can do it
before we take the time to see if we SHOULD do it. if we push things to
extremes, how would you feel if a conputer was responsible for pushing the
red button to start WW3 ? no matter how much knowledge it may have to
evaluate a situation? I wouldn't feel too good about it.
.....be
investing in nuclear shelters ASAP hehehe... It's ok to push it, it's not
ok to push it too far. Even at the scale of a user based programming
concept.
do amazed
I would agree with the above. The question is HOW we unleash this potential
in the future. I believe it won't be by Procedural code. (There are many
reasons for this... and I am NOT suggesting that NO-ONE will be writing
procedural code. It just won't be commercially viable to develop business
solutions in this way. In fact, it isn't even today. It's just that there
has been no alternative for 40 years...)
**** Well the first alternative there has been was the coming of the
BASIC language which was originaly mean as the "easy way out" or
"Programming for the rest of us" kind of system. And that's been so for a
while after it came out. Then cam procedural programming
About 12 years ago or so, a product called Clarion (database development
system) attempted to give application development a new twist....by
attempting to manage and develop an application from the same integrated
system with screen generators, report generators, query generators,
relationship generators a good complete package at the time. to no avail
however. Almost as if the user (or dare I say lesser programmer at the
time) wanted anything to change about the way you develop an application.
Later Borland dared to push the wall of user to developer as thin as it
could get with their "ObjectVision" development suit. even much less
programming and any kind of logical "way of thinking" was required. it was
as visual as it could get (back then) and the main thing you had to worry
about was that reporting formulas and input masks (along with validation
rules). Their motto was (not quoted but somewhat close) create an
application with your mouse. and that failed faster than you could get a
blue screen on windows (back then, that says all...hehehe).
**** And now CASE Tools are emerging, knowledge base concepts as well,
and we have yet to see how far these technologies can go in replacing
programmers. As a programmer, I would never use something that doesn't
give me 100% of the control of what I can do with it. As a user, that need
becomes secondary to those "results" you mention but at what price? How
much more is a user (commercial or not) willing to be responsible for if
everything fails because he was empowered to do it instead of a developer?
Corporately it's not a wise business decision. not yet anyways. and the
problem today is that no business want to invest in R & D .... they seem to
expect us, the programmer, to spend the long nights and weekends in front of
our systems...develop a revolutionary programming or user interaction
concept (give them all this free time weeks, months, years even) and if they
are interested then maybe they'll see what's left to do. How fast can a
commercial market expand itself when they aren't willing to pay for the
tools they need for their expansion? I see a circle forming itself here
.
No, that is pushing my argument beyond its limits and I couldn't defend such
a position. I am not speculating on the "whole computer industry", only
commercial systems development.
**** Good to hear, I pushed it that far to see your realm of application
scales
The question is whether those "programmers" will be human... We already have
computers that monitor computers. In heuristic systems, programs modify
themselves so fast that the only way to know what happened is to monitor it
with another computer. While this is outside the arena I have defined for my
speculation, it is interesting and fun to look at.
Well see we have windows that's so fast at screwing itself that there IS NO
way to know what happened? is that a close enough adjacent frame of
thought? hehehe...sorry I had to throw that in there. I've heard of those
here and there in my many A.I. readings, and indeed this is good for the
user oriented approach. No user will spit on doing less and getting more
done in the process. even me as a programmer, if I can take Rational
Rose...Give it my frame of mind and it gives me a framework on which I can
build and finalize it's functionality, I dont see why i would spit on that
myself. However, that goes for as long as it gives me full access to what
it did and full permission to change any part of it. There will always be
people (even in the business/commercial and user oriented concepts) that
will want all the rights and all the permissions and tehre will always be
people that quite symply dont need it. the "in between" of these 2 extremes
is what will shift towards one side or another, and probably shift back and
forth until the end of times
...
I see a time when some programs will attain a result (based on trial and
error and a program modifying itself several trillion times within a few
minutes) where it will not be (humanly) possible to know HOW it arrived at
the solution. We'll just be thankful we HAVE a solution. There will be no
way of knowing whether the solution is optimum. The best we could do is run
the program again and hope for a shorter result...
Ahh but then, how will they get the shorter result? Wait for a faster PC to
arrive? or get the system to reevaluate itself? I always say the short
distance between two points isn't a straight line, it's teleportation.
.....How many more business knowledge with the computer need, compared to
what already has (which was initialy supposed to be enough to come up with a
solution to the original problem) in order to do it faster, in less steps,
etc etc....Take the tower of hanoi, 14 steps I believe is the shortest
possible number of steps to solve it. What will tell the future computer
that it was supposed to stop at 14? if we have the knowledge that 14 moves
is in there but all the magnificant A.I. believes it can do it in less and
tries to find a solution it never will find..."endless loop" Take the film
War games, where they whole faith of humanity was a race against time
between two processes running on the same computer? a global thermal
nuclear war simulation and a game of tic tac toe? and the game of tic tac
toe won?
This means a computer will attain a result and NO-ONE will know HOW it did
it.
As a Programmer, you may find this an exciting prospect, or you may find it
terrifying. (personally, I'm in the former category). No matter how you feel
about it, it will happen (has already, actually...).
**** As I mention it's exciting in one category only.. and different
categories of terrifying in the rest of them
. I think the 3 laws of
robotics, the ones created by Azimov should indeed be translated and applied
to the computing industry.
Your statement regarding computers and programmers may be suspect.
**** Suspect? as in?
I have tried to give you some return on your investment...<G>
**** and indeed you have, but now, I am yet another couple dollars ahead of
you
...
**** I must say I do enjoy exchangings thoughts and views with you, I think
we'll both come out winners in the end.
which I hope doesn't arrive
anytime soon