I'd just like to clarify your question.What's the
best way to learn additional programming
languages? or What's the best way to get
started with programming?
Having taught several people how to program and learning
a multitude of languages on my own time, I feel that I speak
from experience when I say that a programmer's mindset is
unlike anything in the world. Including engineering, the
natural sciences, even other fields of computer science. If
you're asking the latter question, then my advice to you is
as follows: Develop the mindset first!
- Learn Boolean algebra
The simplest way to
understanding conditional expressions is the most direct
way--return to the source. Basic Boolean algebra will cover
AND, OR, and NOT, condition groupings, changing from NOT AND
to OR expressions, etc. If you're really curious, you can
even go on to read about XOR and XNOR. If you go that far,
you may even want to learn about Boolean truth tables, in
which we analyze the input and output values of a "function"
(traditionally a circuit, but applies here too).
- Start with a simple language
I've taken to
calling beginning languages "gateway" languages. Just like
gateway drugs, and--depending on how hooked you become on
programming--probably just as detrimental to your health.
:-) If you start with Visual Basic, or JavaScript, or even
Perl, you can learn the basics of programming (flow control)
without worrying about complicated syntax or confusing
runtime errors.
- Design a small project for yourself
One of
the things I've learned during my time in this industry is
that the potential for learning is much greater when you
have a deadline! While I wouldn't exactly take it that far,
you can most certainly come up with an idea for a program
you would like to write, and set time-oriented goals for
yourself. Some of my earliest programs included a batch-file
and QBASIC system maintenance tool, and another QBASIC
program that cataloged information about our neighboring
star systems (for quick reference in Sierra's Outpost :)
Some of the things I would recommend against are:
- Learning a new operating system concurrently
(like Perl and Linux)
- Learning more than one language at a time
(like HTML and JavaScript)
- Learning out of a book
I've found that many
of the techniques and functions you learn out of books have
little-or-no real-world application. The Camel books for
Perl are pretty good, as is anything by O'Reily and our
friend merlyn. But be wary of book titles like "Mastering
C++ in 24 Hours". It just simply can't be done.
If, however, you're interested in expanding your horizons
and learning an additional programming language, then I
would definitely use some of the items from the above list.
Design a program you want to write. Pickup a book to use as
a reference. Find a decent group of people you can ask
questions (like us :). But most importantly, ENJOY YOURSELF!
Good luck, young Jedi.
Alakaboo
I am the lurker that spams in the night.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.