

Roadmap to Learning Software Development: A Beginners Guide - mcardleliam
http://mcardleliam.tumblr.com/

======
rmangi
While I applaud anyone trying to get into software development I find it hard
to believe that in 2011 "the resources available to a new student developer
were limited". I'd also object to ruby being the best first language for
someone to learn. Maybe you had trouble getting advice as to where to look to
get started, but the internet is full of folks who are eager to give you their
2 cents on that topic. As far as ruby goes, nothing against the language but I
personally think it's much more difficult to learn than java or c# which have
more applications, a wider audience (and hence more material to read) and
better support in terms of IDEs. They are also syntactically much easier for
newbies.

That said, I congratulate you on your new found love of programming and your
willingness to share the knowledge.

~~~
lquist
"java or c#...are also syntactically much easier [than Ruby] for newbies."

Wait, what?

~~~
joshAg
the syntax is much more regular and more verbose, but that can be a good
thing. The regularity means that it's easier to remember what's supposed to
come next/how to do something, and the verbosity means that there's less
obfuscated phrases.

Granted, ruby and python aren't as bad as perl, but they definitely aren't as
regular as java either.

Of course, once you start getting into advanced topics, all that can go out
the window, but at that point we aren't talking about a newbie anymore, so
what we/they will expect from a language will be different.

~~~
Xion
> Granted, ruby and python aren't as bad as perl, but they definitely aren't
> as regular as java either.

I wouldn't mix those two when making a comparison to Perl.

As an example, there are like four different ways to write a simple 'if'
statement in Ruby, with some blurring the difference between that statement
and conditional expression (ternary operator in C-like languages). In Python,
there is just one 'if' statement which is also clearly distinct from 'if-else'
conditional expression.

------
avenger123
This is a great list/discussion of resources. I am also helping someone get
started learning software development but I have taken a slightly different
approach. I am focusing on the computer science fundamentals first and
afterwards focusing on web development. I have found that the Coursera courses
as a great starting point. There is the Algorithms I and II with two
introduction to programming courses using Python.

I also believe the Stanford courses (such as CS106A) is a great resource. I
also would not discount the Oreilly Technology School.

The danger with starting with web development is that unless the person is
very keen on learning, gaps in knowledge can develop and bad coding practices
can be learned.

~~~
ekm2
It would have been nice if Coursera offered an Algorithms class in Python..

~~~
avenger123
Here's a resource that you might find useful:

[http://interactivepython.org/courselib/static/pythonds/index...](http://interactivepython.org/courselib/static/pythonds/index.html)

It's not Coursera but it's well put together.

------
rednukleus
> Regardless of whether you are looking to become an iOS developer, a Mac
> developer or a Web Developer [...]

Yes, because those are the only three types of developers. iOS, Mac or Web.

