As in machine learning, just throwing a bunch of training data at my brain (in the form of complete, native sentences) way outperforms building a rule-based system to the point where I just don't bother learning any rules at all.
We do that as programmers as well: we get familiar with a syntax/grammar just enough so that we could get to reading source code, learning idioms to do things such as open a file, or make a request, or use a regex. The quick tutorial + cookbook works very well in programming.
This is one reason I lean towards Stephen Krashen's work on language acquisition, and his "input hypothesis"[0].
The way I learned every language was by consuming content that increased in complexity and variety. Patterns were acquired.