I Want To Learn To Code…But There Are So Many Languages…
Now that I have officially been a developer for a month :) I get asked about about learning how to code a lot more. For a lot of people, learning to code is something that seems just beyond their reach. Maybe it has come up at work, maybe it is cause they have a project they need to complete, maybe learning to code is simply a curiosity.
As a person who tried for years to teach myself, I can understand how frustrating and overwhelming it can be to figure out how to get started. Especially when your background is nowhere close to computer science.
So I wanted to address some of the questions that I get about programming languages. The goal is to impart some of what I have learned so far, with hopes that it will help demystify this part of the learning to code process.
What Language Should I Start With?
This is a question I get a lot. And this is a question that I had a lot. If you search the internet you will get a combination of complex answers about which language is best for beginners and why, all the way to…it doesn’t matter which language, just start. So for this I a fairly complex response of my own cause I believe it depends (see, I sound like a developer don’t I!).
If you are curious about coding, I would start with whatever language you can find the most support for. And by support I mean, community to help you with that language. Coding is tedious if you don’t have an end goal in mind. But if you have people that can help walk you through the process and show you want is on the other side, that is a good place to start. It also means that you will will have a better chance of growing to learn more about languages in general, and why there are so many, what you do with them, etc…
Basically…find something that resonates with you, and then work backwards to learn how coding helps you to get where you want to go.
Do You Have To Be Super Smart To Understand Code?
No, you don’t. You can read, or else you wouldn’t be able to read this, and you don’t have to be super smart to do it. It is a means of communication that you learned a long time ago and practice on a daily basis. Computers are dumb, seriously. Programming languages are a means of communicating what you want the computer to do.That is what you do when you learn to code, you practice on a daily basis and it gets easier and easier to communicate what you want the computer to do.
Do I Have To Master A Language Before Learning Another?
No, languages are ways to communicate to a computer. And they all have their reasons for why they are they way they are. But don’t let the amount of them freak you out. Don’t let the complexity of them freak you out. Just learn how to get things done. Cause ultimately that is why you code, to get things done, to make things happened, to create something. Think of a toolbox with tools in it. If you want to build a house, or fix the kitchen sink, you may use some of the same tools to do both things. But you may also use others that better suit one tasks, versus another. That is what the languages are for. They are the tools that allow you to get the computer to do certain things. So you can learn what you need in order to get something done and keep growing from there.
I know its hard out there, googling on your own to figure out what to do first, next, etc. But there is a path out there, you just have to put yourself on it. I think that learning to code is just as important as learning to read, write and do basic math. It has become the invisible foundation that our whole society is built on. So don’t be discouraged by how big and complicated it may seem. Start small, really small. Make a website for yourself, with your name, and your projects. Link to them. Or, take a project you have worked on at work, and make a digital companion. Do something so that you have a seed to plant for your future growth. But whatever you choose, don’t be paralyzed by choices in language. Like I said, it is just a means of communication.
And isn’t it better to be able to speak to people in one language, instead of not having the ability to communicate at all?