A Standard
Roy Smith
roy at panix.com
Sun May 25 20:38:45 EDT 2003
More information about the Python-list mailing list
Sun May 25 20:38:45 EDT 2003
- Previous message (by thread): A Standard
- Next message (by thread): A Standard
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Luis Cortes wrote: >> porting the STL library from C++ completely re-written in python. Sean 'Shaleh' Perry <shalehperry at attbi.com> wrote: > When you move to a new language it is important to learn how that language > works. That's an excellent point. I'm in the process of quasi-porting a library from TCL to C++/STL. We want to preserve the flavor of the API, but at the same time, end up with something that a C++ programmer can feel comfortable/familar with. To do that, there's a certain amount of "letting go" that's required. Exactly how much is a matter of some debate :-) It's kind of like translating poetry to another language. So much of poetry and literature is language-specific, what works in one language may not work in another. The translator needs to find a way to capture the essense of the verse without getting bogged down in technical details. Shakespeare wrote in iambic pentameter. Does that mean somebody translating Hamlet into German or Chinese or Arabic should force the result to be iambic pentameter as well, regardless of how well or poorly the host language supports it? STL is a very C++ specific thing. Python has iterators, but they're a somewhat different beast from STL's plethora of iterator types (specifically, the idea of begin/end iterator pairs makes no sense in Python's model). std::string is entirely superfluous given Python's built-in string type. Much of STL has to do with const correctness, which has no parallel in Python. The big thing, however, is that STL is an impressive effort to implement data-type independant programming in a language which is extremely sensitive to data types. Such a thing makes no sense in a dynamic typed language like Python; it's like trying to sell ice to Eskimos. The containers themselves are mostly subsumed by Python's own container types. There's not much you can do in STL containers that doesn't translate directly into some combination of dicts, lists, and tuples.
- Previous message (by thread): A Standard
- Next message (by thread): A Standard
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list