John Connors wrote: > > The first one is lists... I can't for the life of me understand why a list > starts at zero. In everything else in life other than programming the 1st > item in a list is always 1. Hi,
Exactly, everything else other than programming. Zero indexed arrays are the norm in everything but moronic old VB. I guess it's just a defacto standard now. > > The next thing I don't understand is why the last number in a range is not > used... > > For a in range(1,6): > print a, > > 1 2 3 4 5 > This relates to the previous issue. This comes from the fact that range(3) = [0, 1, 2] This is extremely useful for iterating indices, and I can suppose that when range() was first extended, it had to remain consistent. > The 3rd whinge is object oriented programming. I think I understand the > principle behind OOP but in practise, to me, it just makes programs jumbled, > unreadable and bloated. Just about every summary I have read on Python says > it is designed to have a simple syntax and is easy to learn. As a beginner I > can look at Python code and have a very good idea of what is happening and > why unless it's written in OOP style in which case I have no idea. > OOP is a rare beast to me: it makes suitable problems very very easy (think about GUI programming without OOP) and unsuitable problems extremely convoluted. I guess it's just the fact that it is a paradigm and not just a programming technique. Fortunately, unless other languages which *force* you to use OOP (think Java), Python allows you to use at least 3 different paradigms (OOP, functional(like Lisp et al) and structured(like Pascal and C)) Just my 2 cents, Hugo _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor