Front end web development is much bigger than HTML.
Here are the programming languages you should learn to stay ahead of the curve.
The path to a career in front end web development typically starts in the same three places: HTML, CSS and JavaScript. Here's why you should learn them, and your options to avoid them.
1. HTML
We know, we know. HTML isn't a programming language. It's a markup language. It has no particular programming logic, it can't carry out tasks, it can't produce an output. We get it.
Still, HTML is an essential starting point for front end developers, so we'd be remiss not to include it.
Why developers love it
HTML is the first port of call for most front end developers. It's a vital skill, as it determines much of what the user will actually see on the web page. HTML provides the bones for everything a website will end up being.
HTML is also incredibly simple to learn. As an entry point to front end development, it's about as non-threatening as you can get. Almost anyone can pick up decent proficiency with the markup language in just a few days.
Why developers hate it
You actually won't find much straight up hate for HTML. After all, what is there to hate? It's not a programming language, so it's pretty difficult to mess up. And even if you do mess up some HTML, it's not going to irretrievably break anything.
Developers don't hate HTML so much as they disregard it. It's a ticket for entry into the front end dev world, not a destination.
Featured Work in Website Design
2. CSS
What's wrong with us? Two languages in a row that aren't actually programming languages? What kind of screwy list is this?
Again, we're well aware that CSS isn't a programming language. It's a styling markup to determine the appearance of HTML elements on a page. But again, it's an essential skill for front end developers. HTML gives you the structure of a site, while CSS gives it some mild pizazz.
Why developers love it
Without CSS, web pages would be unformatted blocks of text with some bold and italics here and there. CSS provides the visual spice that makes the web experience fun and memorable. And tools like
Sass push the boundaries of CSS to give even more visual flair to sites. It might not be a programming language, but it is a great tool.
Like CSS, HTML is very easy to learn. You can pick it up in a few days and start styling your site straightaway.
Why developers hate it
CSS is incredibly fiddly. Most developers have had the experience of writing line upon line of CSS code to apply beautiful styling to a page element, only to have it spit out something that looks worse than HTML. It's easy to mess up, and while it won't actually break your site, it will make it look weird.
Add to this the fact that adding CSS is a laborious process. Precompilers like Sass have taken a lot of pain out of CSS, but in the bad old days a design change meant changing every instance of the design element by hand. And, while CSS is easy to learn, the lack of programming logic means you're mostly just memorizing code snippets rather than learning why something works.
3. JavaScript
Finally! An actual programming language in our list of programming languages!
If HTML determines how a site is structured and CSS determines how a site looks, JavaScript determines what it does. JavaScript is your page's leap from a LiveJournal blog (remember those?) to a functioning, interactive experience for users. And like HTML and CSS, it's nearly imperative to know JavaScript as a front end dev.
Why people love it
JavaScript runs the web. It is the only programming language web browsers can understand, so everything that happens on a website has to be powered by JS at some level. This ubiquity means that JavaScript is incredibly versatile. It can be used on the front end, on the back end, for mobile apps, for Internet of Things (IoT) devices. For just about anything.
Like its front end brethren, JavaScript is easy to learn. Moreover, frameworks like AngularJS, React and Vue.js are bringing new functionality and ease of use to JavaScript. There's a reason JavaScript remains the most common programming language in the world.
Why people hate it
The reason JavaScript is the most common programming language in the world, its detractors would argue, is nothing more than apathy. Believe it or not, it is possible to program the front end of web applications using other languages, but most devs just default to JavaScript or using a JS framework to address the language's numerous shortcomings.
The semantics in JavaScript are also bizarre and confusing compared to many other programming languages. The lack of classes and the presence of objects, functions and variables, not to mention the strange, incestuous relationship between the three, means that JavaScript is not very natural to read.
But the biggest reason to hate JavaScript as a front end web developer is that it's forced on you. Browsers only run JavaScript, so you're not going to make it through your career as a front end dev avoiding the language completely.
Freelance Website Design Experts
4. Ruby
A caveat here: when working with Ruby on the front end, you'll actually be working with Ruby on Rails, a Ruby framework.
Ruby on Rails can lead to a much richer front end user experience. You can build elements like nested forms, email capture, pagination and a variety of styling to make your site look beautiful and function well.
Why developers love it
As a programming language, Ruby is simple, compact and natural. It's readable and logical, and helps speed up your coding with its DRY, or "Don't Repeat Yourself" philosophy.
As a framework, Rails helps eliminate repetitive tasks and drudgery. Plus, its rich libraries provide a wide array of great functionality for your site.
Why developers hate it
Some developers dislike Ruby because of its casual, devil-may-care approach to coding that means there are sometimes multiple ways to achieve the same outcome, leading to confusion.
Ironically, it's the same free spiritedness of Ruby that makes Rails a chore for some devs. Because Rails handholds developers through Ruby, it strips away some of the freedom that made Ruby a joy for many programmers. Among their detractors, Ruby and Rails are sort of damned if they do and damned if they don't.
5. Dart
Dart might be the best programming language no one is using, but that's likely to change with Google's release of
Flutter.
Dart was primarily used only by Google before the release of Flutter. But Flutter means the language has gotten much more attention, and it can be used to build progressive web apps (PWAs) that function at near-native speeds. If you want to build a truly responsive website, Dart is a great solution.
Why developers love it
Dart's syntax is clear and natural. It has a lot of similarities to Java, which makes it easy for Java developers to pick up. Dart is also much more type safe than JavaScript, as it can be strongly or weakly typed and picks up most errors at compiling time.
Why developers hate it
Most of the distrust of Dart comes from its rarity as a language. There simply aren't a lot of Dart programmers out there, which means much less documentation than JavaScript and much less support from the community. Try asking a Dart question on Stack Overflow and listen to the chorus of crickets you get as a response.
Developers are also wary of Dart because, since it was built as a JavaScript replacement, it was built with a lot of the rough edges inherent as JavaScript. And Dart provides you with two options for web development: compile your code to JS or settle for your web application only working properly in Chrome.
The caveat to these concerns is, of course, Flutter. Flutter has the web development community very excited, so it's possible we could see Dart emerge from the shadows to be the JavaScript killer it was envisioned as.
Featured Work in Website Design