Are HTML & CSS programming languages?




HTML & CSS is great. It defines the structure of webpages and it determines how data is displayed online with beautiful colors, fonts etc. What you’re looking at right now is HTML code, read and interpreted by your browser. But this doesn’t make HTML & CSS a programming language.

A Markup Language

HTML is a type of markup language. It was modelled on SGML (Standard Generalized Markup Language), which is a declarative standard for describing document structure and attributes. It encapsulates, or “marks up” data within HTML with predefined tags, which define the data and describe its purpose on the webpage. The web browser then reads the HTML, which tells it things like which parts are headings, which parts are paragraphs, which parts are links, etc. The HTML describes the data to the browser, and the browser then displays the data accordingly.
That’s how the browser interprets that

Style the markup

CSS is a style language (Cascading Style Sheet). CSS’ purpose is to style the markup for a web browser. CSS is also declarative in nature. CSS is used to define styles for your web pages, including the design, layout and variations in display for different devices and screen sizes. 

This is a heading

This is a paragraph, and
However, this is not programming. The above is not an example of an executable script. 

Not a Programming Language

Programming languages have functional purposes. HTML, as a markup language doesn’t really “do” anything in the sense that a programming language does. HTML contains no programming logic. It doesn’t have common conditional statements such as If/Else. It can’t evaluate expressions or do any math. It doesn’t handle events or carry out tasks. You can’t declare variables and you can’t write functions. It doesn’t modify or manipulate data in any way. HTML can’t take input and produce output. Think of it this way: you can’t compute the sum of 2 + 2 in HTML; that’s not what it’s for. This is because HTML is not a programming language.

In my opinion, and this is my personal take - you have these types of languages:
1.) Web (HTML, CSS etc.)
2.) Scripting (Some crossover with web, e.g: JavaScript, but also stuff like Python that borders on programming)
4.) Programming (C-Sharp, Visual Basic, C++ etc.)
5.) Assembly
6.) Binary

But don't let this put you off. Web languages (though 'mostly' simplistic) are a great introduction to coding.
Oh, and you also have niche languages, such as 'query languages' (like XPath or Regex) which sit off to the side, and are used by other languages.

What do you call someone who writes in these languages?

Because I tend to be pedantic, I call the act of writing HTML or CSS “coding” or “developing”. So, one who writes these languages (And only these languages) might be a designer, coder, or developer.

Unfortunately, coding only in HTML & CSS doesn’t make you a programmer. In fact, HTML & CSS really shines when you use it in conjunction with an actual programming language, such as when using a web framework. That’s when you can start serving up dynamically created web pages and database applications.

But don’t worry, even with pure HTML & CSS, you’re still a coder. You’re writing lines of code. You’re essentially codifying information for the web with style. So while you might not want to put HTML & CSS on the “Programming Languages” part of your resume, you should definitely have it under “Skills”, or simply “Languages”.
Knowledge of web page structure is a valuable asset for anyone to have, in IT as well as in other fields, and I’m definitely not trying to discredit anyone’s knowledge on the awesomeness that is HTML & CSS. These languages are core tenet of front end web development and is obviously a major aspect of what the user winds up seeing on their computer screen. 


Still think HTML & CSS are programming languages? Think “programming” and “coding” is all just semantics? Let me know in the comments.😃


HAPPY CODING💓

Comments

Post a Comment