What other languages use the same data model as Python?

Hans Georg Schaathun hg at schaathun.net
Wed May 4 16:40:43 EDT 2011


On Wed, 04 May 2011 14:58:38 -0500, harrismh777
  <harrismh777 at charter.net> wrote:
:       True enough. If I used Jython, I would want to take a look at those 
:  sources... as well as the Java sources... which were wrtten in, um,  C.

And then, suddenly, you'll be developing code which fails on CPython
instead of code which fails on Jython.  Except that it will still 
fail on Jython too, unless you happen to have the right jvm.

Marvelous.

:      Oh, yes they are.   That is the $10,000,000 dollar problem... how to 
:  extricate ourselves from the von Neumann processor. *Everthing* comes 
:  down to that...  its hilarious to hear folks talk about lambda the 
:  ultimate (especially those guys on Lambda the Ultimate) when there is no 
:  such thing until such time as we have lambda the hardware architecture. 

The problem with your approach is that software development does not
scale.  Assembly worked very well with a few 100 lines of codes half
a century ago.  C and friends were a great step forward and reduced
the complexity to allow another magnitude of lines of codes.  Then
came further languages further removed from von Neumann, but close
enough to human cognition to handle yet a magnitude or too.

Of course you can still gain useful understanding by studying assembly
or von Neumann, or the instruction set of the CPU you use.  And in 
some projects it may be an optimal strategy.  However, there are 
many skills necessary to make an efficient system and in many projects
assembly and hardware skills are far down the list.

Virtualisation is there to the cut costs of rethinking solutions for 
multiple architectures.  If you need to understand the implementation
to do your programming, you are in fact disregarding one of the most
significant achievements deployed in computing the last two decades. 

:      Not conceptually, but practically. For instance, for a C programmer 
:  to see that Python's object references are C void pointers, tells the 
:  newbie Python ( C programmer ) much about how Python considers 
:  variables... as references... to objects.

And of course, this is useful as /one/ way to consider python variables.
As long as one is aware that this is just an example, one approach out
of many, then it enhances understanding.  If one blindly extrapolates 
from one implementation, it enhances misunderstanding.


-- 
:-- Hans Georg



More information about the Python-list mailing list