What to do after Python?

Jeff Petkau jpet at eskimo.com
Mon Feb 19 00:38:31 EST 2001


Johann Hibschman <johann at physics.berkeley.edu> wrote in message
news:mtelwvbe3e.fsf at astron.berkeley.edu...
> Sheila King writes:
> > I must say, that I am shocked at the number of apparent *groans* over
C++
> > language, in this thread.
>
> Really?  Any language that encourages
>
> vector<double>::iterator end = vec->end();
> vector<double> out(vec->size);
> for(vector<double>::const_iterator i = vec->begin(),
>     vector<double>::iterator j = out->begin();
>     i != end;
>     ++i, ++j) {
>   *j = (*i)*(*i);
> }
>
> as the right way to square a vector is, well, not quite the way I'd
> ...
> The whole STL thing seems incredibly verbose, and there's no way
> that's really needed.  I wouldn't want to try to teach that to people.
> I guess that's just my preference.

I believe the current fashion recommends using std:: explicitly. So that
should have been,

std::vector<double>::iterator end = vec->end();
std::vector<double> out(vec->size);
for(std::vector<double>::const_iterator i = vec->begin(),
    std::vector<double>::iterator j = out->begin();
    i != end;
    ++i, ++j) {
  *j = (*i)*(*i);
}

Nice and concise.  It would take twice as many lines in Python:

"spam spam spam spam spam spam spam spam spam spam"
out = [i*i for i in vec]
"""spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam
spam spam Spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam SPAM SPAM spam spam
spam spam spam spam spam spam spam spam spam spam spam
spam spam out = map(lambda x: x*x,vec) spam spam
spam spam spam spam spam spam spam spam spam spam spam
spam spam spam spam spam spam spam spam spam spam"""

--Jeff Petkau (jpet at eskimo.com)






More information about the Python-list mailing list