“Ruby is optimized for programmer happiness and productivity. Sure, Ruby isn’t the fastest or most performant language for a variety of common programming tasks, but its syntax is clear, intuitive, and fun, which makes it easier and faster for programmers to learn and use.
“Ruby abstracts a lot of the pain out of programming. Ruby makes it unnecessary for first-time programmers to have to deal with things like manual memory management, pointers, or type safety, which I think is a huge win.
“Ruby has a great community that’s especially friendly to beginners. The Ruby community sometimes gets a bit of flak for its ‘fanboy’ vibe, but it’s full of smart, earnest people who love programming, Ruby, and teaching people who are new to both.
“Ruby lets you make something fast. Ruby is great for rapid prototyping, so the time spent going from ‘I know nothing’ to ‘I wrote a functioning program’ is very short. People are encouraged by frequent, consistent moments of positive feedback (‘aha!’ moments), and Ruby promotes that.”
“I recommend most beginners start with Rails. In the beginning, you’re looking for quick wins, quick understanding, nice syntax, and near instant gratification for your efforts. Rails provides that much faster than most other languages in terms of writing web apps.”
“These days I recommend Python to anyone who wants to learn to code for the first time, and it’s the language that we are increasingly focusing on at CodeLesson.”
“I’d add Python into the mix as well, especially Learn Python the Hard Way.”
Elmer Thomas, Developer Evangelist at SendGrid
“As much as I love Ruby, I might recommend Python over Ruby to a total beginner because of Python’s ‘there’s one best way to do something and this is it’ philosophy. (Ruby is much more ‘there are many paths to the summit’ in its approach to problem solving.)”
Brandon West, Developer Evangelist at SendGrid
Jeffrey McManus, Founder at CodeLesson
Swift, Developer Evangelist at SendGrid
Kunal Batra, Developer Evangelist at SendGrid
“I learned PHP first. It’s nice because it’s a simple extension of HTML really, but it doesn’t really set you up for success by teaching you proper patterns or practices.”
“Ignore PHP, not many modern web startups use it. They’re more looking for Ruby or Python guys right now. Don’t really see things going back to PHP.”
“PHP is, in my opinion, kind of a mess. This blog post (by Alex Munroe) explains why I don’t think it’s a good language, let alone a good first language.”
“My best suggestion for the new programmer is to do some research, pick a language with a strong community (Ruby, Python, JS are great), and don’t switch. People you meet will tell you reasons to switch, usually citing things you have no idea about or haven’t come across yet. Your early goal is to get proficient at building things in one language. Switching is the enemy of that. ”
“My recommendation is actually to not learn a language first but learn the basics of program design, algorithms, and flow control structures using pseudocode. I think beginners should start with a strongly typed, compiled language. C++, Java, .NET.”
“iTunes U is a good resource for the fundamentals of Computer Science. If the person likes to read, a subscription to Safari Books Online would be useful. Also, check out the Programming Throwdown podcast.”