Four years ago when I wanted to start my programming career (at 12...and
I find I can think more clearly now. How did I ever get by back then???
Anyways...), my grandma had me call my uncle since he was a programmer
for a very successful firm, and he suggested to me I start with Visual
Basic, and then move on to C/C++. Now, knowing that this is a Linux
mailing list and that most will not want to go with MS products (as I
can fully understand. Linux is a lot easier on the checkbook), I think
I'll only give points I think you should work with, and not a certain
language.
From my experience with learning many different languages, I'd say that
the most difficult thing I've ever had to get my head wrapped around was
the pointer in C/C++. Since there is a very small chance you'd ever be
able to write anything complex without them, you need to have a firm
understanding of how they work, and once you get it into your head, it
is pretty easy, but I didn't think the path there was _very_ unpleasant.
With this, my suggestion here would be to find a language that will do
more memory management for you, so you don't have to worry about the
pointer work.
Another thing I think you should look for is a language that is built
for users who want a fast development process, rather than the
performance oriented (generally speaking. I don't want to be bashed for
the reason for/against this. I'm just giving _my_ opinion). For example,
in VB (sorry again for the MS reference, but that's where my roots lie),
everything was built for ease of use. You get introduced to variable
types, objects (though in a mangled form when you think of conventional
OO programming), general structure/flow of a program, and the thought
process needed to look at code and realize how the parts will interact,
and with all the behind-the-scenes work, you can show dialogs with one
simple function call. This keeps you from some of the dirtier (but more
powerful and better performing) pointers, multiple inheritance, and
polymorphism.
If you want some more of my experiences, I'd be happy to give you some
more, but I thought I'd try to keep this email from becoming too long
and I still want to give one more suggestion.
OK, I lied earlier when I said I won't point to a specific language.
While I was writing this, I realized that I'd actually gotten some
experience from another source before I began programming (in my
definition). I'd actually been making web pages for a year before that,
but I did dabble in JavaScript, and though I didn't understand much of
it back then, it did come in very handy when it came time for me to
learn the loops and if/else statements in C++ because I recognized the
general syntax.
So, in closing, if you are looking to eventually head towards C or C++
(haven't been watching the thread closely, so you may have already said
and I missed it), I hope some of my advice may be useful to you.
Sorry for rambling,
Justin Willmert
I was looking for a programing language to start learning and my friend
at work gave me a book called Learning Perl. It's Published by O'Reilly.
Thought you might want to check it out. I also wanted to ask if you can
post the links for the tutorials that you found.
Thanks ever so much,
Rey Cruz
P.S. Wasn't sure if I should ask off or on the list, but figured on list
was better so others can learn about perl too.