Why should I learn HTML?
This is a very common question amongst beginners. It's a valid question, especially as there are conflicting views on how necessary it is. Our position is this:
- If you want to create fast-and-dirty web pages and have no ambition to make them good quality or easy to access, then you can probably get by without understanding HTML. In such cases, a WSYWIG editor might be all you need. However you must understand that you are taking a chance — your web pages may or may not work (even if they appear to have worked).
- If you have a friend or colleague who can check your HTML for you, then that will probably suffice.
- If you are even slightly serious about making web pages that people can access and use, a basic understanding of HTML is an absolute must. This doesn't mean you need to learn the whole language thoroughly — just that you need to understand the structure of the language and have an idea of how it all fits together.
FAQ and Common Arguments
- I'm not good at learning computer languages
- I don't have time to learn HTML
- I've been told that I don't need to learn HTML
- Writing HTML is too slow
- I have a great WYSIWYG editor so I don't need HTML
- Isn't HTML obsolete?
- HTML is too limiting for my purposes
Don't believe everything you're told. People who say HTML knowledge is unnecessary usually either have another agenda (e.g. wanting to sell you software) or don't understand the reality of web design. Ask the opinions of experienced web designers — although some will say you can get by without it, the vast majority will recommend that you learn it.
It usually takes between 20 and 40 minutes to understand the basics. Within a couple of hours you can be making simple but complete websites. If you're willing to spend a little time learning each week for a few months you can gain a very good understanding of how websites work. This investment of time will pay off many times over. Think of it like this — every hour you spend learning this week will save you an hour per month forever. Although the payback starts slowly you end up taking a fraction of the time to get your work done.
This is a common source of confusion but it is actually irrelevant. In most cases you don't need to write HTML code, you just need to understand it.
There's nothing wrong with good WYSIWYG software — it enables you to work more efficiently. As mentioned, the point is not that you should be manually typing HTML code, but that you should understand how HTML works.
An analogy: A nail gun will help you build a house much faster than a hammer, but if you don't know how to construct the framing and where to position the nails, your house is likely to fall down.
Learn how to construct HTML manually, then use WYSIWYG tools to work faster.
Side note: There will always be times when you need to tweak HTML manually. WYSIWYG editors will never be perfect.
You don't have to be. HTML is not a programming language — it's much simpler than that*. On a scale of difficulty it's more like the "secret codes" that children play with. The thing that makes it harder is that there's so much of it to learn, but remember — you don't have to learn it all! Just learn as much as you feel comfortable with, at your own pace.
Do not confuse time-consuming with difficult. HTML is time-consuming to learn, but it is not difficult. Also, you don't need to learn the whole language — even spending a few hours learning the basic structure will help immensely.
No. It is true that other languages are evolving and will probably replace HTML eventually, but HTML will continue to form the basis of virtually all websites for a very long time. In any case, HTML will give you a solid grounding before taking on new languages such as XML.
If your purpose is to create a web page, then sorry, but HTML is the standard. Love it or hate it, it's what the web is made of. If you really want to deliver in another format (e.g. PDF), that's fine. Just be aware that it's not a web page you're making so don't expect it to work like one.
* Technically, HTML is known as a "mark up" language. Hence the name HyperText Markup Language.