

Quick Q - stu_utterguy

Hey, I don't know much about computers but I'm interested in learning how to make great web pages, Web 2.0 Apps,and Facebook Apps.  Right now, I have been brushing up on C++ and Pascal (languages I have previously learned).  Basically what is the right progression for me to develop the skills for the aforementioned?
======
willarson
Web development requires small slices of dozens of skills. You need to be able
to design web-pages (CSS, HTML, a personal design aesthetic). You need to be
able to interface between your pages and your server (web frameworks ease the
pain of this: Django (Python), Ruby On Rails (Ruby), Seaside (Squeak), Lift
(Scala), and others in Scheme, Common Lisp, Java, etc). You (will probably)
need to be able to add interactivity to your projects: javascript/ajax or
Flash (or, theoretically, Silverlight). You will need to interact with
databases to create persistent data (PostgreSQL, MySQL, SQLite), or at least
learn how to use an ORM (object-relational mapping, used to create a simpler
interface to interact with databases without using Structured Query Language).

If you are seriously devoted to developing a web applications, I would
consider trying Django. It is a full development stack (it will help you with
templates for your html, views to populate the templates, an ORM to control
your database, etc), and I found it more intuitive than Ruby-on-Rails.

However, given the wide number of skills involved in web programming, I would
strongly consider focusing on one aspect and becoming proficient at that.
Specializing means you can more quickly become an asset (to a team), but will
also develop skills you would need to develop anyway to develop quality web
applications.

Although many web applications seem stupidly simple, there is still a huge
amount of time and effort being spent invisibly: testing for cross-browser
compliance, designing and building a system that scales horizontally,
designing your website to appeal to customers, setting up your production
hosting, cleaning and escaping all incoming data to prevent various security
exploits, creating a caching framework to avoid hitting your database if
possible (slow), designing your overall system to perform quickly, and the
list never ends: there is always something else.

This is the joy of web programming, and also the reason that it is hard to do
well. Don't be discouraged, just realize that it isn't simple, and get to
work. :)

------
sabhishek
C++, Pascal will be of little help I'm afraid. Web developement can be broadly
categoriesed into points as below, that you might want to learn.

Server side : PHP, JSP,ASP,Ruby. Presentation/Client side scripting :
HTML,CSS,Javascript Backend: MySql, Oracle etc.

I suggest you to start a project and learn while you code, learning curve may
be high for you depending on the level of exp you have.

