[LUAU] Re: Python (Was Re: Hosef)

Jim Thompson jim at netgate.com
Wed Nov 23 04:57:49 PST 2005


Clifton Royston wrote:

>On Tue, Nov 22, 2005 at 02:00:18PM -1000, Tim Newsham wrote:
>  
>
>  Something like this is what I was thinking, yeah.
>
>  I am packing tonight to head for LA tomorrow, for Thanksgiving with
>my wife's family, hence I will give it essentially no thought until I
>get back.  I'm sure many others are in a similar state of Thanksgiving
>prep, so I wasn't figuring anything much would get planned or scheduled
>until after this weekend.
>  
>
I'm here for the holidays, but I have a week in vegas coming up in early 
December (still trying to get that
Land Cruiser to the point where I can bring it over), so I may or may 
not be able to make the first of these.

> 
>  
>
>>Beyond that, what are people hoping to get out of this?  I'm sure
>>different people will have different answers.  If we do all meet up,
>>whats our agenda?  Are we going to talk advocacy?  Go over some
>>tutorial type stuff?  Swap code and talk about it?  Talk about particular
>>technologies that interact with python?
>>    
>>
> 
>  My attitude has always been "useful code wins", as I'm not big on the
>whole advocacy thing.  Hopefully we could also assume newbs like me
>will do a little self-study of the language basics, so we can at least
>skip the intro tutorials, but advanced tutorials would be cool.
>  
>
My attitude has become focused a lot on how small (perhaps single 
person) groups can produce new applications with minimum time and 
fuss.   Thus things like Ruby and Python are attractive to me.  (Note 
that Java was written to deal with large(r) groups of programmers.)  I'm 
also big on code safety.

I don't mind the occasional "Python for newbies", (s/Python/<language de 
jour>/) as long as they're announced as such.

>>Also further into things.. how much room do people want to allow for
>>other topics (rails, ruby, perl, lisp, etc...)
>>    
>>
> 
>  I'm willing to present on perl if anybody's interested, though I tend
>to think "everybody knows perl".
>  
>
Personally, I tend to think perl is a four letter word, but a lot of 
people find it useful for various things.   I suppose its fine for shell 
script replacement, but I start to grumble when its proposed for larger 
tasks.

I'll also present my "Perl Grand Challenge".

    Re-write 'sendmail' complete with being able to parse and use 
existing sendmail ".cf" (and .m4) files.

So far Larry Wall, Tom Christensen and Rob Kolstad have all made ugly 
faces and run away.

But I'm sure there are many on-island who would love a good Perl tutorial.

>>My input:  A saturday afternoon such as Dec. 3rd, around 1pm or so
>>for a few hours (2, maybe 3?) with an aim to teach and learn new stuff
>>by exchanging code and reworking it for demonstration purposes and
>>discussing it?  Geeky enough?
>>    
>>
>
>  A good goal, I think.  Where I think some meetings and swapping
>real-world code can help all of us is in getting beyond the tutorial
>stages of learning a language's basic syntactic features, and getting a
>short-cut into learning the useful idioms and native style of a
>language - picking up the
>
>	for ( ; *s++ = *t++ ; ) 
>		;
>  
>
Man, I hate to do this since I know you were just providing context, but 
thats just gross when you could do:

                    while (*s++ = *t++) {
                            /* empty body */
                      } ;.

and even this is so error-prone as to be suspect on sight.  Though your 
example and mine are equivalent in 'C', the "while" is clearer, as a 
"for" loop should probably be used when looping a variable from one 
value to another.  The 'while' version uses one more line, and its 
intent is clear to someone else reading the code.  I know you weren't 
concentrating on anything but expressing examples of idiom, but 
programming languages are really a means for programmers to communicate 
with each other.

In any case, both examples have the issues of the side-effects of the 
assignment (being used for the test here).  The author of either example 
also has to worry about the loop terminating (finding a null pointer).

For all but trivial copies like this memcpy() (aka bcopy()) is probably 
a better "solution", though of course it won't terminate on a null 
pointer like the above.

>or the
> 	@fields = split( /,\s*/ );
>  
>
and pray your CSV data doesn't include a comma, or do I misunderstand 
the regex here?

I really don't mean this as an attack.  (Seriously.)  But I (like you) 
have spent a number of years dealing with errors that "can't happen" and 
programmers who think that obfuscation and efficiency at the expense of 
readability is cool.

Personally, I think it would be cool if we could (via several meetings) 
recreate something like busmonster.com for Hawaii (or at least Oahu).  
Yeah, I know its mostly javascript, its just an example.  I guess my 
'goal' is both to learn and to help others learn how to create new 
applications (potentially web-based applications.)

Jim




More information about the LUAU mailing list