Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #45558 > unrolled thread

What was the project that made you feel skilled in Python?

Started byNed Batchelder <ned@nedbatchelder.com>
First post2013-05-19 07:30 -0400
Last post2013-05-20 15:16 +0000
Articles 3 — 3 participants

Back to article view | Back to comp.lang.python


Contents

  What was the project that made you feel skilled in Python? Ned Batchelder <ned@nedbatchelder.com> - 2013-05-19 07:30 -0400
    Re: What was the project that made you feel skilled in Python? Roy Smith <roy@panix.com> - 2013-05-19 10:05 -0400
    Re: What was the project that made you feel skilled in Python? Neil Cerutti <neilc@norwich.edu> - 2013-05-20 15:16 +0000

#45558 — What was the project that made you feel skilled in Python?

FromNed Batchelder <ned@nedbatchelder.com>
Date2013-05-19 07:30 -0400
SubjectWhat was the project that made you feel skilled in Python?
Message-ID<mailman.1844.1368963057.3114.python-list@python.org>
Hi all, I'm trying to come up with more project ideas for intermediate 
learners, somewhat along the lines of 
http://bit.ly/intermediate-python-projects .

So here's a question for people who remember coming up from beginner: as 
you moved from exercises like those in Learn Python the Hard Way, up to 
your own self-guided work on small projects, what project were you 
working on that made you feel independent and skilled?  What program 
first felt like your own work rather than an exercise the teacher had 
assigned?

I don't want anything too large, but big enough that there's room for 
design, and multiple approaches, etc.

Thanks in advance!

--Ned.

[toc] | [next] | [standalone]


#45561

FromRoy Smith <roy@panix.com>
Date2013-05-19 10:05 -0400
Message-ID<roy-5EFF91.10052819052013@news.panix.com>
In reply to#45558
In article <mailman.1844.1368963057.3114.python-list@python.org>,
 Ned Batchelder <ned@nedbatchelder.com> wrote:

> So here's a question for people who remember coming up from beginner: as 
> you moved from exercises like those in Learn Python the Hard Way, up to 
> your own self-guided work on small projects, what project were you 
> working on that made you feel independent and skilled?  What program 
> first felt like your own work rather than an exercise the teacher had 
> assigned?

IIRC, my first production python projects were a bunch of file parsers.  
We had a bunch of text file formats that we worked with often.  I wrote 
some state-machine based parsers which slurped them up and gave back the 
contents in some useful data structure.

Many of the files were big, so I added an option to write out a pickled 
version of the data.  The parsing code could then check to see if there 
was a pickle file that was newer than the text version and read that 
instead.  Big win for speed.

Then, of course, a bunch of utilities which used this data to do useful 
things.  I remember one of the utilities that turned out to be really 
popular was a smart data file differ.  You feed it two files and it 
would tell you how they differed (in a way that was more useful than a 
plain text-based diff).

[toc] | [prev] | [next] | [standalone]


#45621

FromNeil Cerutti <neilc@norwich.edu>
Date2013-05-20 15:16 +0000
Message-ID<avut37F9rshU1@mid.individual.net>
In reply to#45558
On 2013-05-19, Ned Batchelder <ned@nedbatchelder.com> wrote:
> Hi all, I'm trying to come up with more project ideas for
> intermediate learners, somewhat along the lines of 
> http://bit.ly/intermediate-python-projects .
>
> So here's a question for people who remember coming up from
> beginner: as you moved from exercises like those in Learn
> Python the Hard Way, up to your own self-guided work on small
> projects, what project were you working on that made you feel
> independent and skilled?  What program first felt like your own
> work rather than an exercise the teacher had assigned?
>
> I don't want anything too large, but big enough that there's
> room for design, and multiple approaches, etc.

I wrote a library supporting fixed length field tabular data
files. It supports reading specifications for such data files
using configparser for maximum verbosity, plus a few other
shorthand specification formats for brevity. Due to the nature of
my work I need this library in virtually all my other projects,
so I consider it a personal success and found it interesting to
build.

Similar packages on PYPI made many different design decisions
from the ones I did, so it seems like fruitful design discussion
points could arise.

For example, two major design goals in the beginning where: 1.
Ape the interface of the csv module as much as possible. 2.
Support type declarations.

The former was a big success. I've had instances were switching
from csv to a fixed file required changing one line, and of
course if a person were learning the library their knowledge of
reader, writer, DictReader and DictWriter would help.

The latter design goal was a failure. Most published fixed-length
data file specifications include data types, so it seemed
natural. But after trying to write programs using an early
version I ended up removing all traces of that functionality.

One advantage of this idea as a project for an intermediate
programmer is that the implementation is not complicated; most of
the fun is in the design.

-- 
Neil Cerutti

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web