From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10457 invoked from network); 15 Mar 2004 23:37:01 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 15 Mar 2004 23:37:01 -0000 Received: (qmail 28093 invoked by alias); 15 Mar 2004 23:36:43 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7185 Received: (qmail 27997 invoked from network); 15 Mar 2004 23:36:42 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 15 Mar 2004 23:36:42 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [68.1.17.116] by sunsite.dk (MessageWall 1.0.8) with SMTP; 15 Mar 2004 23:36:41 -0000 Received: from quark.hightek.org ([68.12.75.33]) by lakemtao05.cox.net (InterMail vM.5.01.06.08 201-253-122-130-108-20031117) with ESMTP id <20040315233639.KAZW21704.lakemtao05.cox.net@quark.hightek.org> for ; Mon, 15 Mar 2004 18:36:39 -0500 Received: by quark.hightek.org (Postfix, from userid 501) id 0B557123FF; Mon, 15 Mar 2004 17:37:12 -0600 (CST) Date: Mon, 15 Mar 2004 17:37:12 -0600 From: Vincent Stemen To: zsh-users@sunsite.dk Subject: Re: [OT]Python/zsh/perl Message-ID: <20040315233711.GB69458@quark.hightek.org> References: <20040314215700.GA61154@quark.hightek.org> <20040315070400.81487.qmail@web12405.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040315070400.81487.qmail@web12405.mail.yahoo.com> User-Agent: Mutt/1.4.1i On Sun, Mar 14, 2004 at 11:04:00PM -0800, Bob Schmertz wrote: > --- Vincent Stemen wrote: > [quoted text "juggled around" a bit] > > > I agree. This surprising discovery is the primary reason I never put > > any serious consideration into learning Python. > > > I use the auto indentation features of xemacs all the time. I see no > > way you could do that without code block delimiters. Seems like a step > > backward in time. > > Emacs seems to be the most popular editor for Python programmers. It > knows when to start a new indent level, because the if, while, class, > etc. lines all end with a colon. It can't tell when you want to close > the > block, of course, but if you're typing new code, that's a simple matter > of > hitting the backspace key once for every block you want to close out. I > wouldn't /think/ of coding in Python if I didn't have Emacs or something > equally smart. I agree. Typing new code from scratch is not where I felt there would be problems. > > Seems like it would be a nightmare to fix if you get your indentation > > messed up (which is extremely common when juggling code around). > > Not sure exactly what you mean by "juggling around"; if you mean cutting > a > section from a file and moving it elsewhere in the file, or to a > different > file, at a point that starts out at a different indent level, there's a Yes, that is what I meant. > key sequence to add or subtract an indent level from that entire block of > code, so that the pasted code will be consisent with itself as well as > fitting all under the appropriate if statement or whatever. If you're > talking about code from someone else, esp. via email and things like > that, > then there are more variables, of course. Yes, I cannot even begin to count the number of times I pasted code surrounded by other code with different indentation levels and then lost track of which code went with which block. With block delimiters, I very commonly mark a substantial region under xemacs and tell it to re-indent to automatically fix it all. Also, I commonly will be working with code I did not originally write or modifying code I wrote in the past and have since changed my indentation style. That is especially common when learning a new language where you have not yet refined the style you like best for that language. It can become very tedious manually fixing indentation on a large chunk of code, especially if you accidently change the whole logic flow and break the program because you made an indentation mistake and are not familiar enough with the code to easily catch it. I feel, at least for me, that no block delimiters would likely end up being a nightmare. The popularity of python obviously demonstrates that many people do not agree with me. At least not yet :-). > > Do I think blocking by indentation is the greatest thing since sliced > bread? No. But I've been surprised to find that it has rarely, if ever, > been a problem for me the way, oh, buffer overflows, objects that appear > to the lame compiler like they might not be instantiated even though they > definitely always are, or not knowing Perl have been. I would also be surprised to find that that continued to be the case. I'm not sure I understand the problems with Perl you mention. I have written a fair amount of Perl code over the last several years and it has been very robust for me. Anyway, I guess we have steered off topic for a Z shell list (sorry about that everybody). After this, I will try not to promote further discussion on the matter. > > > I was very pleased to find that you can do direct array indexing of > > single dimensional arrays in zsh. ie. if x=abcd, then $x[2] = b. > > That very feature is most commonly the weakness of tradition shell > > script and even Perl that sometimes ends up causing me to write a > > routine as an external C program when I am writing a complex script. > > > [snip] > > This is about the only complaint I can think of I have ever really had > > with Perl. > > Funny, Python does this just fine :-) > >>> a="spam" > >>> a[3] > 'm' > >>> > > ===== > Cheers, > Bob Schmertz -- Vincent Stemen Avoid the VeriSign/Network Solutions domain registration trap! http://www.InetAddresses.net