12.07.2015 Views

Is Python a

Is Python a

Is Python a

SHOW MORE
SHOW LESS
  • No tags were found...

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

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

Gaming, Images, AI, XML, Robots, and More<strong>Python</strong> is commonly applied in more domains than can be mentioned here. Forexample, you can do graphics and game programming in <strong>Python</strong> with the pygamesystem; image processing with the PIL package and others; robot control programmingwith the PyRo toolkit; XML parsing with the xml library package, the xmlrpclibmodule, and third-party extensions; AI programming with neural network simulatorsand expert system shells; and natural language analysis with the NLTK package.You can even play solitaire with the PySol program. You’ll find support for manysuch fields at the Vaults of Parnassus, and the newer PyPI web sites (search Googleor http://www.python.org for links).In general, many of these specific domains are largely just instances of <strong>Python</strong>’s componentintegration role in action again. Adding <strong>Python</strong> as a frontend to libraries ofcomponents written in a compiled language such as C makes <strong>Python</strong> useful forscripting in a wide variety of domains. As a general-purpose language that supportsintegration, <strong>Python</strong> is widely applicable.What Are <strong>Python</strong>’s Technical Strengths?Naturally, this is a developer’s question. If you don’t already have a programmingbackground, the language in the next few sections may be a bit baffling—don’tworry, we’ll explore all of these terms in more detail as we proceed through thisbook. For developers, though, here is a quick introduction to some of <strong>Python</strong>’s toptechnical features.It’s Object Oriented<strong>Python</strong> is an object-oriented language, from the ground up. Its class model supportsadvanced notions such as polymorphism, operator overloading, and multiple inheritance;yet, in the context of <strong>Python</strong>’s simple syntax and typing, OOP is remarkablyeasy to apply. In fact, if you don’t understand these terms, you’ll find they are mucheasier to learn with <strong>Python</strong> than with just about any other OOP language available.Besides serving as a powerful code structuring and reuse device, <strong>Python</strong>’s OOPnature makes it ideal as a scripting tool for object-oriented systems languages such asC++ and Java. For example, with the appropriate glue code, <strong>Python</strong> programs cansubclass (specialize) classes implemented in C++, Java, and C#.Of equal significance, OOP is an option in <strong>Python</strong>; you can go far without having tobecome an object guru all at once. Much like C++, <strong>Python</strong> supports both proceduraland object-oriented programming modes. Its object-oriented tools can beapplied if and when constraints allow. This is especially useful in tactical developmentmodes, which preclude design phases.12 | Chapter 1: A <strong>Python</strong> Q&A Session

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

Saved successfully!

Ooh no, something went wrong!