Hi Ken,
I'll answer in a bit different structure, because it'll make more sense.
1) HTML
You need to know HTML to do websites. HTML defines the basic structure of pages - it wraps around content to give it meaning. You can get by with just a handful of tags, but I really reading through all of the tags (too many people use generic DIV/SPAN tags for things which have special tags defined for them).
Technically you can use WYSIWYG, but I always advise against that, as it encourages "visual thinking" rather than thinking about what content means.
2) Design & Layout - CSS
There's one option for design and layout: CSS. Cascading Style Sheets.
The name has a big clue about what makes CSS effective - cascading - meaning you can set up overlapping styles, combining multiple classes and tags to get different design based on the context of your content.
Tables are for tabular data,
not layout. It's a mistake a huge number of people make, because tables seem easier for layout, but when you learn CSS properly you will easily be able to do stuff with much less effort by using other tags.
Frames make sense in some situations (like Beehive), but some (many?) people have a dislike for them. (Often simply because they've been told to dislike them, rather than knowing the benefits/drawbacks themselves).
3) Client-side interactivity - JavaScript
JavaScript allows you to add interactivity on the clients side - making for a better user experience.
You could learn JS from scratch, but there are libraries which makes things much easier for DOM scripting (aka DHTML).
I use
jQuery myself, and would definitely recommend it. There are other options which may well be valid though (Prototype, mooTools, etc).
jQuery supports a CSS-like notation for selecting elements, which I like
(Technically VBScript is an alternative to JavaScript, but almost nobody uses it, and you can feel free to ignore its existance.)
4) Server-side scripting
This is where you get the real choice - there are lots of different languages available.
Ultimately, it's a personal choice - they can all do the same things, but some are easier to use than others.
You only need to pick one, but knowing multiple languages can be a good thing, especially since it helps you think in more logical/abstract terms, rather than simply thinking how the syntax of one language works.
You'll be able to find hosting for all of these languages, though PHP is most common (and thus usually cheapest).
PHP is what Beehive uses, and it is one of the most popular languages. It is free open-source and has lots of resources available for it. It uses a C-style syntax which some people like. (I'm not one of those people)
It's a valid starting point, especially if you'd like to do stuff with Beehive.
Ruby has been gaining popularity recently, because of a framework for it called Ruby on Rails. RoR is a specific way with working with the Ruby language that allows for RAD (rapid application development) by accepting certain conventions.
Java is another option, and whilst flexible and powerful it's possibly not a great option for a beginner.
CFML is what I use. There are various engines for it, the key one being Adobe ColdFusion. CFML is very easy to use, but still powerful and flexible. It's got a much smaller community base than PHP/etc, but there is sufficient resources out there.
Python is a fairly popular language these days, and has a framework called Django which people seem to like.
Perl used to be a popular language, but I don't think I know anyone who would recommend it nowadays.
ASP.NET/C# I'm mentioning for in an attempt to be non-bias. It's Microsoft's and evil. Rendle loves this and will probably be along to sing its praises, so I don't need to.
So yes, in summary:
- Spend some time learning HTML and CSS first.
- Then consider looking at jQuery to do fancy client-side effects.
- For server-side stuff, PHP is a sensible choice. I like CFML and have to recommend it. Ruby & Python are both valid choices.
Um, I can write lots and lots more, but it's hard to be both useful and concise, so I'll give you this now and can go into more detail about stuff if you want me to.
EDITED: 1 Mar 2008 18:54 by BOUGHTONP