why arrays start at zero?

Historical reasons. And array position zero was often used for other purposes. But no, “most” other languages do NOT start at 1.

For more info see http://developeronline.blogspot.de/2008/04/why-array-index-should-start-from-0.html

P.S. Oops, Sascha beat me to it.