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


Groups > comp.lang.python > #22358

Re: Number of languages known [was Re: Python is readable] - somewhat OT

Path csiph.com!usenet.pasdenom.info!goblin2!goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <nathan.alexander.rice@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.003
X-Spam-Evidence '*H*': 0.99; '*S*': 0.00; 'python,': 0.02; 'ideally': 0.05; 'patterns': 0.05; 'useful,': 0.05; 'sql.': 0.07; 'tries': 0.07; 'subject:Python': 0.07; 'chunk': 0.09; 'context': 0.09; 'logic': 0.09; 'relational': 0.09; 'subject:Number': 0.09; 'sure,': 0.09; 'cc:addr:python-list': 0.15; '(it': 0.16; '(other': 0.16; '1:48': 0.16; 'barrier': 0.16; 'entirely.': 0.16; 'explicit': 0.16; 'graph': 0.16; 'immutable': 0.16; 'lisp': 0.16; 'lisp,': 0.16; 'manipulation': 0.16; 'nudge': 0.16; 'prolog,': 0.16; 'quoted': 0.16; 'reasonable.': 0.16; 'ugly.': 0.16; 'verbose,': 0.16; 'suggest': 0.17; 'language': 0.17; 'argument': 0.18; 'certainly': 0.18; 'later': 0.18; 'trying': 0.20; 'programming': 0.21; 'wrote:': 0.21; 'function': 0.22; 'received:209.85.213.46': 0.22; 'received:mail- yw0-f46.google.com': 0.22; 'header:In-Reply-To:1': 0.22; 'software.': 0.23; '(this': 0.23; 'structure': 0.23; 'code.': 0.24; 'input': 0.24; 'run': 0.26; 'cc:no real name:2**0': 0.26; 'message-id:@mail.gmail.com': 0.27; 'cc:addr:python.org': 0.27; 'not,': 0.27; 'language.': 0.27; 'separate': 0.27; 'second': 0.28; 'pm,': 0.28; 'argue': 0.29; 'macros': 0.29; 'nested': 0.29; 'subject: [': 0.29; 'universal': 0.29; 'code': 0.29; 'cc:2**0': 0.31; 'received:209.85': 0.32; 'towards': 0.32; 'received:google.com': 0.32; 'earlier': 0.32; 'operations': 0.32; 'matching': 0.33; 'mode': 0.33; 'processes': 0.33; 'thu,': 0.33; 'leave': 0.34; 'sort': 0.35; 'received:209': 0.35; 'two': 0.35; 'there': 0.35; 'should': 0.35; 'sql': 0.35; 'lists': 0.35; 'things': 0.36; 'really': 0.36; "i'm": 0.36; 'why': 0.36; 'form.': 0.36; 'but': 0.36; 'does': 0.36; 'list': 0.37; '(in': 0.37; 'some': 0.37; 'data': 0.38; 'something': 0.38; 'rather': 0.38; 'common': 0.38; 'client': 0.38; 'list,': 0.38; 'correct': 0.38; 'being': 0.39; 'think': 0.40; 'large': 0.40; 'entire': 0.60; 'your': 0.60; 'mar': 0.61; 'course': 0.61; 'single': 0.61; 'more': 0.63; 'necessarily': 0.64; 'between': 0.64; 'high': 0.65; 'differences': 0.66; 'here': 0.66; 'play': 0.67; 'making': 0.67; '2012': 0.69; 'response.': 0.71; 'honest': 0.72; 'union': 0.72; 'natural': 0.74; 'grow': 0.79; 'default': 0.81; 'obvious': 0.81; 'action.': 0.84; 'circle.': 0.84; 'computation.': 0.84; 'embrace': 0.84; 'entity,': 0.84; 'inherent': 0.84; 'nathan': 0.84; 'notion': 0.84; "program's": 0.84; 'statements.': 0.84; '29,': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=ofPOFX2t3GaTghBm22aW8dsOdQMXj/GR3oqyi5oslRU=; b=aP5xjKRs78UEtpm8PB3eKOiTwKM7evJQWw6OCD3s9P3FjaZIDoJIRkBff6f0IDd6zc YAdAOmB0kPgHrFvpQVoxVYHDnMlLK8O0y6sAfLvi7KhONDlDRxl2gn+F0oEOGe1SCb20 oQgB3jCpZtaMRo2zXlMYwOseCLg8trBWA4fviaR0MUdui7h4FXcTBzci4tJhqYwm4wDu N8eYpkX+ZNFt55sdqKzOQM6V6+gA5ttU+4O9kKb9ADkaFMhONWTrbLPTF2ST2suSDMZt Ly78pxAhNiZMiy5rgSiyyz4NdAmWb1gGiRsQDW27gm7DsIXDmragMaurxJ3zABpIgWD/ IZSw==
MIME-Version 1.0
In-Reply-To <CABicbJ+A5MPV=GyJC__SBtjHkDsTZUYm3Csi=KC6_2CJ49=ncg@mail.gmail.com>
References <CAPTjJmoEuHcUs5vkTNywfC6ZAwsKdVvs+8os40EJ4Oa1GPaBVw@mail.gmail.com> <B58DAE84-AA61-477A-B835-A62DA2224D8A@gmail.com> <CAPTjJmr3ybJUZFPyTWLysOE3YgWUjFZ8Bx6cjVjvNYVakXzM1Q@mail.gmail.com> <CAOFbRmLFrE_YiNu39xShCHnicoKVFYg8raZAGfHY9pC3HmOxVg@mail.gmail.com> <CAPTjJmqRBB+J=BwBCkSK--BtcNMQHteXwb7qguc6fD=O+-oKNw@mail.gmail.com> <CAOFbRmLuvC0YAn3+zwJL9XM9mVhWMqxnoMVFi9KQSraBTmMDjw@mail.gmail.com> <CABicbJ+A5MPV=GyJC__SBtjHkDsTZUYm3Csi=KC6_2CJ49=ncg@mail.gmail.com>
Date Thu, 29 Mar 2012 15:50:37 -0400
Subject Re: Number of languages known [was Re: Python is readable] - somewhat OT
From Nathan Rice <nathan.alexander.rice@gmail.com>
To Devin Jeanpierre <jeanpierreda@gmail.com>
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding quoted-printable
Cc python-list@python.org
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.12
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.1133.1333050641.3037.python-list@python.org> (permalink)
Lines 68
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1333050641 news.xs4all.nl 6907 [2001:888:2000:d::a6]:46314
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:22358

Show key headers only | View raw


On Thu, Mar 29, 2012 at 2:53 PM, Devin Jeanpierre
<jeanpierreda@gmail.com> wrote:
> Agreed with your entire first chunk 100%. Woohoo! High five. :)

Damn, then I'm not trolling hard enough ಠ_ಠ

> On Thu, Mar 29, 2012 at 1:48 PM, Nathan Rice
> <nathan.alexander.rice@gmail.com> wrote:
>> transformations on lists of data are natural in Lisp, but graph
>> transformations are not, making some things awkward.
>
> Eh, earlier you make some argument towards lisp being a universal
> metalanguage. If it can simulate prolog, it can certainly grow a graph
> manipulation form. You'd just need to code it up as a macro or
> function :p

Well, a lisp-like language.  I would also argue that if you are using
macros to do anything, the thing you are trying to do should classify
as "not natural in lisp" :)

I'm really thinking here more in terms of a general graph reactive
system here, matching patterns in an input graph and modifying the
graph in response.  There are a lot of systems that can be modeled as
a graph that don't admit a nested list (tree) description.  By having
references to outside the nesting structure you've just admitted that
you need a graph rather than a list, so why not be honest about it and
work in that context from the get-go.

>> Additionally,
>> because Lisp tries to nudge you towards programming in a functional
>> style, it can be un-intuitive to learn.
>
> I think you're thinking of Scheme here. Common Lisp isn't any more
> functional than Python, AFAIK (other than having syntactic heritage
> from the lambda calculus?)
>
> Common-Lisp does very much embrace state as you later describe, Scheme
> much less so (in that it makes mutating operations more obvious and
> more ugly. Many schemes even outlaw some entirely. And quoted lists
> default to immutable (aaaargh)).

I find it interesting that John McCarthy invented both Lisp and the
situation calculus.

As for set/setq, sure, you can play with state, but it is verbose, and
there is no inherent notion of temporal locality.  Your program's
execution order forms a nice lattice when run on hardware, that should
be explicit in software.  If I were to do something crazy like take
the union of two processes that can potentially interact, with an
equivalence relation between some time t1 in the first process and a
time t2 in the second (so that you can derive a single partial order),
the computer should be able to tell if I am going to shoot myself in
the foot, and ideally suggest the correct course of action.

> Well, what sort of language differences make for English vs Mandarin?
> Relational algebraic-style programming is useful, but definitely a
> large language barrier to people that don't know any SQL. I think this
> is reasonable. (It would not matter even if you gave SQL python-like
> syntax, the mode of thinking is different, and for a good reason.)

I don't think they have to be.  You can view functions as names for
temporally ordered sequence of declarative implication statements.
Databases just leave out the logic (this is hyperbole, I know), so you
have to do it in client code.  I don't feel that a database
necessarily has to be a separate entity, that is just an artifact of
the localized, specialized view of computation.  As stronger
abstractions are developed and concurrent, distributed computation is
rigorously systematized, I think we'll go full circle.

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


Thread

Re: Number of languages known [was Re: Python is readable] - somewhat OT Nathan Rice <nathan.alexander.rice@gmail.com> - 2012-03-29 15:50 -0400

csiph-web