Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!xlned.com!feeder7.xlned.com!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!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.051 X-Spam-Evidence: '*H*': 0.90; '*S*': 0.00; 'operator': 0.03; 'assignment': 0.07; 'subject:Error': 0.07; 'operator,': 0.09; 'python': 0.11; '60,': 0.16; 'better?': 0.16; 'earlier.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'language': 0.16; 'wrote:': 0.18; 'trying': 0.19; 'issue.': 0.22; 'mathematical': 0.24; 'sorry,': 0.24; 'header:In-Reply-To:1': 0.27; 'tried': 0.27; 'point': 0.28; 'chris': 0.29; 'am,': 0.29; "doesn't": 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; '(maybe': 0.31; 'closer': 0.31; 'pascal': 0.31; "we're": 0.32; 'could': 0.34; 'but': 0.35; 'received:google.com': 0.35; 'really': 0.36; 'much.': 0.36; 'programming,': 0.36; 'doing': 0.36; 'represent': 0.38; 'to:addr:python-list': 0.38; 'that,': 0.38; 'functional': 0.39; 'to:addr:python.org': 0.39; 'read': 0.60; 'new': 0.61; "you're": 0.61; 'real': 0.63; 'different': 0.65; 'talking': 0.65; '20,': 0.68; 'guaranteed': 0.75; 'article': 0.77; 'yourself': 0.78; 'truth': 0.81; 'subject:Testing': 0.84; 'poorly': 0.93; '2013': 0.98 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 :content-type:content-transfer-encoding; bh=ynrPlYcgL3Ps8hzP9IydK/VzXZHGrYXED35y7iy5PWU=; b=jDA0W7/FEUdvaFWfXn1+LVRjrgG6m4/XxVxonaT+bNvt52VSY1HyMUUBc9NFrpOOoG 1hgQNn+ASd7zdHvpuDsvxhauv45uNZV0Cp6bm4jjMsw7V6HvclvykvwqW6hq+ZWxZIZP G308VzQBwWWPNBCQ507hDNGbjsvpl5vdk88RNJR5Q9wAtoLTrvWaO35rD2mRpTR9vJ9q ybuaM7ga8XqoBAliIBY6/KQZqtX0LO+Ye1EbX32fwBqGH50Vcq3Rl82E2nKJcbzwtCLA Ocjl6FF3l6konUbQXa0KQ1OC7AwlC4V8DSmq6RVjX6Y8WFQZ1uNh3tb7g5tQ0nC9pYf3 eHqg== MIME-Version: 1.0 X-Received: by 10.66.162.136 with SMTP id ya8mr10370378pab.110.1382223743352; Sat, 19 Oct 2013 16:02:23 -0700 (PDT) In-Reply-To: References: <33549834-2f27-47f3-abea-eb3486909dec@googlegroups.com> <9e734f2b-9bcd-47d8-adb9-de6501fa6e7d@googlegroups.com> Date: Sun, 20 Oct 2013 10:02:23 +1100 Subject: Re: Error Testing From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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: 28 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1382223752 news.xs4all.nl 15906 [2001:888:2000:d::a6]:53494 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:57130 On Sun, Oct 20, 2013 at 9:46 AM, Ned Deily wrote: > In article > , > Chris Angelico wrote: >> Pascal tried to create a new operator, :=3D to be read "becomes", to >> deal with the whole equality-vs-assignment issue. > > Um, Pascal was just following the lead of ALGOL 60, roughly a decade earl= ier. Sorry, the word "create" was poorly chosen. Would "deploy" be better? I'm aware there's a family; what I'm trying to say is that, in Pascal (I prefer to use a better-known language for discussion, where possible), there's a new operator instead of =3D. Anyway, my point is that it doesn't really help much. Imperative code is temporal (maybe functional or declarative code could be closer to maths, but we're talking Python here, which is imperative), where mathematical truth is timeless. If a=B2 + b=B2 =3D c=B2 now, then it still will be true tomorrow. In programming, that's far from guaranteed (though compilers will often optimize if they know there's a section of code where the three won't change). You have to get your head around that, whether you're doing assignment or comparison, and using a different symbol to represent them is doing yourself as much of a disservice as avoiding + for addition of floats to emphasize that they don't always work like real numbers. ChrisA