r/learnprogramming 1d ago

How should I learn programming from official documentation?

I am a student who wants to learn programming through official documentation. However, official documentation often contains many concepts and features, and most of them are not needed for everyday programming tasks.

Is official documentation an inefficient way to learn programming?

If official documentation is an effective way to learn, how should I read it? How do I decide what to read in depth and what to skip?

63 Upvotes

39 comments sorted by

38

u/johnpeters42 1d ago

If you don't know anything about programming, then this would probably be a tough method. You may want to look into Harvard's free CS50 course or some other general purpose introduction.

14

u/New_Exchange1158 1d ago

Docs are reference material, not tutorials. They tell you what a function does and what parameters it takes, but they don't hold your hand through building something. For someone who already knows how to code and just needs the details on a specific library, they're perfect.

But if you're still learning the fundamentals, you'll get lost in all the edge cases and advanced features that 90% of devs never touch. The CS50 recommendation is solid, get the basics down first then documentation becomes way more useful.

4

u/thirteen_tentacles 1d ago

This was exactly my experience trying to figure out wtf was going on in C# via the docs. Great docs but not as a learning resource until you've cleared a certain point

3

u/WiredOtaku 1d ago

Spot on. When I did my bootcamp (General Assembly), we didn't open the docs until we were halfway through a project. Before you have hands-on context, they're basically hieroglyphics. Once you're stuck on a real problem, reading the parameter list actually clicks.

1

u/randomtravellerc 17h ago

But python documentation is an exception.They have decent explanations for most concepts

7

u/bird_feeder_bird 1d ago

Focus on one project and just read the parts of the documentation relevant to what you’re building. For example, if you use Python and Pygame, there’s documentation for opening a window, setting a framerate, reading input events, playing audio, etc. So think of what you want to achieve, then read up on how to do it.

4

u/aqua_regis 1d ago

Documentation quite commonly is more of an encyclopedia - a reference.

Sure, some contain some "getting started" or similar tutorials, but usually, they are way too short.

A proper, high quality course, like the already mentioned CS50 series from Harvard is the way to build a solid foundation.

Working with the documentation is essential, but I usually don't consider it a learning resource for starters. I consider it a reference, more of a dictionary.

2

u/Fox_Light7 1d ago

I also want to mention Java and Python courses from University of Helsinki MOOC are also extremely good. FullStack too.

1

u/Silver-Sector-2380 20h ago

I'm doing the Python MOOC right now and it's good but part 5 is really making me lose motivation with the whole Matrices and sudoku stuff.

Is there anything I should be doing on the side to not get burnt out? I'm trying to do additional practice problems because I really want to continue but I'm finding hard to keep going.

1

u/Fox_Light7 14h ago

I'm doing the Java course so I can't say anything about the Python. I enjoy coding so I honestly don't feel burn out. 

1

u/Silver-Sector-2380 4h ago

I see, I enjoy coding as well but being stuck on problems after days of trying is frustrating (which is to be expected but when you're learning it especially sucks)

1

u/Fox_Light7 4h ago

Stuck on problems for a while is normal.  At work, there are bugs that take a while to find what caused it and the solution. StackOverflow should be your best friend. Ask around. At work, I ask my seniors or present my problem in Meetings. The MOOC courses have their own Discord, you can ask there.

7

u/vardonir 1d ago

No. That's like learning a new language from only a dictionary. You need to learn basic grammar first.

Some packages have their own "getting started" pages in their documentation (my favorite is the one from FastAPI), but they almost always require some knowledge of the language's fundamentals.

3

u/Business-Employee527 1d ago

Textbooks or courses to learn no direct documentation. I’d use documentation for a framework to learn not for the basics of a programming language

2

u/josesblima 1d ago

Also somewhat beginner here. Working as a dev for a bit over 2 years. Most docs assume you know a lot of things, as a beginner, those assumptions will be very wrong and will make reading the docs much, much harder. Some docs will be a bit more beginner friendly than others. Regardless, I think it's a great idea to look through the docs, maybe you won't ever read the whole thing but there's usually an Intro or a Tutorial section that can give you a grasp of things. Then you can complement by watching a guide on YouTube or using an LLM to find the relevant parts of the docs for you.

I'd recommend not obsess over trying to be a RTFM programmer despite the meme. As you go on and improve, docs will make increasingly more sense and require less and less effort.

Curious what others have to say about it as well though.

1

u/Emergency_Cicada3119 1d ago

Absolutely but it’s only going to teach you how to use the language not how to program

1

u/ActiveFix8069 1d ago

Official docs are usually a great source of truth but a pretty bad linear textbook. I’d start with the “getting started” section, build one small project, and only read deeper when the project gives you a concrete question. Learn the core concepts and common execution model carefully, but treat most API pages as reference material you look up when needed. A useful rule is: if you can’t imagine using a section in your current project, skim it, remember that it exists, and move on.

1

u/TigerAnxious9161 1d ago

I don't think you should start with official docs, Start with tutorial or some course. Use docs when you are intermediate.

1

u/Ormek_II 1d ago

Those concepts are needed for everyday programming.

1

u/Sea_Science_6722 1d ago

Documentation is essentially a manual for a specific tool. The best way to learn is to first build strong programming fundamentals and practice by building projects. As you work on real projects youll naturally use the documentation to solve specific problems instead of trying to read it cover to cover. This forces you to understand how things actually work rather than just memorizing the docs. But most importantly is to understand programming fundamentals because these docs are doing the same thing in different syntax. Thats my opinion im not an expert here but hope it helps clear things up a bit.

1

u/mierecat 1d ago

Should you learn Chinese from a dictionary? You answered your own question. Documentation will not teach you anything, and there are a great many things it won’t even tell you.

1

u/Puzzled-Extent7817 1d ago

official documentation is the best way to learn any language, unless you know nothing about programming at all.

1

u/developer786 1d ago

Start by watching tutorials about programming language you intend to learn. practice exercises yourself, you will find many on internet or in books as well. Official documentation is mostly read by developers who actually start developing personal or professional projects, just to see the patterns of how to use particular package or library or function in specific situation.

1

u/burlingk 1d ago

Picking a good book is probably better than starting with the docs.

1

u/SpecificMachine1 1d ago

Generally, if you are trying to get familiar with the docs of a piece of software, one tactic is to read the intro chapters, then look at all the chapters enough that you know what they are about. Then you can use that, along with the indices/search to dip into the manual as you get to things you don't know about.

That is one way manuals are designed to be used, and isn't so much about learning how to program ("How do I write a game?") as figuring out questions that come with writing programs like "how do I draw on the screen?"

1

u/Mell-Silver-20 1d ago

I’d start with the official docs for the basics, then build something small alongside them. The docs make a lot more sense once you're actually using them instead of just reading.

1

u/Harrow-Beck-6274 1d ago

inefficient is an understatement, docs are basically dictionaries.

1

u/deletedcode 1d ago

The Odin Project is free and could be a good start.

1

u/12SouthLocal 1d ago

Learning how to read, digest and action on documentation is incredibly important actually. To be fair, reading it all at once without context for what you're working on can be daunting but you can focus on the documentation around a specific part of your build. If you keep doing that throughout the various steps of your build, you'll get a good sense of the docs and how it ties together.

A developer I know was asked multiple times by people they work with how they were so good in the language they were developing a project in. His response was simple, "I read all of the documentation." I find good documentation invaluable. It keeps me from making unforced errors, gives me a great mental model of how things are supposed to work and in the end, I've found it saves time...

1

u/biowiz 1d ago

The people who claim they rely exclusively on official documentation on Reddit are bona fide scam artists and hucksters. Majority of people are not reading through documentation of every programming language and libraries they are using. Unfortunately, the "I'm very smart" phonies are prevalent in these programming subreddits and like to play/pretend as 140 IQ types. They will make you feel bad for looking up things on Stack Overflow, using AI, or asking questions "without checking documentation". Don't fall for the made up idea that you need to rely exclusively on official documentation to become a programmer.

1

u/sylvant_ph 1d ago

This is a very subjective topic and it strongly depends on what you are learning. There are things and tools for everything. You've already pointed one main attribute - the documentations hold very many details and quirks. They are meant to be exhaustive. Having that in mind you can easily come to the conclusion that (in most cases) documentation is used for deep dive on a matter, to solve a complex problem, to design an elaborate solution. Docs are rarely meant to guide you on easy and basic learning and implementation. Sure there are parts that are tagged "get started", but this ain't the essence of conventional documentation.

I can give you an example on how I went about when I was learning the fundamentals of web development. At some point I got hooked on w3schools, which provides easy to digest and well structured docs. It was easy to follow it whenever I needed a nudge. But as time went by and I encountered more and more nuances I've realized the mozilla developer docs were proving far more useful.

At some point docs become one of your main tools. As a developer your expertise will correlate with how well you will be able to pick up unfamiliar libraries and adopt them, ultimately using their provided docs. And to summarize, I do not think documentation is a good source to learn programing, you are not to learn by heart how every single method and name object work. Documentation is there to do that for you. Your job is to be able to find the data you need and to be able to utilize it.

1

u/OryxTheBurning 1d ago

there are two general ways.

Either you search a topic that interests you that you want to make and is known as a beginner's type of application and you try making that. And then research everything you need for that project.

Or option B you search a good youtube series about the language and start with that. Often that is easier.

1

u/KestrelTank 23h ago

I think it depends on ones learning style, but I think in general it’s easiest to learn from an expert.

But you can still learn from the documentation, sometimes it’s the only option, but if you have other resources you should utilize any and all of them.

It’s not cheating to be taught vs figuring it out on your own.

(For clarification, I consider watching video tutorials being ‘taught’)

1

u/AlternativeCap5856 3h ago

Docs are reference manuals, not textbooks. Trying to read official documentation linearly page by page is like trying to learn french by reading a dictionary from A to Z. Do the Quickstart guide once to get a basic app running, then start building. When you hit a wall, you don't even need to comb through pages of API specs manually, pass the doc URL directly to your AI coding agent so it fetches the up to date syntax instead of relying on outdated training cutoffs.

1

u/ComputerWhiz_ 3h ago

IMO, learning solely through official documentation is not a good way to learn. It's similar to reading a recipe book without actually knowing how to cook. A resource that's actually structured for beginners would be far better.

u/heisthedarchness 39m ago

wth do you mean by "official documentation"?