Wow, you too! I have a degree in Theater as well. I never got a degree in Comp Sci and it has never hurt me in the least. I just didn't want all the math. I would have had to take: Calc I, II, III, and IV, Numerical Analysis, Discreet Structures, Differential Equations, Probability and Statistics and one or two more. The comp sci curriculum was 50% math courses. In 14 years of professional coding I have never needed any math other than Algebra and a little Geometry.
The danger of the self-taught coder is a lack of the foundations. This I find to be particularly true with the programmers who back-doored into coding through web work.
Not knowing the fundamentals (data structures, algorithms, logic, compiler theory) eliminates a lot of tools from your toolbox. I went through the trials of C and Assembler and parsers and lexers and such. I know the costs and performance tradeoffs of lists vs hashes vs trees.
I recently taught perl to a bunch of programmers, most of whom had either java or asp/jsp web backgrounds. None of them even knew what a linked-list was. Or a regular expression.
If there is a point to my babbling, it's this. There are both advantages and disadvantages to the self-taught programmer. Remove the disadvantages. Learn 13 or 14 different languages (i'd recommend postscript, lisp, icon, prolog and c to be exposed to a lot of different types of languages). Learn how a compiler works. Learn lex for lexical analysis. Learn yacc for parsing. Learn how a shell works under the hood (that will teach you a lot). Learn the four types of programming. (See
Why I like functional programming for more details). Learn graphical toolkits and databases and cgi and networking and anything else you can.
Give yourself a huge toolbox. Make yourself marketable. Make the answer too every question, "I can do that."
-pete
"Pain heals. Chicks dig scars. Glory lasts forever."
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.