7

According to Wikipedia, CSS is a style sheet language. However, it's pretty much the only such type of language in use (at least from a web developer's perspective).

When trying to categorize CSS as a language or technology (e.g. for a résumé), would it be acceptable to simply call it a domain-specific language? If you don't think it can, why not?

8 Answers8

15

To answer the question of whether CSS is a domain specific language, according to Martin Fowler, it is. In fact he lists it among examples of DSLs.

You do have to understand that talk about DSLs has been going on for a while now, and Wikipedia's more narrow definition has come along much later in the discussion. Understand that Wikipedia is edited by peers who may or may not have a full grasp of what has been discussed so far. It's definition covers the most common uses for DSLs, and why you may want to create one of your own. However, it does not have a complete article. The fact that it omits markup languages completely is an omission. Perhaps the smart doctorates came along later and redrew the lines--but from the beginning markup languages were included with DSLs in early conversations.

Classifying CSS on a Resume

While CSS is a DSL, you don't want to list it under a section of DSLs on your resume. The most common way to reference CSS is to lump it with HTML.

6

It's a language. It's specific to a domain. If you're going to have a "DSL" list on your resume, I don't see why CSS wouldn't count as one.

Rein Henrichs
  • 13,230
5

Is it a DSL? Yes.

Should you put it in your resume as such? No!

You're debating it (since you're asking the question here). If you're debating it, or more importantly, if you think a potential employer will debate it, why bother? What's the upside?

Do you believe that an employer will say "I don't like that he puts DSL and CSS in the same context and I'm going to bring him over so he can convince me?" No. You're just making it more likely to have your resume ignored by the employer.

The only upside is that buzzword scanners will find both CSS and DSL in your resume. Meh.

Extra points for résumé though. Instead of resumé or even my lazy resume.

Julio
  • 1,894
2

No

In software development and domain engineering, a domain-specific language (DSL) is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. [wiki]

CSS is neither programming language nor specification language. CSS does not allow you to express any computations, doesn't have variables, and in fact in current version there are no expressions at all (might change in the future).

vartec
  • 20,846
1

I disagree that CSS can be called a domain specific language.

Normally with a DSL what you would call the "domain" is a business domain, not a technical domain. A DSL defines keywords and constructs that indicate entities specific to the business. The goal is to make it easy for people who are experts in the business domain to use the DSL.

CSS is a declarative language to define styles for marking up documents in HTML, it does not have anything to do with a specific business domain and can therefore not be called a DSL.

Jesper
  • 2,599
1

It's not a general purpose language, so it's easy to categorize it as a domain-specific language.

At the same time, your question is also about whether it makes sense to place it under a heading of domain-specific languages on your resume. Personally, I don't think it makes sense to do that, since even though CSS is a DSL, it's general technology for people that work on websites and web applications.

If you're applying for a job in web development, I would expect you to know CSS and would expect that in a list detailing your knowledge of important web technologies such as HTML5, Javascript, etc.

There are DSLs that would make sense on the resume of a web developer, such as WebDSL. If you know them, I would mention them as DSL on your resume, because they show that you have knowledge of domain-specific technology in addition to your general technical knowledge. (At the same time, most web development teams focus only on the general technology currently, so it probably wouldn't be of importance anyway, but I mention it here as an example of what would make sense in such a section.)

Deckard
  • 3,427
0

Domain Specific Languages are languages created to support a particular set of tasks, as they are performed in a specific domain.

The Cascading Style Sheet language defines the style to use to visualize a document. We can use it to define how an HTML document will appear on the screen or how it will appear when printed.So css is used to perform Specific task which is designing webpage.

AjayGohil
  • 251
0

CSS is (by accident) a Turing complete language.

That feature makes it a DSL.

You might also look into DSSSL, which is a dialect of Scheme to manipulate SGML documents, and is an interesting DSL.

I don't mention DSL in my resume, except when claiming to be a DSL designer and implementor.

You could mention several DSLs in your resume, as an indication that you have the skills to learn another one easily.