Topic:
Programming

O'Reilly Network articles about this topic:

Why I Stopped Coding and Why I'd Start Again
(Python DevCenter)
What happens when programming stops being fun? What do you do when juggling dependencies and worrying about installation issues takes all of the joy out of writing code for other people? You can stop coding... or you can try to address the underlying problems. Brian McConnell postulates an enhancement of the Python language to make programming as fun as it was in the BASIC-in-ROM minicomputer days.

Understanding Newlines
(ONLamp.com)
Munging text is familiar to agile language programmers. It's very straightforward, right? Text comes in, text changes, and text goes out. Yet in a multi-OS world with networks, internationalization, and character sets, is text really that simple? Xavier Noria delves into how computers handle text to explain the newline problem and how to work with it in agile languages.

Building Recursive Descent Parsers with Python
(Python DevCenter)
Someday your program will have to parse text. If you're lucky, a few regular expressions will handle it. Otherwise, you need to write a parser. Don't be afraid of that dragon book from college--writing a parser in Python is easy with Pyparsing. Paul McGuire explains everything you need to know.

Testing Web Apps Effectively with twill
(Python DevCenter)
There's a real drive toward testing these days. If you develop any sort of application seriously, you've likely heard recommendations to write comprehensive automated tests. Is that really useful? Michele Simionato explores the arguments for and against automated testing, and shows how to automate web app testing using Python and the twill utility.

Interactive Debugging in Python
(Python DevCenter)
Debugging with print statements is alive and well. It's not the only way to do it, though. Python has a powerful interactive debugger that can let you get to the heart of your problem faster and more easily--if you know how to use it. Jeremy Jones shows off the features you absolutely must know.

Art and Computer Programming
(ONLamp.com)
One of the great theoretical debates in computer programming is "Is programming art?" There are creative components certainly, and aesthetic aspects occasionally, but do programming's functional concerns push it more toward craft or engineering? John Littler recently cornered several well-known hackers for their opinions on the subject.

Python Standard Logging
(Python DevCenter)
Tracking down what your application does seems easy; just add a few print statements here and there. Unfortunately, effectively tracing a program is more difficult. That's where Python's standard logging module comes in. Jeremy Jones demonstrates how to make it work for you.

Python on Your (S60) Phone
(Python DevCenter)
Nokia recently released a Python distribution that runs on Series 60 phones. Sure it's cool, but is it useful? John Littler walks through the available packages and the installation process, as well as some example Python code.

More Test-Driven Development in Python
(Python DevCenter)
The goal of test-driven development is not to produce tests; they're merely a helpful by-product. The real goal is to produce elegant, working code. Jason Diamond demonstrates how test-driven development can improve the design of code.

Enhanced Interactive Python with IPython
(Python DevCenter)
An interactive programming environment can be a
powerful tool to assist in writing programs. Python has one as part of its standard distribution. Yet IPython, "an enhanced Interactive Python shell," is a far superior replacement. Jeremy Jones demonstrates.

Test-Driven Development in Python
(Python DevCenter)
The goal of test-driven development is not to produce tests; they're merely a helpful by-product. The real goal is to produce elegant, working code. Jason Diamond demonstrates how test-driven development works using Python and PyUnit to create a sample event-tracking utility.

Inside Mitch Kapor's World
(Python DevCenter)
Mitch Kapor has had a huge influence on the software world, being the founder of Lotus and a driving force behind 1-2-3. Now his Open Software Applications Foundation is working on Chandler, an open source PIM written in Python. Steve Holden interviewed Mitch after the recent PyCon about his life and career, the OSAF, Chandler, open source, and Python.

Understanding Network I/O, Part 2
(Python DevCenter)
Network programming is easy to start, but it can get complex very quickly. When is it appropriate to use synchronous IO and when do you need asynchronous? When do you need concurrency? George Belotsky explores these
questions in the context of network programming with Python.

Understanding Network I/O: From Spectator to Participant
(Python DevCenter)
By design, the Internet is a simple network; any endpoint can serve any client. Even better, it's easy to write a client or a server, if you understand a few things about network programming. George Belotsky demonstrates the essential concepts with Python.

Introducing mod_python
(Python DevCenter)
mod_python is an Apache module that gives Python programmers full access to the Apache API. If that's not enough, it can speed up your Python web programming substantially. Grisha Trubetskoy explains just what mod_python can do for you.

Guido van Rossum Speaks
(Python DevCenter)
Guido van Rossum, creator of Python, recently announced a move from PythonLabs to Elemental Security. Steve Holden caught up with Guido to talk about the move, the future of Python, and computer programming for everybody.

Advanced OOP: Declarative Programming and Mini-Languages
(Python DevCenter)
While much of the "popular" programming world describes problems in terms of how to solve them, declarative programming describes problems in terms of what's known about them. David Mertz explores existing declarative languages and gives examples of declarative programming in Python.

Advanced OOP: Multimethods
(Python DevCenter)
Most popular object oriented languages take their method dispatch styles from Smalltalk's message passing style, dispatching based on the invocant. Another approach is multiple dispatch or multimethods, which considers multiple invocants for dispatch. Why is this important? David Mertz explains how multimethods improve polymorphism and often provide a better alternative to inheritance.

A Primer on Python Metaclass Programming
(Python DevCenter)
Classes and objects are simple, right? Once you really get it, isn't that all there is? Well, no--there's a whole class of advanced object-oriented techniques to make your code simpler, stronger, and more elegant. This week, David Mertz explains metaclasses--the building blocks of classes. Though the examples are in Python, the ideas translate to many other languages.

SimPy: Simulating Systems in Python
(Python DevCenter)
Do you have a complex system with limited resources and random events? Maybe a simulation will help you uncover essential truths. Klaus Müller and Tony Vignaux introduce SimPy, a simulation package for Python.

Cooking with Python: Seven Tasty Recipes for Programmers
(Python DevCenter)
Some of the Python Cookbook authors got together to offer a sampling of their Python recipes straight out of the book. From the unexpected exception to the fun programming tip, there's something here for every Python programmer.

Getting Loopy with Python and Perl
(ONLamp.com)
How do Python's loop constructs stack up to Perl's? Aahz, one of the featured speakers at this July's Open Source Convention compares the two.

Cocoa for your Python?
(Python DevCenter)
Those tempting little iMacs look great, but does Python work with the new OS X application framework? Stephen Figgins reports on the state of Python and Cocoa.

Python Resources
(Python DevCenter)
Where do I go for the latest Python news? What books can help me become an adept programmer? Is there a conference in my future? These questions and more are answered on our Python Resource page.

Other documents about this topic:

Below are other references available on the web for this topic. Since other sites may change their links, please
if you find any that may need to be updated.

Python Programming for Beginners
Jacek Artymiak's article for the Linux Journal presents 17 python scripts for Linux users and administrators interested in what Python can do.