Ed Heil's post about Python's (apparent to him at the time) lack of a strip() method on strings of course brought, of course, comments that this in fact does exist. Heil responds somewhat cheerfully with:
which turns out not to be true in the CURRENT python. That's what you get for criticizing Python: anything you say about it they say "But Guido just fixed that in the latest release! Get with the program!" Moving target, man! Moving target.except, that's not the case in this case either. It's been there since the oft forgotten Python 1.6 and it's far better known sibling, Python 2.0, both from early autumn 2000.
Curiously enough, I still see brand spanking new code use the string
module functions over methods (or, more often now, I see mixtures of the two). Curious that.
I was really impressed with Ruby for a while, but there's something I noticed about Python that I really really really really like: os abstraction. Ruby can run on many platforms, but I remember there being a lot of Unix shell-isms in there (Ruby took a lot of design inspiration from Perl, for better or worse), including the built in `cmd`
construct for executing shell commands. I remember reading somewhere that Matz (designer of Ruby) is really wanting to tone this aspect down. But it really makes me appreciate python's os
and os.path
modules which, when used properly, can help ensure software that can run on not only Unix and Windows, but classic Mac OS as well - no matter what each OS may use to separate path components.
Actually, just having modularity built into the language and having a single module loading keyword (well, sort of a pair that do the same thing): import
(and from foo import blah
removes all of the weirdness of dual statements like load
and require
, or Perl's use and require, or PHP's include and require. Modules are wonderful. The Module-2 influence on Python from the beginning has been great for the language, and the inclusion of packages (I can't remember if that was a 1.4 or 1.5 feature) as part of the system has made it even better. distutils
has made it supremely easy to package and install new packages into a system, giving Python some excellent deployment strategies. So yeah, there are still plenty of weird dualities in Python. But there are weird dualities in every language. That's all I'm saying.