On Wed, 22 Jul 2009, Jacob wrote: > On Wed, Jul 22, 2009 at 4:46 PM, Ross Singer<[log in to unmask]> wrote: >> On Wed, Jul 22, 2009 at 8:54 AM, Jon Gorman<[log in to unmask]> wrote: >> >>> As far as >>> languages, I'd probably lean towards ruby or python for starters or >>> maybe Java. Then move into php after you have a grasp of good >>> programming practice. You'll also figure out more what you like to >>> work on. [trimmed] >> I would almost certainly say start out with a procedural scripting >> language (or at least a procedural approach) that is more common and >> Googleable (PHP immediately comes to mind). The nice thing about >> something like PHP, in my mind, is that it's incredibly easy to see >> immediate results without having any real idea of what's going on >> (that being said, I have _no_ idea what Wayne's background might be -- >> perhaps this advice is too novice). As many others have replied, it's >> so much easier to learn by solving an actual problem (rather than >> following the 'pet store' example in your tutorial) and, in my mind, >> PHP is the easiest way get off the ground. Successes breed confidence >> to take on bigger projects, etc. > > Fully agree with that. Programming has to be learned incrementally, by > getting your hands dirty a little then studying the necessary theory > and repeating the cycle to tackle bigger problems. If I didn't hate > the language so much I'd vote for PHP as well:) But surely a scripting > language with a prominent Web presence, to start with. Preferably one > that is clean, minimalist and well thought through like Smalltalk :) I'll agree that all of us have to go through the writing bad code before we really understand what's going on. (I cringe when looking at programs I wrote 3 years ago, much less those I wrote 15+ years ago) ... but on the language front, I think it's pointless for any of us to recommend a language without understanding the environment. If there's someone other programmer in your group, learning a language that they know might not give the group as a whole as many tools to complete tasks, but odds are, you're going to have to be maintaining each other's code, and you'll have someone to act as a mentor and ask questions of. If you're on your own, then I'd probably look at what packages you might have to maintain, and what they're written in. After that, I'd look at what type of programming you're doing -- if you're doing mostly systems work without GUIs, I'd go for perl or python, not PHP. If you have to make stand-alone apps (non-web-based), possibly Java. All languages are just tools -- there are some things that each one does well, and there are tasks for a given language that are just horrible to implement. I'd also look for local support groups for whatever language(s) you choose. Search for "(language) user groups" and you'll find lists for C varients, PHP, Perl, ColdFusion, Java, etc. -Joe