<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr; font-family: Verdana; color: rgb(0, 0, 0); font-size: 13px;">
<div>My advice is pretty simple:<br>
<br>
1) Learn one language.<br>
2) Learn it well.<br>
3) Avoid learning any other language until #1 and #2 are handled.*<br>
<br>
My one-language-to-rule-them-all was Perl.  It informs everything I do because I learned it really really well.  It makes it easier to learn other languages because I have a firm grounding in Perl.  You can do the same with Python, Java, Ruby, etc.<br>
<br>
The hardest part is #3.  I can't tell you how many truly crappy programmers I've met that know over 20 languages, but don't know any of them very well at all.  Being able to code crap in any language will get you hired, but won't let you advance very far.<br>
<br>
>From an IDE perspective, I recommend just using a text editor for your first language.  IDEs are good for fast development, but they are good because they abstract away some of the fundamental aspects of how the language actually works.  Until you know a language
 well (#2), an IDE will hinder your learning, not help it.<br>
<br>
<br>
<br>
<br>
<br>
<div style="font-family: Tahoma; font-size: 13px;">
<div style="font-family: Tahoma; font-size: 13px;">
<div style="font-family: Tahoma; font-size: 13px;">
<div style="font-family: Tahoma; font-size: 13px;">
<div style="font-family: Verdana; font-size: 13px;">
<div style="font-size: 13px;">
<div style="font-size: 13px;">
<div style="font-size: 13px;">
<div style="font-size: 13px;"><font size="3"><span style="font-weight: bold;">Josh More</span></font> | Senior Security Consultant - CISSP, GIAC-GSLC Gold, GIAC-GCIH<br>
<span style="font-weight: bold;">Alliance Technologies</span> | <a href="http://www.AllianceTechnologies.net" style="color: rgb(255, 0, 0);">
www.AllianceTechnologies.net</a><br>
400 Locust St., Suite 840 | Des Moines, IA 50309<br>
515.245.7701 | 888.387.5670 x7701<br>
<br>
Blog: Don't just blame the bad guys, it's your fault too<br>
<a href="http://www.alliancetechnologies.net/blogs/morej" style="color: rgb(255, 0, 0);">http://www.alliancetechnologies.net/blogs/morej</a><br>
<br>
How are we doing? Let us know here:<br>
<a href="http://www.alliancetechnologies.net/forms/alliance-technologies-feedback-survey">http://www.alliancetechnologies.net/forms/alliance-technologies-feedback-survey</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="font-family: Times New Roman; color: rgb(0, 0, 0); font-size: 16px;">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF403"><font color="#000000" size="2" face="Tahoma"><b>From:</b> cialug-bounces@cialug.org [cialug-bounces@cialug.org] on behalf of Matthew Nuzum [newz@bearfruit.org]<br>
<b>Sent:</b> Tuesday, April 12, 2011 09:48<br>
<b>To:</b> Central Iowa Linux Users Group<br>
<b>Subject:</b> Re: [Cialug] Hello and can I get some recommendations<br>
</font><br>
</div>
<div></div>
<div>
<div class="gmail_quote">On Mon, Apr 11, 2011 at 10:18 PM, Eric Junker <span dir="ltr">
<<a href="mailto:eric@eric.nu" target="_blank">eric@eric.nu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">As much as I love Python, Ruby and PHP I would have to say that that vast majority of programming jobs are going to be in Java or .NET. So if your goal is to be able to easily find a job you may want to consider Java or .NET. I honestly haven't
 seen that many Python or Ruby open positions, especially in Iowa.</div>
<font color="#888888"><br>
</font></blockquote>
</div>
<div><br>
</div>
A problem with this argument for Java and .Net is that many of these jobs require someone with an undergraduate degree in computer science. The nice thing about the open source languages is that freelance work abounds. Please correct me if I'm wrong.
<div><br>
</div>
<div>C# is an awesome language. Not my first choice for Linux work, but a great language to develop in. Also, the Visual Studio Express environment is an excellent tool.</div>
<div><br>
</div>
<div>However, I think learning C# and Java have a higher barrier to entry than the other three mentioned. The reason is because you have to understand the data types and you also must use object oriented principals right off the bat. Both are good things to
 learn but I think the procedural style of programming is easier to grasp at first. Similarly, I wouldn't teach someone TDD on their first day writing a program, no matter how awesome it would be for a person to develop that as a habit early on. </div>
<div><br>
</div>
<div>I think people learn better when it's fun and producing working code and seeing your ideas come to shape is one of the most fun things about programming.</div>
<div><br>
</div>
<div>On that same note, to respond to j.bengtson, an IDE is one more thing to learn. The Python console, irb or <a href="http://tryruby.org/" target="_blank">http://tryruby.org/</a> and firebug are awesome tools to making writing code simpler. I've never seen
 a _simple_ ide and one of the chief principles of making software easier to use is to reduce the interface as much as possible. Eclipse is very likely one of the worst tools I've ever used in the context of "pleasant and inviting user interfaces."</div>
<div><br>
</div>
<div>And, to open one more can of flames, I don't suggest PHP any more because the amount of bad documentation on the web and in print is astounding. You will very likely have to unlearn bad habits in order to write code that is not trivially hacked. You can
 write good php apps but, like C, one of PHP's "features" is that it is happy to give programmers the ability to resoundingly shoot themselves in the foot and it takes careful effort to avoid doing so. It's just not as fun learning when there's warning labels
 attached to everything. The way to get around this is to start out with a PHP framework that has a good track record for taking security seriously. (I suggest Wordpress for that)</div>
<div><br>
-- <br>
<div>Matthew Nuzum<br>
newz2000 on freenode, skype, linkedin and twitter<br>
<br>
"My aim has always been to get to the truth rather than to support some
<div>position. And in criticizing others, I have always tried to understand what their</div>
<div>position was and not to misrepresent it. I have never been interested in cheap</div>
<div>victories." -Ronald Coase </div>
</div>
<br>
</div>
</div>
</div>
</div>
</body>
</html>