Therefore, if we deem to try and put a computerised program that can echo ethics together, it must place human life at the top of the list.
The decisions it must make must be those that a committee of "sensible" people agree are the best decisions to make, and those decisions be pre-determined, with hindsight, from a series of experiences, that are a sum of more than the best driver could possibly experience in one lifetime even if they drove 24hrs a day.
This computer will be given all the problems of all the possible variances possible to "solve", and then the code that produces the end results, re-written, until it gets the right results, and then further tested, again and again, with different scenario's, until we can be sure that it is "safe" to be able to work problems on its own...
More or less exactly the same way we bring a child up?.
It may take several years, but with all the tuition in the world, eventually, you have to let go, and allow it to think by its self.
But with a computer, unlike a child, you can bombard it with new scenario's "Twenty times a second" for 24 hrs a day, and further improve its coding to make better decisions without it being tired.
One person could not possibly do that kind of a job on their own.
It HAS to be team work.
And it HAS to be fed as many possible combinations of possible scenario's as possible to continue its education...
And it has to be "Open source" software in there, that can be improved by anyone at all that has the ability to improve, because whats better that one whole team doing the job?. TWO whole teams... and then on to as many as you can find...
And then at the end of each month, have a "Global" discussion on if anyone has made improvements to the code and are those improvements enough forwards thinking to be worthy of a global update.
And then a tidy up team working to make the code better by sourcing all the redundant code left behind by subsequent updates, because, after all, this isnt wind-woes powered by Micro-bodge and we dont parachute code in by taking the whole package when its only 10% of that code that we actually need.
Which is something I am in discussion with with my Coding son who is using DLL's in some of his code, because they work in part, and I am asking him, why call the whole DLL when you only need part of it, why not code better by re-writing that DLL with only the part you need, and he says "Its complicated"....
No it aint.
If you have time to inspect the DLL for the part you need, dont yo have time to cut and delete the un-needed part and save it as a unique DLL name?.
And then the bit I didnt think of.
To save time in size of download, the DLL's called are already installed on many peoples computers already being in use by many other bits of software...
HOWEVER, what we are building here is a ONE program, base zero, no previous versions to work on, this is not an update, this is a change in whole of the operating system, so its a fire sale on everything before hand, everything MUST go, and we need to start with a clean sheet.
We need to think back to the days when I was a programmer, in that, there were no operating systems like windows to speak of, each installation was a fresh new start, and its all new.
We have to start right from the beginning here, re-hashing what has come before wont work, it has to be a fresh approach.
Include the good ideas, but the code has to be shiny brand new?.
That is the way to get the programmers to be thinking fresh and thinking new.