I am looking to get into web application development. I am an undergrad CS major with experience in programming desktop apps, but with only basic knowledge regarding how web apps work. Any suggestions of where to start? Javascript, php, perl, ruby, python? Should I look into frameworks like django, seaside, ruby on rails, etc at first or wait until I am more experienced to use those?
Using any of the frameworks that you mention will likely boost your productivity, but it is important to understand how all of the supporting technologies work in their own right if you want to be really good at what you do.
So, learn one or more of the big JavaScript libraries (Closure, Ext JS, Moo Tools, Dojo, jQuery, etc.), but also learn how to do all of the same things that the library does without using them.
Learn a framework like Ruby on Rails or Django, but don't neglect to do some low-level CGI coding so that you understand how things really work under the covers.
Also, learn enough about SQL and relational theory that you don't become dependent on whatever ORM is provided by the framework that you choose. Knowing SQL is very valuable.
I'd set up a basic LAMP (Apache, MySQL, PHP) server, and start playing with PHP. It's quick and easy to get started and learn the basics and actually see some results. There are TONS of tutorials for PHP and Javascript. I've heard ruby on rails is easy to get into, too, but I haven't had a chance to really dive into that yet.
You could check out some of the frameworks, but I've personally found most to take some time just to set up, then you gotta spend the time learning through them.
You will most likely always be using HTML, CSS, and Javascript in whatever framework or language you are building your web application with, so start with these basic guys first. I recommend Django if you're looking for a framework (python is the underlying language of Django). Good luck and have fun!
It can certainly be a bit overwhelming with all the technologies and languages available to choose from. JavaScript, JQuery and Ruby on Rails are popular. You can't go wrong by learning those. Definitely good to know the underlying technology though. W3 schools has lots of help on that stuff.
Also, I would check out these SO questions because this gets asked a lot. There are some great responses there.
http://stackoverflow.com/questions/1114145/getting-started-with-web-development-and-design
http://stackoverflow.com/questions/12669/resources-for-getting-started-with-web-development
http://stackoverflow.com/questions/543091/where-to-start-from-in-web-development
http://stackoverflow.com/questions/737719/how-to-get-started-with-web-development
Some questions to help you think through this:
1) Do you want to steer your career towards Java or .NET or Ruby on Rails, or any other technology? I found I jumped back and forth in my career, but it'd help to make the decision so you don't jump too much at first. Once you understand the concepts, you can jump easier because you are learning just a new way to express what you know you need to.
2) Do you want to go more for front-end or back-end development? It used to be that the "web master" was everything from designer to db guy, but if you go work for medium size+ companies, the different roles get more compartmentalized. It's a good idea to understand the whole thing, but you need to decide if you want to be good at everything or excellent at one area.
3) Learn JS and at least 1 of the big-player libraries: I like JQuery. It'll help you understand how to work easier-faster
4) Learn basic SQL and maybe an ORM solution. It'll help when driving your web apps from the db.
5) Understand security (certs, SSL etc).
6) Understand how to test web apps and learn to use libraries for that.
You don't need to take on all this right away, btw. This is just a list of stuff to consider.
Good luck!
Gerardo