Re: semi-ot: learning python
Greg Fischer <email@example.com> writes:
> I'd like to learn python. I know a bit of C++ as a result of taking a
> course. Once I get started programming, I generally enjoy it, but when
> I don't have any definite problem to solve, I have problems motivating
> myself. So...
> What should I do? Everything in free software-land seems too
> complicated to just jump right into. What kinds of things did you
> people write when you were learning python (or any language for that
> matter)? I've used open source software for a few years and always
> wanted to give something back...Unless I have a finite objective, I
> usually end up saying "screw this, time for some Urban
> Terror"(http://www.urbanterror.net). Any input is appreciated.
For me, in order to learn python, I wrote a cd ripper/mp3 encoder/mp3
player front end for a couple of programs like cdparanoia, cdda2wav,
gogo, lame, and mpg123. (I would've done OGG, but I have a hardware mp3
player that I use from time to time, so I stuck with that format) It
gave me a good bit of working to do to learn the basics as well as OOP
later on after I really figured out what I wanted it to do.
Also, for shell scripting (with bash, which was my first programming
experience) I wrote a backup program that automatically backed up to and
restored from CDRWs. That was a good little project to get me started
on programming. I also used the experience to write it up later in
a python/bash combo.
Now I'm wanting to learn lisp, so I'm trying to come up with a project
for that. Maybe I'll rewrite the encoder/player front end in that, or
maybe I'll use the backup program again. Then again, it may be
something completely different. Whatever makes it fun, I suppose...
So, basically I just thought of something I wanted (in the case of the
combo ripper/encoder/player for the console) or needed (in the case of
backing up to CDRW) and decided to sit down and start writing it. For
me it helped to just start with a basic idea of running one time only,
and then going and making it reusable for different tasks or
I hope this was somewhat helpful. Good luck in your learning. Also,
the comp.lang.python newsgroup (or the equivalent mailing list if you
prefer the mail. It's available on the python website) is a helpful
place for any questions or guru guidance. =0)