What other languages use the same data model as Python?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Sun May 1 04:45:51 EDT 2011


Python uses a data model of "name binding" and "call by object" (also 
known as "call by sharing"). I trust I don't need to define my terms, but 
just in case:

http://effbot.org/zone/call-by-object.htm
http://effbot.org/zone/python-objects.htm


Now, this is different from languages like C and Pascal, which is based 
on variables, or Forth, which explicitly manipulates a stack. Quite 
often, when people want to impress upon others that Python is not C, they 
will say:

"Python's data model is different from other languages"

which is perfectly correct, if you think of C as "other languages". But 
it's equally correct to say that Python's data model is the same as other 
languages. As I understand it, Python and Ruby have the same data model. 
So does Java, so long as you only consider objects and ignore unboxed 
native values. I believe (but could be wrong) that another language of 
about the same vintage as Python, Emerald, also uses the same model. 
That's not surprising, because I believe that Emerald (just like Python) 
was strongly influenced by CLU.

What other languages use the same, or mostly similar, data model as 
Python?



-- 
Steven



More information about the Python-list mailing list