A few students have emailed me asking which languages to learn if they want to master web development.

To master development, you will have to learn several different languages paradigms: functional, imperative, declarative and object-oriented. But if you had to start with one:

Learn JavaScript

The web is a shifting landscape with new things coming out every 3-6 months, but JavaScript is here to stay.

JavaScript (hereafter "JS") is pretty much the worst language ever designed (in two weeks), but it is the language of the Web because it runs in every browser. If you want your code to run everywhere, you need to learn JS.

It will take you a year to get productive and ten years to become good, but you will be able to make something cool in a few days or even hours if you follow the right tutorials.

Start with this Firebase Tutorial >

Firebase is a real-time document store with a native JavaScript driver that lets you store data on the Internet without setting up servers. It has downsides, but it will get you going the quickest. Firebase is great for prototyping new products.

Myself, I spend most of my time writing Clojure and ClojureScript (which compiles down to JS), but I would not recommend Clojure as a first language because of the awful stack traces and the immature tooling.

If you are more interested in the business side of things, refer to my post on startups.