My first job was in Tcl. I grew to really like the language, though when I had to leave the company I was at a pretty strong disadvantage due to how uncommon it is.
Everything is a string is a great way to reduce the mental load about typing.
Everything is a string is a great way to reduce the mental load about typing.
I feel almost the exact opposite way...
Everything is a string means I have to "know" whether any given function takes {a single element, a list of elements, a glob, a list of globs, ???}.
When I inevitably mess it up, I don't get any help at all from the language. In the best case, I'll hit a run-time error and figure it out. In the worst case, my program will just do some random thing that isn't what I wanted, and I'll get to debug it.
lrange list first last List must be a valid Tcl list. This command will return a new list consisting of elements first through last, inclusive ... (not put it all here because it goes on a bit :)