CSS is extremely difficult, specially to programmers, because it's a completely different way of thinking. At the same time, it's an extremely elegant language and I wish more programming languages had that same level of elegance.
Peter is the former President of the New Zealand Open Source Society. He is currently working on Business Workflow Automation, and is the core maintainer for Gravity Workflow a GPL workflow engine.
HTML is a markup language. Javascript is a full on language. There was a time when front end development was second class, but today there is no real distinction between front end and back end in terms of skillsets.
They are all programming languages. Some are declarative, some are imperative. A declarative language like CSS doesn't make it "less than" or not "full on".
Peter is the former President of the New Zealand Open Source Society. He is currently working on Business Workflow Automation, and is the core maintainer for Gravity Workflow a GPL workflow engine.
I didn't say CSS is less than. It has its function as a cascading style sheet in the context of HTML. HTML itself is a markup system for content, even if ironically the content these days is delivered through REST API more often than not. Front end development usually involves some kind of framework like Angular, Vue, or React. Each technology has its place. However, if you only know HTML and CSS I don't know how you would fare in a modern web application development environment.
I'm currently trying to self teach myself and if you wouldn't mind answering a beginner's question, what should I learn besides HTML and CSS? I had planned JS as my third lesson.
JS is a good place to go next! You'll be able to use it almost immediately with the HTML/CSS knowledge you have, and, in addition, you'll be able to start doing back-end stuff on Node. If possible, get going with TypeScript -- there's a little extra overhead, but it will (a) help you to make fewer mistakes and (b) set you up for Angular or React (and you can use it effectively with Vue too, and on the backend!)
If your definition of a programming language is "structured text which represents machine instructions", then, yes, HTML and CSS are programming languages. But, instead of imperatively saying "add an element X to parent Y", it's written declaratively as <Y><X></X></Y>. And, since there's no branching instructions in HTML, it's not turning complete.
Funny enough, under the same definition, markdown is also considered a programming language, meaning I just wrote a little program 🙂
HTML & CSS are not programming languages. Also frontend is easy and not time consuming.
Yes - they aren't. To reduce misunderstanding you could translate what these acronyms stand for.
Hyper Text Markup Language and Cascading Style Sheet
Where did you see programming language here?
If they are programming languages then please show me how you will implement factorial algorithm with only HTML and CSS and I will agree with you.
HTML & CSS aren't programming languages. They're computer languages, but not programming languages.
Same with things like JSON, markdown, etc. They're no less valuable for that, and the web wouldn't be the web without them.
I came on to say “CSS is easy”.
I find it harder than learning Haskell or C 😀
CSS is extremely difficult, specially to programmers, because it's a completely different way of thinking. At the same time, it's an extremely elegant language and I wish more programming languages had that same level of elegance.
What makes it a different way of thinking, the declarative nature of the language? Think that’s the right term.
Not only that, but also the non-linear aspect, I'd say.
They are not programming languages. Front end is easy as long as it’s not too complex. After that, it becomes a challenge indeed.
And if my grandma had wheels she would have been a bike.
HTML is a markup language. Javascript is a full on language. There was a time when front end development was second class, but today there is no real distinction between front end and back end in terms of skillsets.
They are all programming languages. Some are declarative, some are imperative. A declarative language like CSS doesn't make it "less than" or not "full on".
I didn't say CSS is less than. It has its function as a cascading style sheet in the context of HTML. HTML itself is a markup system for content, even if ironically the content these days is delivered through REST API more often than not. Front end development usually involves some kind of framework like Angular, Vue, or React. Each technology has its place. However, if you only know HTML and CSS I don't know how you would fare in a modern web application development environment.
I'm currently trying to self teach myself and if you wouldn't mind answering a beginner's question, what should I learn besides HTML and CSS? I had planned JS as my third lesson.
JS is a good place to go next! You'll be able to use it almost immediately with the HTML/CSS knowledge you have, and, in addition, you'll be able to start doing back-end stuff on Node. If possible, get going with TypeScript -- there's a little extra overhead, but it will (a) help you to make fewer mistakes and (b) set you up for Angular or React (and you can use it effectively with Vue too, and on the backend!)
Just dropping into add that you can solve FizzBuzz with just HTML and CSS.
If your definition of a programming language is "structured text which represents machine instructions", then, yes, HTML and CSS are programming languages. But, instead of imperatively saying "add an element X to parent Y", it's written declaratively as
<Y><X></X></Y>
. And, since there's no branching instructions in HTML, it's not turning complete.Funny enough, under the same definition, markdown is also considered a programming language, meaning I just wrote a little program 🙂
HTML and CSS are not programming languages. Front end is, however, just as time consuming as back-end.