Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #45558 > unrolled thread
| Started by | Ned Batchelder <ned@nedbatchelder.com> |
|---|---|
| First post | 2013-05-19 07:30 -0400 |
| Last post | 2013-05-20 15:16 +0000 |
| Articles | 3 — 3 participants |
Back to article view | Back to comp.lang.python
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
| From | Ned Batchelder <ned@nedbatchelder.com> |
|---|---|
| Date | 2013-05-19 07:30 -0400 |
| Subject | What 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]
| From | Roy Smith <roy@panix.com> |
|---|---|
| Date | 2013-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]
| From | Neil Cerutti <neilc@norwich.edu> |
|---|---|
| Date | 2013-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