I disagree with you re Perl as a first language. Perl has one thing that is missing in many other languages: a friendly and helpful community.
You are right that in Perl, grokking references can be hard. I struggled for a while with building data structures. Different bracketing, and -> syntax and added to the confusion. Map was pretty hard to get as well. The Schwartzian transform just about caused a brain hemorrhage the first time I saw it.
BASIC is easyish, but which version? Most modern basics are pretty OO in structure. Save the beginner from objects!
Java? OO hell + verbosity that is puzzling to the newb, and frustrating to the experienced.
C++? OO again. And...look at the size of that language! Back in the day, C++ was big and unwieldy and confusing enough, but I was still reasonable. I stopped watching it for a few years and the new standards made it more unreadable, and 20 times bigger and harder to tell what's going on. Do go in, it's a TRAP!!!!
C? As a newb I got hung up on * vs & for the longest time because you use * to declare a pointer, but you use & to get one, and then you use * to dereference it! It is a very small language--hooray--but as a result you either have to memorize an API to do anything interesting or write your own libraries.
Pascal might work out ok. But who uses it these days? One might as well suggest Logo. Also, array indexes start at 1--which will cause pain when switching to almost any other language.
Any "serious" language will have it's good and bad bits for a new learner. (Befunge and BF are ALL BAD, thankfully one is not expected to use them for work.) But Perl shines for the simple fact that there is a large, craft-oriented community that is ready to provide friendly, prompt help. The help I got around here was worth way more to me than the "help" I got from a variety of professors and teaching assistants. The funny thing is, hacking Perl and reading Perlmonks straightened out lingering errors in comprehension that my formal education left behind.
TGI says moo
In reply to Re^4: Control Structure problem, mistake can't be found
by TGI
in thread Control Structure problem, mistake can't be found
by koolgirl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |