> Is Python successful? > >>> a = [0,1,2,3,4,5,6] > >>> a[3:5] > [3, 4]
Well, I am not a Python user, I give you credit for that. Actually, I don't really appreciate Python for its indentation choice, but that's a matter of taste. > In C++'s iterator concept, x.end() points to one position after the last > element, so the a "range" (x.begin(), x.end()) is has an open limit at > the end. Every C++ algorithm that operates on a pair of iterator take > use [...) range concept. That's a good point. I work in C, not in C++. I think it comes from: for(i=0; i<N; i++){} while other languages use more for(i=0; i<=N-1; i++){} > BTW, Ruby has both of them > >> a = [0,1,2,3,4,5,6] > => [0, 1, 2, 3, 4, 5, 6] > >> a[3..5] > => [3, 4, 5] > >> a[3...5] > => [3, 4] So, they have studied the well established ground of using an open- right limit and... chose to implement the other way too. Good for them. But, if using right-open limit is the natural and established way... why then, the choice they made?