Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.011 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; '16,': 0.03; 'languages.': 0.04; 'python': 0.11; '(note': 0.16; 'calculus,': 0.16; 'expressions.': 0.16; 'function"': 0.16; 'invalid.': 0.16; 'janssen': 0.16; 'lambda': 0.16; 'lisp': 0.16; 'pov.': 0.16; 'prides': 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; 'such,': 0.16; 'wrote:': 0.18; 'bit': 0.19; 'trying': 0.19; 'unlike': 0.19; 'machine': 0.22; 'programming': 0.22; 'java': 0.24; 'subject:/': 0.26; 'header:In-Reply-To:1': 0.27; 'idea': 0.28; 'point': 0.28; '[1]': 0.29; "doesn't": 0.30; 'nature': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; '(which': 0.31; 'easier': 0.31; 'url:wiki': 0.31; '(although': 0.31; 'commonly': 0.31; 'url:wikipedia': 0.31; 'anyone': 0.31; 'probably': 0.32; 'received:209.85': 0.35; 'definition': 0.35; 'usual': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'doing': 0.36; 'url:org': 0.36; 'received:209': 0.37; 'machines': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'anything': 0.39; 'functional': 0.39; 'itself': 0.39; 'to:addr:python.org': 0.39; 'even': 0.60; "you're": 0.61; 'subject:The': 0.64; 'more': 0.64; 'selling': 0.65; 'world': 0.66; 'due': 0.66; 'theoretical': 0.74; 'around,': 0.84; 'computation,': 0.84; 'valid,': 0.84; 'calculus': 0.91; 'procedural': 0.91; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=Dd2yKx3w+c64v2GpDr9aqQmXq71fxOBbLaudMA1YPug=; b=vVaORwmzqp33PAlAJJP87M/RKbKofofbViMKLRdgJEnxEnELcL8MYdhdAi4tOVkiJf BFyf4sBG+MGantDdwMPiWwqYBBLeZPxs/JoqubtBDoiHuWo5UxP7vuDgz9RnXHK2WdaJ NG8ISpdfiJm2du+zBvCmCiMBXNV9tYqkM4ZWeLqSoyi8/BZKIKTC0dEgDgM+DlI/D0Nb 5w/biDx4TX/hoSZOSb41T0sQkOJvykj/GNIz7/8uNa391Z5R92WLtiA4ZQkaoxt+B/Ki QY/plsbilcupAEZN4ZDhen8QtXZVXumj307ltkaxInPLAIureeW/TOYjsuiXqZXY1P2R XCJw== X-Received: by 10.68.218.103 with SMTP id pf7mr6158587pbc.153.1366154181684; Tue, 16 Apr 2013 16:16:21 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <516bd241$0$29872$c3e8da3$5496439d@news.astraweb.com> <516C3C44.6010706@rece.vub.ac.be> From: Ian Kelly Date: Tue, 16 Apr 2013 17:14:45 -0600 Subject: Re: The type/object distinction and possible synthesis of OOP and imperative programming languages To: Python Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 29 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1366154184 news.xs4all.nl 2700 [2001:888:2000:d::a6]:49487 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:43712 On Tue, Apr 16, 2013 at 4:38 PM, Mark Janssen wrote: > I think his point remains valid, from a theoretical pov. Python > prides itself on the idea of "first-class functions" and such, but > unlike the world of lambda calculus, this selling point is a bit > invalid. Because for Python (and any C-based language), it is roots > squarely in the Turing machine and its real-word implementation. I'm having a hard time following what you're trying to say here. Lambda calculus and Turing machines are theoretical models of computation, not languages. You can model Lisp programs with Turing machine, and you can model C programs with lambda expressions. Practically speaking you would probably have an easier time doing it the other way around, due to the procedural nature of the Turing machine versus the functional nature of the lambda calculus. By the usual definition of "first-class function" [1], Python functions are first-class; this has nothing to do with functional vs. procedural programming (although it is more commonly found in the former) or to do with Turing machines (which don't even include functions as a concept). > (Note this contrasts starkly with Java(script), which doesn't seem > to be based on anything -- can anyone clarify where Java actually > comes from?) I don't understand why you would consider Python to be "C-based" or "Turing machine-based" but not Java or Javascript. [1] http://en.wikipedia.org/wiki/First-class_citizen