Re: [Tutor] failing to learn python

2006-04-13 Thread Carroll, Barry
Alan:

As always, you make excellent points.  Actually, there isn't much on
which we disagree here, I think.  I did not mean that other engineering
disciplines necessarily employ less craftsmanship than does software.
On the contrary, excellent craftsmanship can be found in all branches of
engineering.  

One example will suffice: automotive engineering.  Manufacturer _
[insert your favorite here] produces vehicles which are among the most
finely crafted objects in the world.  On the other hand, __ [again,
take your pick) makes cars that exhibit horrible craftsmanship.  Both
are the products of automotive engineering, but the differences in
reliability, safety, performance and economy, not to mention beauty,
individuality and 'fine-ness' (a great term, IMHO), are obvious.

I could cite examples from any other discipline, though I might have to
spend some time in research; I'm a programmer, not an engineering
historian.  =8^)  

Anyway, my point was that no programming language is best in all cases
or for all people.  The preference of the engineer (craftsman, if you
will) matters.  

Best Regards,
 
Barry
[EMAIL PROTECTED]
541-302-1107

We who cut mere stones must always be envisioning cathedrals.

-Quarry worker's creed


> -Original Message-
> From: Alan Gauld [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 13, 2006 2:46 PM
> To: Carroll, Barry; tutor@python.org
> Subject: Re: [Tutor] failing to learn python
> 
> > has been very interesting.  It illustrates the fact that software
> > engineering remains very much a craft. As with all crafts, is
heavily
> > influenced by the preferences (style if you will) of the individual
> > artisan.  There are very few 'right or wrong' answers here.
> 
> Oops, you hit a hot button there. :-)
> 
> 
> I don't think the multitude of styles or tools is any different to any
> other engineering discipline and certainly doesn't indicate any more
> craft status than the fact that different electrical engineers have
> different
> preferences of AVO meter type (analogue, digital, electronic, magnetic
> etc - and most use several). Choosing the right tool for the job is
just
> as much part of the skill of the engineer as much as the artisan.
> 
> Where there may be a difference is that the engineer may specify the
> tools (and definitely the materials) during the design process, the
> artisan may choose the tools and materials in an ad-hoc manner
> as the work progresses. The engineer's goals are consistency and
> economy whereas the artisans goals are "quality(*)" and individuality.
> 
> (*)Engineers strive for quality too, but a pre-determined measure
> of quality not the abstract concept of 'fine-ness' that craftsmen
> generally
> aim for.
> 
> Software engineering, when practiced as engineering, is very little
> different to other branches of engineering, unfortunately it is, for
> various reasons, not often practiced as an engineering discipline
> but as a craft. But the SE label is applied regardless! As in other
> engineering disciplines it will take a large disaster with huge loss
> of human life(*) due to badly designed software to force the industry
> to adopt the kind of rigour demanded in other fields. It is entirely
> possible now, it's just not practiced!
> 
> (*)And even then only when that loss of life is accompanied by
> correspondingly large insurance claims - or is that too cynical?
> We'll find out fairly soon I'm sure...
> 
> 
> 
> Alan G.
> 


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-13 Thread Alan Gauld
> has been very interesting.  It illustrates the fact that software
> engineering remains very much a craft. As with all crafts, is heavily
> influenced by the preferences (style if you will) of the individual
> artisan.  There are very few 'right or wrong' answers here.

Oops, you hit a hot button there. :-)


I don't think the multitude of styles or tools is any different to any
other engineering discipline and cerainly doesn't indicate any more
craft status than the fact that different electrical engineers have 
different
preferences of AVO meter type (analogue, digital, electronic, magnetic
etc - and most use several). Chosing the right tool for the job is just
as much part of the skill of the engineer as much as the artisan.

Where there may be a difference is that the engineer may specify the
tools (and definitely the materials) during the design process, the
artisan may choose the tools and materials in an ad-hoc manner
as the work progresses. The engineer's goals are consistency and
economy whereas the artisans goals are "quality(*)" and individuality.

(*)Engineers strive for quality too, but a pre-determined measure
of quality not the abstract concept of 'fine-ness' that craftsmen generally
aim for.

Software engineering, when practiced as engineering, is very little
different to other branches of engineering, unfortunately it is, for
various reasons, not often practiced as an enginering disipline
but as a craft. But the SE label is applied regardless! As in other
engineering disciplines it will take a large disaster wiith huge loss
of human life(*) due to badly designed software to force the industry
to adopt the kind of rigour demanded oin other fields. It is entirely
possible now, it's just not practiced!

(*)And even then only when that loss of life is accompanied by
correspondingly large insurance claims - or is that too cynical?
We'll find out fairly soon I'm sure...



Alan G. 

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-13 Thread Hoffmann
--- "Carroll, Barry" <[EMAIL PROTECTED]> wrote:

> Greetings:
> 
> The discussion surrounding this topic (by Payal,
> Kent, Alan and others)
> has been very interesting.  It illustrates the fact
> that software
> engineering remains very much a craft. As with all
> crafts, is heavily
> influenced by the preferences (style if you will) of
> the individual
> artisan.  There are very few 'right or wrong'
> answers here.  
> 
> The tool that works well and feels comfortable when
> used is the one that
> should be used.  When a new tool comes along, try it
> out.  If it makes
> the work easier or faster, or the product better,
> then use it.  If not,
> forget it.  The product is the goal, not the tool.  
> 
> Regards,
>  
> Barry
> [EMAIL PROTECTED]
> 541-302-1107
> 
> We who cut mere stones must always be envisioning
> cathedrals.
> 
> -Quarry worker's creed
> 
> 
> > -Original Message-
> 
> <>
> 
> > > For me, I don't know those specialized tools and
> I have chosen not
> to
> > > learn them because I don't often need their
> capabilities and Python
> can
> > do
> > > what they do.
> > 
> > I must admit I use a myriad of tools, including
> several text editors.
> > Its one of the few areas where I disagree with
> Hunt & Thomas
> > in "the Pragmatic Programmer", they advocate
> choosing one editor
> > and using it exclusively, I use emacs, vim, xedit
> and even ed on
> > a daily basis (OK ed only once a month or so!) But
> I also use
> > awk and sed weekly.
> 
> <>
> 
> >
> 
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
> 

Hi Barry,

I do agree with you. I also would  add the
Linux/Windows 'dispute'.
I am a BIG FAN of linux. Even at home I use linux 90%
of the time. However, in some cases I use Windows, as
well (to watch DVDs (movies), for example). Due to the
stability of Windows in this (multimidia) case, I do
prefer using it for watching movies.
So. There is no reason to use just one programming
language. I am a BIG FAN of Python, but I am studying
Python, Shell programming, and MATLAB in paralell.
Moreover, I am very interested in both Fortran and C.

Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-13 Thread Carroll, Barry
Greetings:

The discussion surrounding this topic (by Payal, Kent, Alan and others)
has been very interesting.  It illustrates the fact that software
engineering remains very much a craft. As with all crafts, is heavily
influenced by the preferences (style if you will) of the individual
artisan.  There are very few 'right or wrong' answers here.  

The tool that works well and feels comfortable when used is the one that
should be used.  When a new tool comes along, try it out.  If it makes
the work easier or faster, or the product better, then use it.  If not,
forget it.  The product is the goal, not the tool.  

Regards,
 
Barry
[EMAIL PROTECTED]
541-302-1107

We who cut mere stones must always be envisioning cathedrals.

-Quarry worker's creed


> -Original Message-

<>

> > For me, I don't know those specialized tools and I have chosen not
to
> > learn them because I don't often need their capabilities and Python
can
> do
> > what they do.
> 
> I must admit I use a myriad of tools, including several text editors.
> Its one of the few areas where I disagree with Hunt & Thomas
> in "the Pragmatic Programmer", they advocate choosing one editor
> and using it exclusively, I use emacs, vim, xedit and even ed on
> a daily basis (OK ed only once a month or so!) But I also use
> awk and sed weekly.

<>

>

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-12 Thread Alan Gauld
> the best tools. If you know shell, egrep and awk, they are probably better 
> than Python at doing the things they do.
>
> For me, I don't know those specialized tools and I have chosen not to 
> learn them because I don't often need their capabilities and Python can do 
> what they do.

I must admit I use a myriad of tools, including several text editors.
Its one of the few areas where I disagree with Hunt & Thomas
in "the Pragmatic Programmer", they advocate choosing one editor
and using it exclusively, I use emacs, vim, xedit and even ed on
a daily basis (OK ed only once a month or so!) But I also use
awk and sed weekly.

I've also don't think I've ever worked on a production project
that used less than 5 languages and some have used 12 or more.

Awk in particular is one that I think every programmer should know,
at least at a basic level, in the same way as everyone should learn a
little Tcl and a little Lisp(*). These languages are sufficiently different
to mainstream in structure that we can learn a lot about how to
create programs by looking at their approach. It's fair to say that we
probably wouldn't have ElementTree, BeautifulSoup, SAX or any
other event driven parsers today if it weren't for awk and its elegant
approach to working with text files.

(*)For those building business apps I'd add COBOL to the list. It's
not just history that makes it still the most widely used language on the
planet according to Infoweek.

Alan G
Author of the learn to program web tutor
http://www.freenetpages.co.uk/hp/alan.gauld


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-12 Thread Alan Gauld
> can I use Python. Everyone says it is a "general programming language", 
> but what in the world is a "general programming language"?

Others have already answered this. I'll add a few other comments.
A general purpose language is one that in theory means you don't 
need any others. It can do anything. It may not do everything as 
well as special purppose tools like sed but it can do anything.

Where sys admins typically use tools like Python is in producing 
well formatted reports, particularly nowadays on web pages. 
Or maybe you have to do a lot of SQL admin on a database 
and python's database links will allow you to write a single script 
which is easier to maintain than lots of separate ones.

Where python is likely to be more useful to you is where you 
have long shell scripts rather than long awk/sed scripts. Shell 
scripts are fine as application launchers but if you need  to process 
the output of commands and have long multi way if/else chains 
the Python may offer better facilities.

But if you are working exclusively on Unix and you know the 
400+ Unix commands well you may very well have little use 
for Python. I certainly don;t use it for much sys admin stuff, 
I tend to use it to write GUI front ends for the tools, or for 
writing networking applications or testing new protocols.

One example where a tool like Python may be of use to 
you would be in building an interactive diff tool. The standard 
diff tools in Unix only allow comparison of 3 files, but if you 
have 6 or 8 versions you need to compare then using python 
you can build your own diff tool to compare 8 files if needed.
And with the low cost of disk space file management of 
concurrent versions is becoming an issue for many admins...

> The Python video said that one can take this language to good level in 1 
> afternoon, for me it has been 2 months and more. What is wrong?

Probably nothing. That claim refers to someone who is already 
fluent in another general purpose language like C or Java. Such a
programmer can indeed get to the point where they can write 
a reasonable program in Python after a few hours with the 
official tutorial. A beginner will take more like 4-6 months to 
get really comfortable. You probably fit somewhere in the middle
depending on your awk or shell skill level.

If your awk action clauses run to 10s of lines then you probably 
do know enough to learn Python quickly but if you typically only 
write 3 or 4 lines in an action clause then Python will be more 
challenging.

HTH,

Alan G
Author of the learn to program web tutor
http://www.freenetpages.co.uk/hp/alan.gauld


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-12 Thread Danny Yoo


On Wed, 12 Apr 2006, Payal Rathod wrote:

> can I use Python. Everyone says it is a "general programming language", 
> but what in the world is a "general programming language"?

One idea behind a "general purpose programming language" is that it's not 
specialized toward anything in particular.  It's meant to be malliable and 
a bit formless.  A programmer makes what one can with it.


> e.g. for parsing log files with regex I rather use egrep than Python. 
> For counting the number of mails received for a user I use awk

And for text parsing and processing, I think that's perfectly right, and 
you're using the best tools for that application.  (Actually, you might 
want to look into Perl, which integrates regexes very deeply into its 
language.)  You're more effective with those tools because awk and sed are 
domain-specific: they are specifically designed to do text processing very 
well.


You can think of Python as a tool-maker.  If you already are working in 
solely in one domain, where there are already plenty of tools already 
written for you, then you may not get so much out of a general-purpose 
language.  This point is made in an amusing way in Literate Programming:

 http://www-cs-faculty.stanford.edu/~uno/lp.html

The story goes that Knuth, when given the common-words problem, wrote up 
beautiful algorithm, designed a cool data structure to support it, and 
wrote it all in literate programming style.

Bentley, on the other hand, used awk and other shell utilities, and in a 
few minutes, got a more correct solution.  *grin*



> But what does Python excel at. That si my main question. Whatevfer I 
> think of I can already do or know a way to do in shell. I am not getting 
> where would I need Python.

But _someone_ had to write awk and sed: they didn't come fully-formed from 
the head of Zeus.

That's what a general-purpose language like Python is for.  You wouldn't 
write a web application in sed or awk because those two languages have 
limitations on what they're allowed to touch.


> The Python video said that one can take this language to good level in 1 
> afternoon, for me it has been 2 months and more. What is wrong?

No, you're not wrong.  Anyone who says that programming can be learned in 
an afternoon is selling something.  *grin*
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-12 Thread Kent Johnson
Payal Rathod wrote:
> On Tue, Apr 11, 2006 at 07:35:15PM +0100, Alan Gauld wrote:
>> Python is a general programmjing language great for bigger jobs.  If 
> 
> But what does Python excel at. That si my main question. Whatevfer I 
> think of I can already do or know a way to do in shell. I am not getting 
> where would I need Python.
> e.g. for parsing log files with regex I rather use egrep than Python.  
> For counting the number of mails received for a user I use awk, where 

It's possible that for the jobs you need to do, you are already using 
the best tools. If you know shell, egrep and awk, they are probably 
better than Python at doing the things they do.

For me, I don't know those specialized tools and I have chosen not to 
learn them because I don't often need their capabilities and Python can 
do what they do. Maybe not as easily to one fluent in both, but I would 
rather learn one tool that is widely useful than several narrow ones 
that I would use rarely.

> can I use Python. Everyone says it is a "general programming language", 
> but what in the world is a "general programming language"?

A programming language that can be used for a wide variety of tasks, 
rather than being specialized to a particular domain. Some things that 
Python can be used for that might be hard with the tools you know:
mailing list manager (Mailman)
spam filter (SpamBayes)
distributed file sharing (BitTorrent)
dynamic web site (Django, TurboGears, etc, etc)
web scraping (urllib, BeautifulSoup)
XML processing (ElementTree, etc)
GUIs (Tkinter, wxPython, etc)

Also take a look at some of the case studies here:
http://www.python.org/about/success/

or search sourceforge.net for Python projects.

Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-12 Thread Payal Rathod
On Tue, Apr 11, 2006 at 07:35:15PM +0100, Alan Gauld wrote:
> Python is a general programmjing language great for bigger jobs.  If 

But what does Python excel at. That si my main question. Whatevfer I 
think of I can already do or know a way to do in shell. I am not getting 
where would I need Python.
e.g. for parsing log files with regex I rather use egrep than Python.  
For counting the number of mails received for a user I use awk, where 
can I use Python. Everyone says it is a "general programming language", 
but what in the world is a "general programming language"?
The Python video said that one can take this language to good level in 1 
afternoon, for me it has been 2 months and more. What is wrong?

With warm regards,
-Payal
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-11 Thread Alan Gauld

> On Mon, Apr 10, 2006 at 04:20:37PM -0700, Danny Yoo wrote:
>> http://gnosis.cx/TPiP/
> 
> I will read that and Alan's tutorial too (isn't that MS-Windows specific 
> ???)

Nope, it usually mentions *nix workarounds etc
Most of it is OS neutral. The OS and IPC topic are mainly 
Unix centric.

> without proving it at all. All the examples I wanted were done better in 
> shell/sed/awk.  

I use Python a lot but I still use sed and awk for what they are good at.
Using the Right Tool for the Job is still a sound maxim.

Python is a general programmjing language great for bigger jobs. 
If you just want to run a sequience of unix commands shell is better. 
If you want simple but bulk text manipulation awk or sed are best.

Alan G.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-11 Thread Python
On Tue, 2006-04-11 at 12:06 -0400, Payal Rathod wrote:
> The reason I am disgrunted with Python is because lack of good 
> documentation.

http://www.python.org/doc/
The Python Docs - possibly you missed this because of the plethora of
links.  The Library Reference used to have the tag line:
(keep this under your pillow)

The Module Index is the other key starting point.


http://rgruet.free.fr/PQR24/PQR2.4.html
A very handy quick reference.


I think Python has incredibly good documentation.  Fred Drake and the
other folks who write, edit and maintain the documentation do a
wonderful job of keeping it fresh and current as the language changes.
There are very few rough spots within the thousands of pages of text.

It's been a while since I looked at the Tutorial.  Is that where you
felt let down?

I felt compelled to respond to your post.  I think the quality and
quantity of Python documentation is hard to beat.

-- 
Lloyd Kvam
Venix Corp

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-11 Thread Payal Rathod
On Mon, Apr 10, 2006 at 04:20:37PM -0700, Danny Yoo wrote:
> http://gnosis.cx/TPiP/

I will read that and Alan's tutorial too (isn't that MS-Windows specific 
???)

The reason I am disgrunted with Python is because lack of good 
documentation. Shell programming has great text and so do sed and awk 
but Python texts are rather boring and just hooting that Python is cool 
without proving it at all. All the examples I wanted were done better in 
shell/sed/awk.  But anyways thanks for the support I will dive into it 
again with fresh vigour. I will get back with any stupid queries I have.

With warm regards,
-Payal
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-11 Thread Ed Singleton
On 10/04/06, Payal Rathod <[EMAIL PROTECTED]> wrote:
> Hi,
> I am trying to learn Python seriously for almost 2 months but have not
> gotten far at all. Infact, it seems I have not understood even the basic
> concepts itself. I know some shell, sed and awk programming.
> I have tried reading Learning Python - Mark Lutz
> Think C Spy
> A byte of Python
> Non-Programmers Tutorial For Python
> etc.
> But I have not got anything from them. I am feeling that they are
> superficial and do not touch real life problems. Also, not enough
> examples are provided which can help newbies like me.
>
> Can anyone help me, it is pretty pretty frustating thing for last couple
> of months?
>
> With warm regards,
> -Payal

You might find reading real code to be more useful than a tutorial:

Fredrik Lundh's Guide to the Standard Library contains thousands of examples:
http://effbot.org/zone/librarybook-index.htm

PLEAC contains loads of examples to show how to do things:
http://pleac.sourceforge.net/pleac_python/index.html

It all depends what kind of learner you are:
Learn by being taught (read the tutorials)
Learn by doing (think of a project, start trying to do it, then ask
here when you get stuck)
Learn by example (read lots of examples of other people's code to see
how they do it)

I'm very much the kind of person who likes to learn to swim by jumping
as far into the water as he can, then trying to get back to the side. 
It's amazing how well you can do something when you don't have any
choice. ;-)

Ed
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-11 Thread Alan Gauld
>> What kind of real life problems are you interested in? You might like
>
> I am a parttime sys admin so I want system admin problem which usually I
> do through shell scripts like parsing logs, generating reports, greping
> with regexes etc.

My tutor is specifdically targetted at computer power users invcluding
sys admins. It has examples of parsing files and creating reports (albeit
very simple ones since its for beginners) and using regex. It also has
side bars on topics like using WSH on Windows and other OS specific
topics.

There are also specific topics on using the OS and IPC comms etc being
written.

> The only thing I don't want is silly problems like generate fibonnacci
> series, add numbers frm 0-n etc. non required silly stuff.

None of the above are silly stuff, they are all needed in various real
world computing and scientific problems. However I do agree that
they are not what most beginners will be doing and I try to avoid
any math type exercises. (I do use factorials as an example of
recursion alongside another more practical example)

I don't think my tutor was in your list so you might like to give it a go...

Alan G
Author of the learn to program web tutor
http://www.freenetpages.co.uk/hp/alan.gauld



___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Greg Lindstrom
Paypal-

I do a lot of system admin type work with Python.  If you'd like,
drop me a line and let me know what you're interested in
learning...perhaps I could help you work through a project or two.

Greg Lindstrom
[EMAIL PROTECTED]

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Danny Yoo
> I am a parttime sys admin so I want system admin problem which usually I 
> do through shell scripts like parsing logs, generating reports, greping 
> with regexes etc.

Hi Payal,

You might also find David Mertz's book "Text Processing With Python" to be 
useful for you:

 http://gnosis.cx/TPiP/

I agree with the other recommendation on "Dive into Python": it provides a 
lot of good practical programming knowledge.

 http://diveintopython.org/



> The only thing I don't want is silly problems like generate fibonnacci 
> series, add numbers from 0-n etc. non required silly stuff.

Just as a counterpoint: some of those silly things aren't useful in their 
own right, but they're finger exercises to help one really get mastery 
over the language.  Recursion is one of those things that are core 
concepts, and most Python tutorials try to cover it by talking about 
factorials.

It's very unfortunate that fibonacci numbers are one of the "classical" 
examples of recursion, since they are useless to most people.  But don't 
discount recursion altogether.

We can look at concrete example of recursion that might be more 
applicable.  One common system administration question that pops up every 
once in a while is: "How do I do [some_action] to every file in my 
directory?"

We can either know magically that os.walk() will do the hard work for us, 
or we can use a combination of os.listdir() and os.path.isdir():

#
### pseudocode
def my_walk(some_action, dir_or_file):
 if os.path.isfile(dir_or_file):
 some_action(dir_or_file)
 else:
 for thing in os.listdir(dir_or_file):
 my_walk(some_action, thing)
#

in which there's a specific "base" case for handling regular files, and an 
"inductive" case for handling directories.

Another example of this kind of processing involves things like XML or 
HTML processing.  If we wanted to get all the anchor link elements in an 
HTML document, how would we do this?  We again break it into two cases: 
one to handle anchor elements, and another to handle anything else:

##
## Pseudocode
def get_anchors(element):
 if element is an anchor:
 return [element]
 else:
 anchors = []
 for child in element.children:
 anchors.extend(get_anchors(child))
 return anchors
##

We're in a slightly different domain, but if we look at this with a 
critical eye, we should see that the code structure is similar to the 
directory-walking example.  There's a case for handling really simple 
problems, and another case for handling slightly harder problems.


That's the key insight you should have been getting.  If the tutorials 
that you're reading haven't been delving into this, that means that those 
tutorials aren't doing a good job.  The fact that factorial() looks like:


def factorial(n):
 if n == 0:
 return 1
 else:
 return n * factorial(n-1)


is pretty darn worthless in itself.  But the idea that we can break things 
down into two categories (simple cases, slightly complex cases) and handle 
them in some structured way is a valuable concept.


If you see something that's looks trivially un-useful when you're reading 
a tutorial, bring it up on this list.  They're bound to be some kind of 
real application for it.  *grin* And if you have any other questions, feel 
free to ask.


Good luck!
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Kent Johnson
Payal Rathod wrote:
>> What kind of real life problems are you interested in? You might like 
> 
> I am a parttime sys admin so I want system admin problem which usually I 
> do through shell scripts like parsing logs, generating reports, greping 
> with regexes etc.
> The only thing I don't want is silly problems like generate fibonnacci 
> series, add numbers frm 0-n etc. non required silly stuff.

Take a look at the Python Cookbook:
http://aspn.activestate.com/ASPN/Cookbook/Python

Dive into Python is not targeted at beginners but it is available online 
and does have real-world examples:
http://diveintopython.org/

Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Bob Gailer
Payal Rathod wrote:
> On Mon, Apr 10, 2006 at 10:05:45AM -0400, Kent Johnson wrote:
>   
>> You might like to look at "Python Programming for the absolute 
>> beginner". It is oriented to beginners and has many examples and 
>> exercises.
>> 
>
> I might not be able to afford another book, due to high dollar-to-ruppee 
> rate.
>
>   
>> What kind of real life problems are you interested in? You might like 
>> 
>
> I am a parttime sys admin so I want system admin problem which usually I 
> do through shell scripts like parsing logs, generating reports, greping 
> with regexes etc.
> The only thing I don't want is silly problems like generate fibonnacci 
> series, add numbers frm 0-n etc. non required silly stuff.
When I hear the word "silly" I assume that you are comfortable with 
programming in Python, and do not need the examples that are useful to 
beginners, and want access to libraries of code for doing the tasks you 
described.

So I suggest you look at Python's remarkable set of modules. In the docs 
you'll find Global Module Index. Start with re for regular expressions, 
glob & shutil for some file management, os for more file and process 
management. Some of these have some example code. Select ONE task of 
interest to you, make your best stab at writing a Python program using 
the module, then come back with the program and tell us how we can help 
you with it.

If my assumption is inaccurate, and you do need help with the 
fundamentals of Python, then I suggest you tackle some of the 
assignments in the references you have *as a way of becoming comfortable 
with Python*, then tackle the modules I mentioned.

Someone else on this list may point you to online learning resources 
that will meet your need for more information at low-to-no cost.

HTH
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Payal Rathod
On Mon, Apr 10, 2006 at 10:05:45AM -0400, Kent Johnson wrote:
> You might like to look at "Python Programming for the absolute 
> beginner". It is oriented to beginners and has many examples and 
> exercises.

I might not be able to afford another book, due to high dollar-to-ruppee 
rate.

> What kind of real life problems are you interested in? You might like 

I am a parttime sys admin so I want system admin problem which usually I 
do through shell scripts like parsing logs, generating reports, greping 
with regexes etc.
The only thing I don't want is silly problems like generate fibonnacci 
series, add numbers frm 0-n etc. non required silly stuff.

With warm regards,
-Payal
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] failing to learn python

2006-04-10 Thread Kent Johnson
Payal Rathod wrote:
> Hi,
> I am trying to learn Python seriously for almost 2 months but have not 
> gotten far at all. Infact, it seems I have not understood even the basic 
> concepts itself. I know some shell, sed and awk programming.
> I have tried reading Learning Python - Mark Lutz
> Think C Spy
> A byte of Python 
> Non-Programmers Tutorial For Python
> etc.
> But I have not got anything from them. I am feeling that they are 
> superficial and do not touch real life problems. Also, not enough 
> examples are provided which can help newbies like me.

Hi Payal,

Beginner's material teaches the basics of the language. These are the 
building blocks you will use to solve your problems. You need to 
understand the basics like loops, functions, lists and dictionaries to 
solve most real-world problems.

When you have questions about basic concepts you can ask for help on 
this list.

You might like to look at "Python Programming for the absolute 
beginner". It is oriented to beginners and has many examples and exercises.
http://premierpressbooks.com/ptr_detail.cfm?group=Programming&subcat=Other%20Programming&isbn=1%2D59863%2D112%2D8

What kind of real life problems are you interested in? You might like 
"Beginning Python", it has several real-life projects.
http://apress.com/book/bookDisplay.html?bID=10013

When you have questions about basic concepts you can ask for help on 
this list. We do best with questions that are very specific.

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor