transparent distributed computing
If i want to build a centralised database its pretty simple. Which SQL RDBMS do I choose oracle, MySQl what?
However if I want to have more than one physically seperate data store, suddenly my problems increase. Which location has a hold on which segements of the data. If I am selling cars at two locations, should the DB at location X hold the details for cars at location x?
There are lots of answers to such questions but there are no *correct* answers. Only compromises, and these compromises mean that the users cannot have a transparent system, that the UI must at some point reflect the distributed compromise made (perhaps only "I am sorry but I cannot sell you that car untill the sales person at location X stops trying to sell it to their customer")
The same applies to distributed Object systems.
Corba v Soap v XML-RPC. It does not really matter. CORBA has solved most of the stateful problems SOAP and WS-* services are wrestling with. But it has not (IMHO) and cannot solve the basic problem - if you are using serrvers in Texas, Lahore and london to complete the same transaction, the architecture, the exception handling, the design of that transaction *must* take into account possible network failure, location of data and so on.
Simply saying the message broker will ensure safe delivery does not count. Physical distribution punches holes right through the OSI layers and we must be mindful of that at the top layers.
If I can dream up better examples I will post them. Probably
yet another static typing comment
Static typing is becoming a bit of an issue in python
This is becoming a problem on two fronts
1. should a language support some new (perhaps improved) functionality
2. should a language that is gather big public support go ahead and change
and possibly alienate the new users
The first problem is (intended) to be solved through an optional get out clause
If you do not want your code to be static typed then don't flip the switch. Which to me seems to solve the whole problem.
However my (skim) readings of the discussion seem to point to the main problem being the second.
I did not pick this up until I saw http://www.perl.com/pub/a/2000/12/advocacy.html by Mark-janus Dominous
He says that the perl advocacy of a few years ago was causing problems. That people were becoming polarised over whether and language was good or bad, not whether the language functions were appropriate, usuable, efficient, restricting or otherwise.
Python it appears is following Perl. And its not a technical issue. Its simply that the python community is now so large it is attracting followers by sheer gravitational attraction. In other words, I guess that more people are using Python now not because it solves a particular itch of theirs (an informed choice) but because they have been told it is good and probably have not been prgoramming enough to have an itch.
I personally do not see a lot of use for optional static typing, but then I do not care
too much if my code can be heavily optimised (I have no scalable server based programs). Having said that if pyro works or this static typing gets easy I'll start optimising everything I can.
But I do not mind if Guido wants to improve his own language. Its his to play with, and
(unless we have a real claim on it like contributors such as Tim Peters) if i don't like it I can bugger off and write my own language. Or use Ruby.
So in essence, Python has become part of our identity, either through blind gravitational attraction or just regular use, and no-one likes someone else changing our identities for us.
(I also suspect that some of the more vociferous opponents have become used tot he idea they have influence on Pythons direction. Its a surprise when we discover we do not control what we thought we did.)
PS
this quote from the article rang a few bells
>>> Perl came into a world full of other tools and made a name for itself as a 'glue language' that can help a lot of other tools inter-operate
Python now appears to be in the same "glue language" label that perl was at the time of the articles.
It will be interesting to see whcich new language is touted as the Python replacement in 4 years.
And whether we shall realise that, as above, these languages do not have to compete, but interoperate and make life easy for us to use.
Does technology affect what we can imagine?
Einstein was born after photography.
Light is captured and frozen by photography, and can if need be altered, bent, changed from its reality into whatever the photographer can create, haloes, fairies in the garden and ufos in the sky.
But it is in cinema that we see light lying to us most effectively, and it was when D W Gritths was inventing the basic lies of cinema that Einstein was seeing the truths of the universe. But without DW could Einstein have seen so deep into the universe? If the cinema he loved so much did not exist, could Einstein (who claimed he imagined the problems first then worked out the maths) have had the mental tools to conjure his ideas?
Without birds would we dream of planes? Without spaceships landing on moons (Le Voyage Dans La lune 1902) , without images in front of our eyes, would we be able to imagine ourselves racing on light beams or falling in elevators?
Well, yes.
But our mental tools are surely affected by the technology in front of us, and a world filled by cart wheels will form our minds differently to a world where our houses are intelligent enough to know we have entered the room and want the curtains drawn and lights on. How will our children learn about a world that seems to be so attentive to their needs, and perhaps, just perhaps, if Einstein had never gone to the cinema he may never have dreamed of flying on a light beam.
Hollywood has a lot to answer for.