From owner-freebsd-arch@FreeBSD.ORG Tue Feb 1 23:47:06 2005 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8890416A4CE for ; Tue, 1 Feb 2005 23:47:06 +0000 (GMT) Received: from mx1.originative.co.uk (freebsd.gotadsl.co.uk [81.6.249.198]) by mx1.FreeBSD.org (Postfix) with ESMTP id E110243D46 for ; Tue, 1 Feb 2005 23:47:03 +0000 (GMT) (envelope-from paul@mx1.originative.co.uk) Received: from localhost (unknown [127.0.0.1]) by mx1.originative.co.uk (Postfix) with ESMTP id EA80315575 for ; Tue, 1 Feb 2005 23:47:02 +0000 (GMT) Received: from mx1.originative.co.uk ([127.0.0.1])port 10024) with ESMTP id 98450-10 for ; Tue, 1 Feb 2005 23:46:47 +0000 (GMT) Received: by mx1.originative.co.uk (Postfix, from userid 1000) id 2781A15579; Tue, 1 Feb 2005 23:46:47 +0000 (GMT) Date: Tue, 1 Feb 2005 23:46:47 +0000 From: Paul Richards To: arch@freebsd.org Message-ID: <20050201234646.GK61409@myrddin.originative.co.uk> References: <20050128173327.GI61409@myrddin.originative.co.uk> <20050131102630.GJ61409@myrddin.originative.co.uk> <20050201180624.GB19624@funkthat.com> <20050201190416.GG61409@myrddin.originative.co.uk> <20050201230437.GD19624@funkthat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050201230437.GD19624@funkthat.com> User-Agent: Mutt/1.5.6i Subject: Re: c99/c++ localised variable definition X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Feb 2005 23:47:06 -0000 On Tue, Feb 01, 2005 at 03:04:37PM -0800, John-Mark Gurney wrote: > Paul Richards wrote this message on Tue, Feb 01, 2005 at 19:04 +0000: > > On Tue, Feb 01, 2005 at 10:06:24AM -0800, John-Mark Gurney wrote: > > > Paul Richards wrote this message on Mon, Jan 31, 2005 at 10:26 +0000: > > > > > > [...] > > > > > > > I think the loop usage though is one clear example where it is > > > > clearer. I think there are others as well; where the usage of the > > > > variable is clearly localised it is much easier to see a local > > > > definition than to have to jump back and forth to find out what > > > > variables are. > > > > > > I personally think it isn't. One thing that I do in python all to > > > regularly (because it lacks variable declarations), is attempt to do: > > > for i in foo: > > > for j in bar: > > > for i in baz: > > > > That would work fine with c99. > > Depends upon your definition of working fine.. :) it doesn't work fine > if you do: > for i in foo: > for j in bar: > for i in baz: > pass > print i > > When the print i is suppose to return the element from foo, not baz, > because you later added baz because of fixing another bug.. That's true. What's starting to strike me as odd about this thread is that all the counter examples are about doing really dumb things. If you're a second rate coder who has a tendency to do dumb things then there's really no helping you no matter what the style is. Surely the issue should be, if you're a good coder and you adhere to the adopted style, which style is more likely to result in maintainable code. -- Paul Richards