Topic: Beginner In Need of Advice.

I am young and interested in learning developing.
I want to do web development mostly.
I have many ideas for projects that i would like to do, mostly web applications and backend systems for Enterprises.
I am very confused on what path to go.
I want to start learning about the technologies that are related to my interests.
Then learn web design.
Then i want to learn 1 web language and framework, very well. And from their learn 1 or 2 more. And then go onto Higher power languages, and OS development.

I am currently looking at a few platforms.

Ruby on Rails

Python on Django

PHP on Zend

Perl on Catalyst

J2EE on Seam

ASP.NET on Atlas

My basic question is, what are the pros and cons of these platforms, and try on to be biased.


Re: Beginner In Need of Advice.

This question is difficult to answer for a few reasons. The major one being very few people have experience in all of these languages/frameworks and therefore cannot give you a fair answer. The other is you should use the best tool for the job (to some extent). Although they are all web development frameworks, they have many minor differences which may make one better than the other in your circumstances.

But, if this is the first language you are learning, don't worry too much about which one you start out with. The important thing is that you learn the basics of programming (variables, functions/methods, classes/objects, arrays/hashes, loops, conditional expressions, etc.). After you get these basics down, picking up any programming language will be much easier. For example, although I've hardly written a line of Java, I can read pretty much any Java code and pick it up fairly quickly.

Regarding Ruby and Rails specifically, Ruby is an excellent language to start out with. There is also  a good book called Learn to Program which uses Ruby, but notice it isn't titled: Learn to Program in Ruby? That's because it focuses more on generic programming principles and not so much on language specific features. Yes the Ruby syntax is quite different from other languages, but once you get past the syntax, most programming languages are very similar.

In any of these cases, I would take some time to learn programming outside the context of web development. This will allow you to focus on programming best practices which can be a little hard to see in the web development environment (especially PHP). I know some will disagree on that though.

Oh, another good book: The Pragmatic Programmer. This one doesn't focus on any specific language/technology, but it gives you some great advice which can be applied to any programming environment.

Railscasts - Free Ruby on Rails Screencasts

Re: Beginner In Need of Advice.

I'll have to agree. There are so many factors to consider and how you want to learn. I would suggest nearly the same thing. Learn actual programming, and play around with a standalone language such as Java SE, C++, C, etc...

I personally started learning C, then C++, then Java. So when I started learning PHP about three years ago, it was relatively easy because its so much like C. But yes, Ruby I would agree is a good place to start after learning it now after using all these other languages.

And like he said in different words, programming logic is the exact same no matter what language you use, its the syntax that varies.

Like in three different languages, you can say Hello World! in three different ways, but the fact of the matter is your still saying hello world.

cout << "Hello World! \n"; // C++
System.out.println("Hello World!"); // Java SE
<%= "Hello World!" %> // Ruby / Rails
echo "Hello World!"; // PHP

Syntax completely different, but will say the exact same thing.

So I also believe once you get the fundamentals of programming down, you can tackle any language with enough reference and practice. Another good some may have me hung for even suggesting tongue, but take a gander at Programming For Dummies. They are not the most detailed books in the world, but they are for good at laying everything out, step by step so even the "dummy" could understand it (and the 5th Wave comics throughout the book are hilarious). And when you are ready to start learning Ruby and Rails, I'd suggest a couple good books from the Pragmatic Bookshelf, the first one called Programming Ruby, and the other called Agile Web Development With Rails (get the 3rd Edition though, because the 2nd edition uses an old version of Rails to teach on).

Hope this helps. Good luck in your learning, and if I can be of any help, let me know.

Re: Beginner In Need of Advice.

Well, try learning C first then try OOP... I'm sure it would be pretty easy to learn other languages like the one's you mentioned aboved... heheh