Advice for Beginners

Its much better to try and have a project you want to do, and then try and do that project.

Its very easy to just get stuck in the so called ‘tutorial hell’ - watching coding tutorials forever and not know how to apply any of it (though you have to watch some to get an idea of what to do). If you have a clear idea in mind, sometimes you don’t need to do all of the tutorial, just some of it

This really depends on what you want to do. As is the case with most difficult problems, the answer is ‘It depends’.

Nowadays, if you don’t want to go straight to C to learn the fundamentals (which is probably what I would recommend), JavaScript is a good first language; there are lots of CLI tools written in it, it teaches you lots of the basics and you can transition to web if you want.

Eloquent JavaScript is free, and offers nice context.

Otherwise, to get a general understanding of programming and problem solving in general, the CS50 Harvard course is great. The CS50 Beyond course is also worth a mention (goes over more concepts, web programming, git, SQL, React)

For webdev, the quality may vary from project to project, but freecodecamp and theodinproject are worth a mention.

For giant lists of resources, check out project-based-learning and awesome.re.

I will stress this again. I’m listing tutorials here, but the best way to learn is application - make something. You need tutorials to get started and have some context, but your loop should be: Learn something, take notes, apply it, and perhaps to keep yourself accountable - put it out there somewhere (e.g. on Github). Else, you risk just watching tutorials and feeling this sense of accomplishment copying code down without gaining the underlying problem solving skills.