That does not make it easier though... you explained just now, and I understood, but where am I to pull it out of (because it is not intuitive at all) if not documentation? Just like with any other languages... Similarly, they will run into languages where arrays begin with 0. Beginners should be taught how to think about it and such, not shove it under the rug. Who is your target audience?
> where am I to pull it out of (because it is not intuitive at all) if not documentation?
It is in the documentation. Quoting from the documentation:
> String variables end with the $ character.
The principal problem though is that you're dropped into the first of 4 tutorial/documentation pages, and have to hit "back" (which is unintuitive since I didn't get there from anywhere else on the site) to see the list of tutorials and documentation pages.
I did not mean to say that it is not in the documentation... What I am saying is that it is not intuitive at all, and it has to be documented for anyone, not just for "beginners to programming" to know. The reason I am saying this is that "counter-intuitive" and "not intuitive" is often mentioned as a reason for the language being more beginner-friendly.
i = 20
# ... some lines later (not modifying i)
for i in range(10): # non-intuitive for many - range goes from 0 to 9
print(i)
# ... some lines later (not modifying i)
print(i) # what value should be printed here?
Or a subtle (and hard to spot when not isolated like this) one character difference creating a behavior change:
i := 20
for i := 0; i < 10; i++ {
fmt.Println(i)
}
fmt.Println(i)
i := 20
for i = 0; i < 10; i++ {
fmt.Println(i)
}
fmt.Println(i)
And that's with a primitive part of programming. There is no language whose behavior can be fully intuited by all people, beginner or not. Some things will have to be taught or read through documentation and examples.
> Similarly, they will run into languages where arrays begin with 0. Beginners should be taught how to think about it and such, not shove it under the rug.
Just to add to that: I am reading the book "Programming Algorithms in Lisp: Writing Efficient Programs with Examples in ANSI Common Lisp" written by "Vsevolod Domkin" and it explains it well enough for a beginner, I would say, at page 49; "Why Are Arrays Indexed from 0".