Choosing Your First Programming Language
Tags: javascript, codenewbie, firstyearincode, html
Published: 2019-08-23 18:37:41

---
description: Learning to program is hard. It can be a little easier if you pick the right language.
---



## And Why I Choose JavaScript, HTML/CSS

_I am looking for honest feedback about my writing, please leave anonymous feedback [here](https://grow-me.level.codes/f/1569649229605) or comment below ❤️_

---

Learning how to program is hard. It took me 3 years of coding every day, for hours, until I considered myself a true programmer. Since my coding journey began in university I had to use whatever programming language the school instructed us to. My very first program was written in Java. I do like Java, and it has come a long way from when I first learned it, but in my opinion it was a terrible place to start. Let me explain to you what I would have looked for and what language I would choose to start with now.

Having experienced many different languages, all in different contexts, here is my checklist for picking your first language (I ranked them from the perspective of someone wanting to get into the programming field as quick as possible, other goals might have a different order):

1. Minimal time to feedback
2. Low barrier to entry
3. Available resources
4. Market potential


## 1. Minimal Time to Feedback

> How long until I know what I did worked, or not?

When _I_ learn something, I just have to do it. Which means that doing it has to be simple. When I was in my 3rd year of uni I built a deck for a friend. I had never built a deck alone before, so I was going to learn - on the job. It took about 2 weeks to build and 2 weeks to figure out if this deck was going to work or not. That is too long of a feedback loop when you are learning something. Don't worry the deck will last, but I am no carpenter 😂.

When it comes to programming, or learning in general, you will want to see two kinds of feedback:

* It worked! Hooray 🎉
* It didn't work. 😭

Whichever kind you are experiencing, when you are learning you want to see it instantly. The faster you can try things, the more things you can try, the more you will learn. For me nothing matches the speed of the feedback delivered by JavaScript or HTML/CSS. One click of a button and you get instant visual feedback. This makes trying less of an effort, so you can try more and worry less about whether or not it is correct. I learned HTML and CSS like that, just by doing it.

## 2. Low Barrier to Entry

> How easily can I try something?

Like I mentioned before, when I learn I just want to do. Which makes learning somethings quite difficult. For example, if I wanted to learn how to make native iOS apps. I would first need an Apple computer, which means I would need to be rich 😂. Even if I had that I would have to use their specific tool. Really there is a single way I could possibly learn to develop native apps for iOS. HTML/CSS or JavaScript you just need a computer, any computer. You can code a full web application, even without connection to the internet! Probably one of the simplest programs you could ever write, Hello World, using HTML:

```html
<h1>Hello dev.to!</h1>
```

You don't need to install anything! You can just double click on that file and BOOM 💥 your first website! Similar for JavaScript! In that same file:

```html
<h1>Hello dev.to!</h1>

<script>
  console.log('Hello dev.to!');
</script>
```

Without installing a single thing and just using a computer you have done the _"Hello World"_ program for 2 languages in 2 minutes.

For more experienced web developers, we also need to try things. Our applications aren't as simple as opening a single file. Don't fret, JavaScript, HTML/CSS got you covered. There are so many places you can go, on the internet, that can allow you to program something complex with such little effort! Two of my favourites that I frequent:

- https://codepen.io
- https://codesandbox.io

These tools can also be a great place to learn new things, since a lot of other peoples runnable code is there for you! Let us get a little crazy now. [NodeJS](https://nodejs.org) is JavaScript for the server, no web browser involved. Let me give you a scenario; You are on a plane, 30 000 ft above the earth, stuck in one seat for 10 hours, no internet. YOU CAN STILL PROGRAM! I have setup my android phone with an app called [termux](https://termux.com/) and a bluetooth keyboard and I can write and run some JavaScript directly on my phone 🤯.

That last example is a little outlandish, and they have internet on planes now I am just way too cheap to pay for it. BUT, the point still stands, it takes very little and it is so easy to program something in JavaScript or HTML/CSS. Nothing can stop you from learning.

## 3. Available Resources

> How much information exists for me to learn?

Another extremely import part of learning - how hard is it to get the resources required to learn. When I was in uni, and learning what is now one of my favourite languages, C I was hard pressed to find any tutorials. That is most definitely not the case for JavaScript or HTML/CSS. There are so many resources out there it is possible for you to become a web developer on your own, without any professional guidance! That is an amazing place to be, starting with a language so many other people are knowledgable about. You can definitely teach yourself how to program in C, but it will take much longer and you won't have the confidence in your skills. You can learn JavaScript and HTML/CSS from some of the most talented people in the world, that should give you a lot of confidence.

## 4. Market Potential

> Are my skills going to get me an interview?

There are a couple of reasons people want to learn to program, one of the reasons I have found to be most popular is to get a job. That means that understanding the demand for a particular programming language is important. We can rely on numbers for this one, which makes me super happy. JavaScript, HTML/CSS is on almost every single website that exists on this plant. There are about 1.94 billion websites. Your skills will be needed for a long time if you know JavaScript/HTML/CSS. If we look to the future, you should also feel pretty comfortable. Even if we get more specific and look at two of the more popular JavaScript libraries React and Vue, combined they power approximately 600, 000 sites. That alone will keep a lot of people busy for many years. Not really sure how many jobs are available for you if you choose to learn C.

## Conclusion

If you are thinking of getting into programming you couldn't have picked a better time. The amount of opportunity and resources available to you through the internet is overwhelming. Whatever language you choose to learn, it is possible to do so on your own! If I had to choose which language, languages really, to learn JavaScript, HTML and CSS would top my list. They are the perfect place to start and you can get a full, exciting, and fulfilling career out of them.

---

I would love to do a follow up post about what is missing from the internet of learning resources and how the internet is empowering people to take education into their own hands. Let me know if you would be interested in that in the comments or [tweet at me](https://twitter.com/zealigan)!

_I am looking for honest feedback about my writing, please leave anonymous feedback [here](https://grow-me.level.codes/f/1569649229605) or comment below ❤️_