Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #43602

Re: The type/object distinction and possible synthesis of OOP and imperative programming languages

Path csiph.com!usenet.pasdenom.info!news.albasani.net!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'algorithm': 0.04; 'heavily': 0.04; 'cpython': 0.05; '(except': 0.07; 'linear': 0.09; 'models.': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'shifting': 0.09; 'url:releases': 0.09; 'useless': 0.09; 'python': 0.11; 'jan': 0.12; 'url:download': 0.12; 'itself.': 0.14; 'language.': 0.14; '2001,': 0.16; 'gmane': 0.16; 'janssen': 0.16; 'language?': 0.16; 'mirror.': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'statement.': 0.16; 'subject: \n ': 0.16; 'subject:OOP': 0.16; 'subject:object': 0.16; 'subject:possible': 0.16; 'subject:programming': 0.16; 'subject:type': 0.16; 'underlying': 0.16; 'java,': 0.16; 'url:)': 0.16; 'language': 0.16; 'wrote:': 0.18; '2001': 0.19; "python's": 0.19; 'machine': 0.22; 'memory': 0.22; 'programming': 0.22; 'header:User-Agent:1': 0.23; 'java': 0.24; 'question': 0.24; 'compiled': 0.26; 'subject:/': 0.26; 'header:X-Complaints-To:1': 0.27; 'header:In-Reply-To:1': 0.27; 'idea': 0.28; 'ideal': 0.29; 'went': 0.31; 'code': 0.31; "skip:' 10": 0.31; 'towards': 0.31; '1.3': 0.31; 'alan': 0.31; 'stands': 0.31; 'class': 0.32; 'lists': 0.32; 'this.': 0.32; 'url:python': 0.33; 'noticed': 0.34; 'skip:d 20': 0.34; 'could': 0.34; 'problem': 0.35; 'classes': 0.35; 'something': 0.35; 'there': 0.35; 'similar': 0.36; 'url:org': 0.36; 'should': 0.36; 'virtual': 0.37; 'architecture': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'address.': 0.39; 'mailing': 0.39; 'received:org': 0.40; 'even': 0.60; 'then,': 0.60; 'received:173': 0.61; 'subject:The': 0.64; 'note:': 0.66; 'reply': 0.66; 'biggest': 0.67; '(ref:': 0.84; 'confusing': 0.84; 'difference.': 0.84; 'literature': 0.84; 'received:fios.verizon.net': 0.84
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Terry Jan Reedy <tjreedy@udel.edu>
Subject Re: The type/object distinction and possible synthesis of OOP and imperative programming languages
Date Mon, 15 Apr 2013 00:56:02 -0400
References <CAMjeLr_7A-NRtec=K_ZsjXA_oJHnD6+vpttz4Ma0vtDRbb+o2w@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
X-Gmane-NNTP-Posting-Host pool-173-75-251-66.phlapa.fios.verizon.net
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307 Thunderbird/17.0.4
In-Reply-To <CAMjeLr_7A-NRtec=K_ZsjXA_oJHnD6+vpttz4Ma0vtDRbb+o2w@mail.gmail.com>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.619.1366001773.3114.python-list@python.org> (permalink)
Lines 49
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1366001773 news.xs4all.nl 2575 [2001:888:2000:d::a6]:46749
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:43602

Show key headers only | View raw


Note: cross-posting to mailing lists does not work well. Hence the reply 
only to python-list and the gmane mirror.

On 4/14/2013 11:48 PM, Mark Janssen wrote:

> Python is an "interpreted" language.

I consider this a useless or even deceptive statement. Python is an 
object-based algorithm language. The CPython implementation (currently) 
*compiles* Python code to a virtual machine bytecode, similar to Java 
bytecode. This could change. Jython translates to Java, which is then 
compiled to Java bytecode. Do you call Java an 'interpreted' language? 
There are compilers that compile Python to the same 'object code' that C 
is compiled to.

 >Since 2001, Python's has migrated towards a "pure" Object model.

It migrated towards a pure class model.

> model (ref: http://www.python.org/download/releases/2.2/descrintro/).
> Prior to then, it had both types and classes and these types were
> anchored to the underlying C code and the machine/hardware
> architecture itself.

I started with Python 1.3 and I have no idea what you mean by this. I 
think you are heavily confusing Python the language and CPython the 
implementation.

> After the 2001 "type/class unification" , it
> went towards Alan Kay's ideal of "everything is an object".

Everything has always been an object with value and identity.

This stands in contrast to the assemble/C model that everything (except 
registers) is a block of linear memory with an address.

> My question is:  Is there something in the Computer Science literature
> that has noticed this distinction/development in programming language
> design and history?

To me, there should be, since this is a fundamental distinction in data 
models. I think the biggest problem in shifting from C to Python is 
'getting' the data model difference. For Lispers, the difference is the 
syntax.

--
Terry Jan Reedy

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: The type/object distinction and possible synthesis of OOP and imperative programming languages Terry Jan Reedy <tjreedy@udel.edu> - 2013-04-15 00:56 -0400

csiph-web