HTML, CSS1, CSS2, DHTML, CGI, JAVA, JAVASCRIPT, ASP, SSI, SGML, XML, DOM, PERL, ActiveX, VBScript, JScript...what the hell do they means? I'm getting confused!!! Ok, you are absolutely right, too many acronyms around, so let's see...(most used languages are marked with the '*' symbol. The acronyms without the '*' symbol are just standards or logical models, so you have not to learn them. Finally, please notice this is my personal valuation only!!!!).SGML
SGML stands for Standard Generalized Markup Language. It is 'an international standard for the definition of device-independent, system-independent methods of representing texts in electronic form' (look at the W3C site for more information). SGML is a metalanguage (a language used to describe other languages) that describe markup languages (such as HTML or XML). Don't worry: if you just want to write web pages, you have not to know this language...
HTML
**
HTML stands for HyperText Markup Language. It is just one of existing markup languages (such as XML for example). This is the only language you have to know. You can learn it in a couple of days and then you can write web pages. By means of HTML you can tell to all browsers how the have to display your page.
CSS1 **
CSS1 stands for Cascading Style Sheet level 1. It is 'a simple mechanism that allows authors and readers to attach style (e.g. fonts, colors and spacing) to HTML documents' (look at the W3C site for more information). Why 'cascading'? Because you can add more styles to your page. For example you can define the general style of your site and a more specific style for some pages. In other words you can mix them together. If you want to build dynamic and interactive pages, you have to learn CSS1. Well, CSS2 has just came out, but all valid CSS1 style sheets are valid CSS2 style sheets (there are only few exceptions). So, why CSS2? Well, because 'CSS2 supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. This specification also supports content positioning, downloadable fonts, table layout, features for internationalization, automatic counters and numbering, and some properties related to user interface' (look at the W3C site for more information). You have to learn CSS1 if you want to use all possibilities offered by DHTML. Notice that while I'm writing this page, THERE ARE NO browsers which support CSS2, while CSS1 is supported (not completely) by MSIE4 and N4 only.
JavaScript
**
Javascript is a script language developed by Netscape Communication Corporation. You can use JavaScript to build windows, handle cookies, verify contents' forms, and much much more. Your fantasy is the only limit of JavaScript. Javascript's statements are embedded in an HTML page. To build web pages containing JavaScript you need nothing: just your favorite text editor (the same you use to write your web pages).
JScript and VBScript *
If JavaScript is a proprietary language developed by Netscape Communication Corporation, JScript it the corresponding proprietary language developed by Microsoft. You can think about JScript as a JavaScript dialect. VBscript is another proprietary language developed by Microsoft. Anyway, as far as I know, most of web pages which contains a script language, use JavaScript.
DHTML **
DHTML stands for Dynamic HyperText Markup Language. It is a mix of: HTML4, CSS1 and a script language such as JavaScript. To use DHTML you have to know the HTML release 4, the CSS level 1 and JavaScript. By means of DHTML you can build dynamic and interactive pages. By means of DHTML you can manipulate any page element at any time. If you use simple HTML, making simple updates, such as changing the color of text after a Web page loads, is possible reloading the page only. On the contrary, if you use DHTML, you can change any element of the page (e.g. text, colors or images) on the fly, without having to reload the page. DHTML is based on the application programming interface called DOM.
DOM
DOM stands for Document Object Model. It is an application programming interface (API) for HTML and XML documents defined by W3C. It 'defines the logical structure of documents and the way a document is accessed and manipulated' (look at the W3C site for more information). According to the DOM structure, a web page is a set of objects. You can handle objects by means of a script language such as JavaScript for example (but DOM is designed to be used with any programming language). DOM is just a logical model to describe the document structure, so you have not to learn it to build your web pages!
JAVA
*
JAVA is a real object oriented programming language. You can develop real applications by means of JAVA. For example you could develop a chat program or a search engine. It is a multiplatform language (operating systems independent) and it may be executed inside of all operating systems which have a Java Virtual Machine (also outside of a web browser). To develop JAVA based application you need a developing environment such as the JDK (Java Developing Kit). You must be a programmer to use it, in fact JAVA isn't so easy as JavaScript.
CGI
CGI stands for Commom Gateway Interface. A CGI script is a piece of software that acts as an interface between one client, one web server, the operating system, the hardware peripherals or even other servers. For example, suppose you want to offer a service by means of which visitors of your site can look up in a specific database. Suppose that you want to use a web interface (a form for example) to perform queries. Well you have to write a CGI script.
PERL
PERL stands for Practical Extraction and Reporting Language. It is just the most used script language to write CGI applications. If you want to write a CGI script, well, you have to learn it.
SSI **
SSI stands for Server Side Include. It is mechanism by means of which a piece of code placed in your HTML page lets the server know that it has to include something to the HTML itself. So, when the server - configured to handle SSI directives - receive a document request from a client (when you click on a link, you are actually requesting a document to the server specified in that link) containing a SSI directive, it performs something you indicated by means of that directive, and finally it places the results in your page at the point of invocation. For example you could add the current date to your web pages by means of this code:
<!--#echo var="DATE_LOCAL"-->.
ASP *
ASP stands for Active Server Pages. It is a server-side scripting environment. In other words you can put a script code in your HTML pages and the server will run it. Notice that ASP works on Microsoft IIS servers only. So all other servers (such as the widely used Apache) don't know ASP code and can't run it. If you are running a Microsoft IIS server you can use ASP and all browsers will be able to see your pages (in fact the server runs the code and not the browser).
ActiveX *
ActiveX is another Microsoft's idea. ActiveX controls are software components developed using a variety of programming languages such as C, C++ or Visual Basic. ActiveX controls can be used as prefabricated components to create custom applications. In other words you could use a prefabricated ActiveX control even if you are not a programmer. Great, but notice that: MSIE browser only can run ActiveX controls. Well, Netscape Navigator can run it, of course, but it needs a special plug-ins. But the worst thing is: you have to use the Windows95/98/NT operating systems to see ActiveX control working! In other words if you are using, say Netscape Navigator on Linux for example, well I think it's a very difficult bet (read 'impossible') to see an ActiveX control working on your machine.
So?
Well, as you see, the only thing you really have to know now (if you want to build a simple, accessible to everyone web page) is the HTML language (version 2)...Anyway the Internet is a so fast world, and things change quickly, too much quickly...so I suggest you: be up-to-date! Today many visitors ask me a DHTML course or a CSS2 course (one of them said: 'what the hell you teach CSS1? Don't you know already exist CSS2?'), but obviously they don't know that CSS1 is scarcely supported by browsers not less than version 4, that CSS2 currently is not supported at all by any browser and that the 2 most used browsers agree with the CSS-P standard (in other words they don't support CSS1 completely). In addition JavaScript is not supported by all browser *completely*, while VBscript for example, is supported by MSIE only...What about WAP Forum standard? It is the Wireless Access Protocol and it is a protocol defined to develop web pages displayable by wireless devices (such as cellular phones) and it uses the WML language (Wireless Markup Language). It seems that protocol will be really widespread. So: is it worth to write now whole sites using CSS2? Who could be read those pages? Maybe we had better wait for a while...