30.01.2014 Views

Learning Python, 5th Edition - cdn.oreilly.com

Learning Python, 5th Edition - cdn.oreilly.com

Learning Python, 5th Edition - cdn.oreilly.com

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

programming—a set that by most measures includes generators, <strong>com</strong>prehensions, closures,<br />

maps, decorators, anonymous function lambdas, and first-class function objects.<br />

These can serve as both <strong>com</strong>plement and alternative to its OOP tools.<br />

It’s Free<br />

<strong>Python</strong> is <strong>com</strong>pletely free to use and distribute. As with other open source software,<br />

such as Tcl, Perl, Linux, and Apache, you can fetch the entire <strong>Python</strong> system’s source<br />

code for free on the Internet. There are no restrictions on copying it, embedding it in<br />

your systems, or shipping it with your products. In fact, you can even sell <strong>Python</strong>’s<br />

source code, if you are so inclined.<br />

But don’t get the wrong idea: “free” doesn’t mean “unsupported.” On the contrary,<br />

the <strong>Python</strong> online <strong>com</strong>munity responds to user queries with a speed that most <strong>com</strong>mercial<br />

software help desks would do well to try to emulate. Moreover, because <strong>Python</strong><br />

<strong>com</strong>es with <strong>com</strong>plete source code, it empowers developers, leading to the creation of<br />

a large team of implementation experts. Although studying or changing a programming<br />

language’s implementation isn’t everyone’s idea of fun, it’s <strong>com</strong>forting to know that<br />

you can do so if you need to. You’re not dependent on the whims of a <strong>com</strong>mercial<br />

vendor, because the ultimate documentation—source code—is at your disposal as a<br />

last resort.<br />

As mentioned earlier, <strong>Python</strong> development is performed by a <strong>com</strong>munity that largely<br />

coordinates its efforts over the Internet. It consists of <strong>Python</strong>’s original creator—Guido<br />

van Rossum, the officially anointed Benevolent Dictator for Life (BDFL) of <strong>Python</strong>—<br />

plus a supporting cast of thousands. Language changes must follow a formal enhancement<br />

procedure and be scrutinized by both other developers and the BDFL. This tends<br />

to make <strong>Python</strong> more conservative with changes than some other languages and systems.<br />

While the <strong>Python</strong> 3.X/2.X split broke with this tradition soundly and deliberately,<br />

it still holds generally true within each <strong>Python</strong> line.<br />

It’s Portable<br />

The standard implementation of <strong>Python</strong> is written in portable ANSI C, and it <strong>com</strong>piles<br />

and runs on virtually every major platform currently in use. For example, <strong>Python</strong> programs<br />

run today on everything from PDAs to super<strong>com</strong>puters. As a partial list, <strong>Python</strong><br />

is available on:<br />

• Linux and Unix systems<br />

• Microsoft Windows (all modern flavors)<br />

• Mac OS (both OS X and Classic)<br />

• BeOS, OS/2, VMS, and QNX<br />

• Real-time systems such as VxWorks<br />

• Cray super<strong>com</strong>puters and IBM mainframes<br />

What Are <strong>Python</strong>’s Technical Strengths? | 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!