Well, I will admit I didn't read what was mentioned about Flash nor will I get into a long-winded Flash debate here as I'd like to return to the original question and my thoughts on what to use, which will be long-winded as well but more to the point for direct suggestions. Given what I currently have as a site (
RubyAsylum.com), I am sure it will be no surprise where my post ends up going.
First, though, I wanted to say that for the new person learning a language or a script, since someone else mentioned AJAX earlier, I wanted to clarify that AJAX is not a programming language, it is a scripting language and you have to use it with another language in order for it to work, so you can't just learn it and go make web pages. AJAX is basically a fancy new kind of JavaScript, which some people do have JavaScript disabled in their browser (10% of the internet public), so you have to make pages that work if it is turned off, too...some people also turn off Flash working in a browser and so they can't see flash sites. Another reason to have HTML-based pages.
Well, so what's all the talk then above about these being so great? What should I learn? In my opinion (this is all my opinion since it is my post, so that's likely a given) you should and must learn HTML/xHTML and CSS first. The reason you need to learn these first is that they are the backbone of the internet for pages. Even if you code in something else, your pages will have HTML/xHTML and CSS in almost all cases (or you will run into them when looking at another site or script that you want to use and must know how to edit them to re-use the script/code). If you do not know these basic markup languages, then you are at a huge disadvantage. The benefit about them, however, is they are not hard to learn and there's a great site that you can learn them for free via examples:
www.w3schools.comI used that site a long time ago when I was learning HTML/xHTML and I still refer to it for the CSS reference area.
After you've learnt HTML/xHTML and CSS, then my next suggestion is to decide what kind of look you like for sites and what kind of site you want to do. If you are just going to use a pre-made script like a CMS, you should likely pick PHP as there are a ton of free scripts (
www.hotscripts.com) out there to pick from for it, a lot of people using it to help you when you run into errors and so on. It is also pretty easy to figure out from looking at the code.
Shocking that I would recommend PHP eh? I don't particularly like PHP from a security standpoint. It is attacked a lot by hackers, has few coders (including professional) who work security into their scripts, and doesn't have a great, well-used organizational framework. If you are concerned about these things, then I would suggest Ruby (using the Ruby on Rails framework) or JSP (Java language, not related to JavaScript scripting language). Both have a great deal more security. JSP is harder to learn and code than Ruby happens to be. As such, if you are a first time coder, Ruby and Rails are more likely to be approachable to you. Additionally, likely the funniest guide to learning a language ever (and also free) is
why's (poignant) guide to Ruby, which has such gems as:
Read This Paragraph
At my local Barnes and Noble, there is a huge wall of Java books just waiting to tip over and crush me one day. And one day it will. At the rate things are going, one day that bookcase will be tall enough to crush us all. It might even loop the world several times, crushing previous editions of the same Java books over and over again.
And This Paragraph Too
This is just a small Ruby book. It won’t crush you. It’s light as a feather (because I haven’t finished it yet—hehe). And there’s a reason this book will stay light: because Ruby is simple to learn.
Next, the Web 2.0 revolution for sites that have a definitive easier to read and simple setup were mainly Rails sites initially. Rails has AJAX support built into it (so you can code Rails and then use AJAX). Code via Rails is faster to develop, especially because you do not have to write SQL code but can use database migrations (files written in Ruby using Rails and then push the file to build the database from the code, so never having to worry about learning SQL-specific code itself). I cannot say 100% that Ruby on Rails will be the future and won't go out of vogue at some point, but unlike the corporate world, you can always keep using what you feel comfortable with (look at the perl/cgi programmers who continue to use it and successfully build sites) for your site and it doesn't matter if other people move on to some newer language like Troll or whatever new language someone invents someday. Heck, the backbone of Ruby on Rails and PHP and the others is HTML/xHTML anyway with CSS, and so long as the browsers support those markup language technologies, your site will continue to work fine going forward.
In synopsis, my suggestion would be to learn HTML/xHTML and CSS, then to move onto PHP or Ruby on Rails, depending on what you are wanting to do. The database type (MySQL or PostGRESQL) would be another consideration if you plan to have an SQL-driven site. If you do, MySQL is the more used database and more likely to corrupt/crash but faster type; PostGRESQL is the slower yet less likely to corrupt/crash and more secure type based on my experience as a system admin. I would personally suggest PostGRESQL if you pick Ruby on Rails over MySQL if you are going for security and data integrity. If you are picking PHP, then go with MySQL as you are likely more interested in speed of setup and getting things running.
Also, I would be amiss if I didn't mention that PHP is on all of our servers, some having PHP 4 and a couple having PHP 5. Ruby is on all our new general Linux servers (those without ASP and/or JSP), and Rails is supported in our Ruby setup on all those Ruby servers. If you aren't on a server with Ruby, we can move you to one with it via a ticket to
support@lunarpages.com and details such as your cPanel username or primary domain and the last 4 digits of your credit card on file with us (no charges apply) along with the request to move to a Ruby server. We have 2 types of Ruby servers, those with mod_ruby/eRuby and those with FastCGI. I highly suggest picking one with FastCGI as Ruby on Rails runs faster on it.
Have a Blessed Week