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’.
javascript
Nowadays, if you don’t want to go straight to C
or golang
to learn the fundamentals (which is probably what I would recommend), JavaScript
is a decent enough first language; it teaches you lots of the basics and you can apply some of it to make small websites if you want
Eloquent JavaScript is free pretty good.
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). The missing semester also goes over a bunch of terminal/shell information that is useful.
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.
python
If you want to do data science, AI, or just write little scripts for yourself, python has thousands of libraries that make this pretty easy. I like automate the boring stuff as a introduction, as it actually shows you how to do things you might want to do with python.
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, you can always make these private later!). Else, you risk just watching tutorials and feeling this sense of accomplishment copying code down without gaining the underlying problem solving skills.
I know me saying “just make something” isn’t really good direction, but I don’t know what you’re passionate about. You have to pick something you want to make, and go do it.
See also: After beginner advice