There are so many programming languages, so many platforms and so many ways to learn. Even knowing how to get started can be stressful.
“What if I choose the wrong language?”
“What if it doesn’t do what I need it to?”
The truth is there is no wrong first language. You will hear strong voices in favour or against every language under the digital sun, most of them will have valid points however, all of them will miss one key thing.
Learning to program is different from learning a programming language.
Programming languages are a tool that enable you to learn how to write code and solve problems. Most languages share similar underlying concepts, so concepts learned with one will apply to most of the others.
You don’t want to hear me waffle on about ideological aspects of programming vs programming languages though, you want an answer!
Learn Javascript first.
It’s the only language that is natively supported in web browsers, it can run on servers, it can run locally on your computer and you can even build mobile applications for iOS and Android with it. At this point, Javascript is the universal language. So, as a starting point, it’s perfect.
Once you have a good understanding of Javascript you can then move on to other languages that are more specific, if you want.
Your first language is not your last language, no language is wrong but Javascript has the broadest application.
Top comments (19)
JS is a good start. Beginners should also in parallel learn the programming concepts, not just blindly learn language syntax. For example, naming conventions, clean code, OOP, etc. As an example, see devopedia.org/object-oriented-prog...
Yes, but one step after the other. For a small project, bad code may serve well. If you get in trouble with your spaghetti, it´s time to think about concepts.
Totally, the language is a tool to learn programming 😀
Javascript has made a good progress over the last years, so it is definitively an option. As mentioned is is freely available in each browser. As JS has no strong type checking, errors will only be detected on runtime, so a good debugger is very important. Luckily VScode provides excellent tools for that.
Using OO-concepts is important for advanced programmers, that need to make their code more maintainable. I often enough started a project using simple functions. After some time, groups of functions became visible, that shared the same task. Often this was the point to build functional units, which could be better represented as classes.
A programming paradigm is a support, not a religion. If you learn about OO, maybe some day you will find the concept helpful to make your life easier. If it does not help you, why use it? I always felt that code should grow in a natural way. The more effort you pay to build well designed classes should pay back very soom.
Before I programmed professionally this is how I coded and it was more fun. Thinking about it this is how i still code on side projects
Ok, maybe it is not that anachistic. But even on a professional project you you will reach a point where the codebase grows too large and you need to rethink the structure of the whole project.
The problem in learning JavaScript first is about the OO paradigm. It's not so common doing things that way in JS but I agree with you that is the most valuable first step. I also would advice to start learning JS + some strongly typed language so that you can take the most of most used things in programming world. I started only with JavaScript but if I knew how I would need to know about things related to OO and stuff, I'd start learning some language related to it from the beginning.
That's a good idea, perhaps once comfortable with syntax and program flow have a play with TS. I learned C first so had to worry about types but I just don't think that's a good starting point today unlesss you are following along with something like CS50.net (which is still my number one recomendation to people)
Perhaps that is the wrong question to ask:
Quote
Quote:
This is interesting, although people often need quick feedback when learning something new (especially when learning on their own) and trying to run a program and getting immediate feedback will keep them moving forward. Perhaps reading these alongside learning would be a good mix
It's not universally popular with learners given their general impatience to get going and the common assumption that the skill of designing programs can be acquired as a byproduct of learning a programming language.
Obviously this group of educators and researchers believe that starting with a "commercial" language can have downsides for many - and students often only appreciate this after years of practice and learning languages across multiple paradigms (even when moving from imperative to relational).
FYI:
we run into a lot of problems while learning new language, we get stuck or cant find the solution easily so if you are in college, learn the language that is most used by your fellow students, it will be easier to get help
if you are starting on your own, learn the language that has a big community e.g. Python, JavaScript, Java, C++ etc...
if you are looking for a job, learn the language that is popular/offers good salary among the compines in your area
I think JS is probably the most likely langague to meet that criteria but if you work in an area with lots of iOS agencies then Swift would be a better fit most likely
i have learnt c and c++ first but if you will learn c++ or javascript first it will be great start
My first language was C, nearly 15 years ago!
Rust!has a bright future in the next 10 years.👌
I agree I just don't think it's broad enough right now to be a first language 😀
Learn Java first.. Everything else will be much easier...
...and the mount everest is the best place to start climbing...