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

Discussion in 'Python' started by Terry Jan Reedy, Apr 15, 2013.

  1. 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
    Terry Jan Reedy, Apr 15, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page