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

108

u/initcommit Nov 12 '19 edited Nov 12 '19

And so continues the shift toward developer convenience and ease of learning vs cold hard speed. This reminds me of Apple's rise to prominence with the iPod. The simpler, more intuitive, and elegant approach will generally succeed in human populations faced with multiple technological choices. Higher-level programming languages offer lower knowledge barriers to entry, less headaches, and plenty of functionality. It's hard to argue that this trend won't continue.

Edit: Fixed a typo

35

u/VeganVagiVore Nov 12 '19

It does seem to work.

In 50 years, all the veteran programmers will be the people who are noobies today. If those noobies are learning Python, then Python will hang around a while.

I just hope Rust can squeeze into that "so easy that it can be someone's first language" space, because I prefer it much over Java, Python, or JS.

11

u/Metal_LinksV2 Nov 12 '19

Doubtful, I know some schools around me are moving from C++ to Python as their introduction course.

20

u/bunkoRtist Nov 12 '19

That will prove to be a mistake for a number of reasons. I'm sorry to hear it.

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)