|
Boost Users : |
Subject: Re: [Boost-users] iterators must go
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2009-05-11 12:00:36
> Date: Sun, 10 May 2009 09:24:42 -0400
> From: Neal Becker <ndbecker2_at_[hidden]>
> Subject: [Boost-users] iterators must go
> To: boost-users_at_[hidden]
> Message-ID: <gu6kiq$2km$1_at_[hidden]>
> Content-Type: text/plain; charset="US-ASCII"
>
> Interesting presentation:
>
> http://www.boostcon.com/site-
> media/var/sphene/sphwiki/attachment/2009/05/08/iterators-must-go.pdf
> ********************************************
Re slide #21, he didn't mention the biggest one. I had a rather
negative reaction to the design when I first saw the proposal and design
that was to become the STL. The two iterators of a range have no
connection to each other, and it is easy to get them mixed up with no
way to test that the second is in the same collection as the first.
Rather than (begin,end), I much prefer (begin, length) as a
specification. And in implementation, iterators are literally as bad as
pointers. I've preached that they must be treated like pointers, hidden
away behind walls of encapsulation.
When I first saw Boost ranges, I thought that was indeed much better.
Way back when, abstracting a "range" and still allowing more generality
was way beyond the ability of templates or template programmers.
Slide #26: Yes! That discussion should have been had way back when.
But the fait accompli of an existing library to serve as a starting
point, and politics, shut down any hint of backtalk.
Slide #47: shades of Perl 6...makes me think how the previous few slides
of operations on ranges is like Perl. (#48) But in Perl6, even "Int"
types can hold exceptional values, so list.size() would have no trouble
returning Inf.
--John
(sorry about the footer; it's not my idea)
TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net