tags:

views:

118

answers:

6

Question asked a couple minutes ago gave me this idea... If you were to teach someone HTML today, it would be significantly more difficult than a couple years ago.

For example, the <font> tag is simple, straightforward, and easy to understand. But it's now slated for the chopping block in future versions of HTML. I couldn't imagine trying to learn HTML today the "right" way with CSS and style:-type markup.

So where's the line? Should someone learn tags that are easy to understand but deprecated? Or should you insist on "getting" CSS and validation-passing styling from day one?

+8  A: 

Learn the correct and valid way. It will reduce the bad habits and in the long run you will have to learn less.

MitMaro
+4  A: 

I disagree. I think HTML is simpler today. You look at modern, clean HTML and that's what you see: clean, HTML, with minimal markup.

Presentation wise, it's nothing to shout at. But CSS fixes that.

CSS makes it even better. Simple changes have dramatic effect. Those dramatic effects lead to quick satisfaction and feedback. It also lets folks make sweeping changes, that affect "everything" rather than having to run through and propagate those changes.

That makes "mistakes" cheap to fix, which, again, leads to quicker success, and faster confidence.

Are there a lot of tricks of the trade in CSS and HTML? You bet. But most folks don't need that right level of expertise right away.

So, IMHO, HTML is a much better animal today than in the "old days".

Will Hartung
+1  A: 

It would depend on the situation. I can see possible cases where I may want to teach someone as little as possible. Say they have to learn a litle htnl in order to to edit some content on a page every so often, and I know this person to be someone who won't bother to learn more than he or she needs to.

However if I were teaching someone who was serious about learning definitely I would definitely try to have them learn the right way. I learned too many bad habits of my own and am still having to learn the "proper" way of doing things. I feel responsible for anyone I teach, and would like to spare them that hassle.

And learning to do things properly is really not that hard and it's a heck of a lot harder than unlearning the wrong way and bad habits.

David Stratton
+1  A: 

HTML has been trending away from style-markup and toward semantic markup for many years now. There are lots of good reasons for this; I don't think you asked this question to get a separation-of-style-and-content lecture :)

In terms of learning HTML, I think people learning HTML can understand the simple lessons about how tags turn into webpages using elements like <p> and <ul>. When they inevitably get the "ew its ugly! how do I fix it!" itch, introducing CSS via the style attribute is not the worst thing in the world, as long as people eventually learn to style elements from an external stylesheet.

I certainly learned HTML in the days of table-based layouts and font tags, so maybe I am underestimating their usefulness as teaching tools. But I think driving home the point that HTML isn't layout early will pay dividends later.

Matt Bridges
A: 

Definitely do not teach outdated methods. You used to teach in just one step, HTML with styling tags.

Now, just teach in 2 steps. First teach a few basic semantic tags such as headers, paragraphs, and lists, then teach them how to make a stylesheet to style those. Then move on to more tags and more advanced styling from there.

Karl
+1  A: 

Actually, I think the OLD way is harder for a new person. Perhaps you don't see it that way because you're used to thinking in old patterns. It's like this almost-retired DOS/QuickBasic programmer I work with sometimes might say: "Programming is so much easier to understand when all you have is one file and you just read down the file from top to bottom." Most people would agree it's not best to learn programming by starting with QuickBasic.

So why is the NEW way easier?

Because it separates concerns. Content and presentation are neatly broken into separate places.

You can start by teaching basic markup with <h1>, <p>, <b>, <div> and all of the basic tags. Give them a chance to understand the basics by creating HTML that Mosaic can display just as easily as IE8 (OK... bad example probably... you probably have to enable some sort of compatibility mode in IE8 for that ;-)

Once content has been mastered, move on to presentation. Show them how they can edit a separate file (the CSS file) and change the presentation of the entire document (or website) without ever touching the original file.

Now THAT'S simplicity.

Eric J.