Appendix A. IronPython Differences with CPython

WHAT'S IN THIS APPENDIX?

  • Considering standard types, functions, and behaviors

  • Defining which CPython libraries are missing

  • Defining which extension modules are changed or missing

  • Working with custom CPython extensions

  • Using the interpreter and environment

  • Using garbage collection

IronPython has a lot of functionality, but throughout the book you've probably noticed that it isn't precisely like CPython. In fact, there are more than a few differences between IronPython and CPython. Some of these differences occur because of the way IronPython is written. (IronPython is a managed application, CPython is written in C.) However, some of the differences result from Microsoft's interpretation of the specification or its decision not to follow the specification in order to make IronPython interact with the other .NET languages with greater ease. Whatever the differences, you need to know about them in order to avoid potential problems when working through your applications.

IMPLEMENTING STANDARD TYPES, FUNCTIONS, AND BEHAVIORS

Whenever you have two different teams working on a software product, some differences will occur in implementation and behavior. The IronPython team is currently working on these differences, but you can probably expect some of them to remain long-term. For example, you might see different error messages when working in IronPython than when you work with CPython. The error number is the same, but the message is different. Other ...

Get Professional IronPython™ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.