Hacker News new | ask | show | jobs
by koshak 4098 days ago
I learned programming from Pascal. It was at school.

Later on I was taught some C and x8086 assembly. I needed to forget Pascal. But I didn't get C.

Then I was introduced to OOP and C++ and was pissed off. I needed to forget procedural programming (at that time I didn't even know it was called that). But I didn't get it.

When I started to learn Python I dove deep in its OOP, data model, magic methods, functools, itertools, datatypes, any "writing idiomatic" and "top mistakes python programmers make" articles. When I didn't understand something (and it was a lot!), I walked to read theory about programming approaches, duck typing, functional programming, Guido disgusted by functional programming, difference and tragedy of py2/3 dichotomy, by the way learning a lot about programming, design patterns, computer science and history of all of that.

When I started all my knowledge about programming before learning python this way was just buzz words and almost no real experience.

But learning python this way - the hard way - allowed me to learn programming, its theoretical concepts. When I got stuck with something, I just hadn't move on till I understood everything the right way.

Where do you teach your readers to think right?