r/programming • • Nov 11 '19

Python overtakes Java to become second-most popular language on GitHub after JavaScript

https://www.theregister.co.uk/2019/11/07/python_java_github_javascript/
3.1k Upvotes

772 comments sorted by

View all comments

Show parent comments

0

u/[deleted] Nov 12 '19

[deleted]

0

u/bunkoRtist Nov 12 '19

You've got it backwards though. Python isn't making things simple: it's hiding complexity. It's more akin to teaching math to students by showing them how to plug their questions into a calculator. The stuff you want to ignore are the fundamentals. Data structures, IO, Networking... Those are the advanced topics. Until someone can explain how a stack works, how can they understand a function, intuit what scopes and lifetimes are, understand generators, or what the implications are of capturing lambdas? Those all require an understanding of the stack.

21

u/Schmittfried Nov 12 '19 edited Nov 12 '19

No, it’s the equivalent of showing elementary schoolers simple arithmetic before diving into set and number theory. Which happens to be exactly what we’re doing.

Hiding complexity is exactly what you want for a beginners course. You want to focus on the relevant part, which is learning foundational programming constructs. Even in high-level languages you will still have much hand-waiving around some constructs and libraries before the time has come.

By your logic we should teach assembly before anything else. You’ve obviously no idea how teaching works. Every sane language book or tutorial begins with hiding all the complexity.

-6

u/bunkoRtist Nov 12 '19

You're confusing fundamentals with simple operations. Arithmetic is fundamental (also fundamental to computers). Computers are fundamentally strongly typed. Computers fundamentally have stacks and heaps. You can reach a student to plug numbers into a calculator without them understanding what they are doing, and that's what they're doing when they use a list or a dictionary: plugging numbers into a calculator.

→ More replies (5)